Fulfillment API
API change historyInitial Release
Create Order
Create a new order. Please note content-type is required although it shows optional
Try itRequest
Request URL
Request headers
-
string
Client specific ID, provided by ModusLink during the onboarding process
-
string
Client specific authentication key, provided by ModusLink during the onboarding process.
-
(optional)stringMedia type of the body sent to the API.
Request body
{
"clientRequest": {
"requestHeader": {
"externalMessageReference": "API_DEMOUS_1",
"client": "MLDEMOUS",
"requestReference": "API_DEMOUS_1",
"dateTimeSent": "2018-01-06T00:00:00 +00.00"
},
"order": {
"shipCourier": null,
"shipServiceLevel": "STD",
"shipServiceOption": null,
"incoTerms1": "CPT",
"incoTerms2": null,
"amount": [
{
"currencyISO3": "USD",
"amountType": "totalNet",
"value": "100.00"
},
{
"currencyISO3": "USD",
"amountType": "totalTax",
"value": "0.00"
},
{
"currencyISO3": "USD",
"amountType": "totalGross",
"value": "100.00"
}
],
"datetimeWantedDeliveryDate": "2018-03-12T13:18:37 +00.00",
"note": [
{
"noteType": "HEADERNOTE",
"value": "Test Note"
},
{
"noteType": "BLCOC",
"value": "Test Note 0012"
}
],
"dynamicField": [
{
"name": "EndUserReference",
"value": "Test123"
},
{
"name": "EndUserReference2",
"value": "123Test"
}
]
},
"payment": {
"paymentMethod": "Visa",
"entityId": "ff8080813e835e83013e8d2fb3da0472",
"transactionId": "8a82944a5fa67f48015fb56c5f603333",
"acquirerId": "123456",
"amount": [
{
"amountType": "capture",
"currencyISO3": "EUR",
"value": "100"
},
{
"currencyICO3": "EUR",
"amountType": "authorized",
"value": "100.00"
},
{
"currencyISO3": "EUR",
"amountType": "created",
"value": "100.00"
}
],
"status": "authorized",
"cardData": {
"holder": "Janet Smith",
"bin": "411111",
"last4digits": "1111",
"dateCardExpiry": "2021-12-01",
"dateAuthExpiry": "2018-06-01"
}
},
"partner": [
{
"partnerType": "BillTo",
"companyData": {
"name": "",
"phone": [
{
"phoneType": "office",
"value": "555123"
}
]
},
"personData": {
"firstName": "Janet",
"lastName": "Smith",
"fiscalId": "",
"phone": [
{
"phoneType": "home",
"value": "6175555555"
}
],
"email": [{
"emailType": "email",
"value": "janet_smith@company.com"
}],
"locale": "en-US"
},
"addressData": {
"address": [
{
"line": "1",
"value": "1601 Trapelo Rd Ste 170"
},
{
"line": "2",
"value": "apartment block 2"
}
],
"postalCode": "02451",
"city": "Waltham",
"state": "MA",
"countryISO2": "US"
}
},
{
"partnerType": "ShipTo",
"companyData": {
"name": "",
"phone": ""
},
"personData": {
"firstName": "Janet",
"lastName": "Smith",
"phone": [
{
"phoneType": "home",
"value": "6175555555"
}
],
"email": [{
"emailType": "email",
"value": "janet_smith@company.com"
}],
"locale": "en-US"
},
"addressData": {
"address": [
{
"line": "1",
"value": "1601 Trapelo Rd Ste 170"
},
{
"line": "2",
"value": "appartment block 2"
}
],
"postalCode": "02451",
"city": "Waltham",
"state": "MA",
"countryISO2": "US"
}
}
],
"item": [
{
"itemId": "1",
"clientItemRef": "",
"sku": "503001",
"quantity": {
"uom": "EA",
"value": "1"
},
"amount": [
{
"currencyISO3": "USD",
"amountType": "grossprice",
"value": "50.00"
},
{
"currencyISO3": "USD",
"amountType": "netprice",
"value": "50"
}
],
"taxLevel": "PHYSICAL",
"taxFactor": "1.000",
"pricing": "grossprice",
"localizedDescription": "Localised description",
"dynamicField": [
{
"name": "UNIT_PRICE",
"value": "50"
},
{
"name": "SkuDescription",
"value": "Sku Description"
}
]
}
]
}
}
{
"type": "object",
"description": "Provides information to create a new order",
"properties": {
"requestHeader": {
"type": "object",
"description": "Provides information to create/about a new order",
"properties": {
"requestType": {
"type": "string",
"description": "Not in request. Will be available only in response. Describes the type of request e.g. ORDERONLY, INVOICEONLY, ORDERINVOICE"
},
"requestStatus": {
"type": "string",
"description": "Not in request. Will be available only in response. The current status of the order.",
"enum": [
"created",
"received",
"creditblocked",
"cancelled",
"duplicate",
"errored",
"dplhold",
"released",
"reserved",
"shipped",
"invoiced",
"paid",
"confirmed"
]
},
"externalMessageReference": {
"type": "string",
"maxLength": 50,
"description": "REQUIRED in POST. Unique client order reference. Duplicates will NOT be rejected at ML order system. In response (GET) this will show in the requestControl, not in the requestHeader."
},
"client": {
"type": "string",
"maxLength": 40,
"description": "REQUIRED. Client Name, to be provided by Moduslink as part of onboarding "
},
"requestReference": {
"type": "string",
"maxLength": 50,
"description": "REQUIRED. Unique client order reference. Usually same as externalMessageReference, can be different. Duplicates will be rejected in ML order system."
},
"dateTimeSent": {
"type": "string",
"description": "Only in response: Date order was created. format yyyy-mm-ddT00:00:00 +00.00"
},
"dateTimeReceived": {
"type": "string",
"description": "Only in response: Date order was received in our system. format yyyy-mm-ddT00:00:00 +00.00"
},
"dateTimeConfirmed": {
"type": "string",
"description": "Only in response. Date order was confirmed in our system. format yyyy-mm-ddT00:00:00 +00.00"
},
"dateTimeShipped": {
"type": "string",
"description": "Only in response. Date order was confirmed in our system. format yyyy-mm-ddT00:00:00 +00.00 "
},
"dynamicField": {
"type": "array",
"description": "Only in response. Provides Client/Campaign/Program and Region information. Internal Moduslink configuration values",
"items": {
"type": "object",
"description": "Dynamic fields",
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"description": "REQUIRED. Name of the dynamic field max lenght 60"
},
"value": {
"type": "string",
"maxLength": 2000,
"description": "Value of the dynamic field max length 2000"
}
}
}
}
}
},
"order": {
"type": "object",
"description": "REQUIRED. The order object contains order related data",
"properties": {
"orderId": {
"type": "string",
"description": "In response only. The orderId in the Fulfilment system (SAP)"
},
"status": {
"type": "string",
"description": "In response only. current status of the order in the fulfilment system"
},
"shipCourier": {
"type": "string",
"description": "Carrier/Forwarder ID (DHL, DPD, UPS, etc)"
},
"shipServiceLevel": {
"type": "string",
"description": "REQUIRED. Shipping service level",
"enum": [
"STD",
"EXP",
"ECO",
"PUD"
]
},
"shipServiceOption": {
"type": "string",
"description": "Type of Shipping service (SG = Standard Ground, SD = Saturday Delivery, etc)"
},
"incoTerms1": {
"type": "string",
"description": "Delivery term (DAP, DPD, CPT, etc)"
},
"incoTerms2": {
"type": "string",
"description": "Information from Pack Slip (Destination city of the shipment, etc)"
},
"timeZone": {
"type": "string",
"description": "In response only. The offset to GMT e.g. +1 hrs"
},
"dateTimeWantedDeliveryDate": {
"type": "string",
"description": "Wanted DeliveryDate format yyyy-mm-ddT00:00:00 +00.00"
},
"dateTimeConfirmed": {
"type": "string",
"description": "In response only. The date the order was confirmed in our fulfilment system format yyyy-mm-ddT00:00:00 +00.00"
},
"dateTimeShipped": {
"type": "string",
"description": "In response only. The date the order was shipped in our fulfilment system format yyyy-mm-ddT00:00:00 +00.00"
},
"amount": {
"type": "array",
"items": {
"type": "object",
"description": "Amount Info e.g. the gross or nett price of the product format related to curreny. e,g, USD ##.## 50.00 YPN ## 50",
"properties": {
"currencyISO3": {
"type": "string",
"maxLength": 3,
"description": "ISO3 Currency Code"
},
"amountType": {
"type": "string",
"description": "Amount type",
"enum": [
"totalNet",
"totalTax",
"totalGross",
"authorized",
"netprice",
"grossprice",
"discount"
]
},
"value": {
"type": "string",
"description": "Amount Value"
}
}
}
},
"note": {
"type": "array",
"items": {
"type": "object",
"description": "Notes Info",
"properties": {
"noteType": {
"type": "string",
"maxLength": 20,
"description": "Type of the notes"
},
"value": {
"type": "string",
"maxLength": 4000,
"description": "Value of the notes"
}
}
}
},
"dynamicField": {
"type": "array",
"items": {
"type": "object",
"description": "Dynamic fields",
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"description": "REQUIRED. Name of the dynamic field max lenght 60"
},
"value": {
"type": "string",
"maxLength": 2000,
"description": "Value of the dynamic field max length 2000"
}
}
}
}
}
},
"partner": {
"type": "array",
"items": {
"type": "object",
"description": "REQUIRED. Used to provide Order BillTo and ShipTo info",
"properties": {
"partnerType": {
"type": "string",
"description": "REQUIRED. Partner type BillTo or ShipTo",
"enum": [
"BillTo",
"ShipTo"
]
},
"companyData": {
"type": "object",
"description": "Provides Company Data",
"properties": {
"name": {
"type": "string",
"maxLength": 70,
"description": "BillTo or Shipto Company name. Only required when Company"
},
"phone": {
"type": "array",
"items": {
"type": "object",
"description": "phone numbers",
"properties": {
"phoneType": {
"type": "string",
"description": "REQUIRED. BillTo/Ship to Person phone type (office, home). Type home is preferred option as this will be transferred into the order in the ERP system.",
"enum": [
"office",
"home"
]
},
"value": {
"type": "string",
"description": "REQUIRED. BillTo Person phone number"
}
}
}
},
"taxNumber": {
"type": "string",
"maxLength": 30,
"description": "Company VAT number"
}
}
},
"personData": {
"type": "object",
"description": "Provides Person Data",
"properties": {
"firstName": {
"type": "string",
"maxLength": 20,
"description": "REQUIRED. First Name"
},
"lastName": {
"type": "string",
"maxLength": 20,
"description": "REQUIRED.Last Name"
},
"phone": {
"type": "array",
"items": {
"type": "object",
"description": "phone numbers",
"properties": {
"phoneType": {
"type": "string",
"description": "REQUIRED. BillTo/Ship to Person phone type (office, home). Type home is preferred option as this will be transferred into the order in the ERP system.",
"enum": [
"office",
"home"
]
},
"value": {
"type": "string",
"description": "REQUIRED. BillTo Person phone number"
}
}
}
},
"email": {
"type": "array",
"description": "BillTo Person email",
"items": {
"type": "object",
"properties": {
"emailType": {
"type": "string",
"description": "REQUIRED. BillTo Person email ID. Type = email"
},
"value": {
"type": "string",
"maxLength": 200,
"description": "BillTo Person email address"
}
}
}
},
"locale": {
"type": "string",
"maxLength": 6,
"description": "BillTo Person language code (nl, en, fr, etc) and ISO 2 Country Code (US, NL, FR, etc)"
}
}
},
"addressData": {
"type": "object",
"properties": {
"address": {
"type": "array",
"items": {
"type": "object",
"description": "Address",
"properties": {
"line": {
"type": "string",
"description": "REQUIRED. Address - sequemtial Line number e.g. 1,2,3"
},
"value": {
"type": "string",
"maxLength": 40,
"description": "REQUIRED for line 1, Address Value, at least one address line is required"
}
}
}
},
"postalCode": {
"type": "string",
"maxLength": 10,
"description": "REQUIRED. PostalCode"
},
"city": {
"type": "string",
"maxLength": 40,
"description": "REQUIRED. City name"
},
"state": {
"type": "string",
"maxLength": 3,
"description": "REQUIRED for US, MX, CA and AU. Needs to be ISO2 state code (ISO_3166-2 )"
},
"countryISO2": {
"type": "string",
"maxLength": 2,
"description": "REQUIRED. ISO 2 Country Code (US, NL, FR, etc)"
}
}
}
}
}
},
"payment": {
"type": "object",
"description": "Provides info about Order payment.",
"properties": {
"paymentGatewayId": {
"type": "string",
"description": "Only in response: The gateway used e.g. payon"
},
"paymentMethod": {
"type": "string",
"maxLength": 30,
"enum": [
"AfterPay",
"AliPay",
"Amazon",
"Amex",
"Bancontact",
"CarteBleue",
"CashOnDelivery",
"Cheque",
"Consolidated",
"CreditCardPrePaid",
"Dankort",
"Debit",
"Diners",
"DirectDebit",
"Discover",
"FreeOfCharge",
"GiroPay",
"iDEAL",
"JCB",
"KlarnaInvoice",
"KlarnaSplitIt",
"MasterCard",
"MasterDebit",
"Meastro",
"PayPal",
"POS",
"Przelewy24",
"SepaDirectDebit",
"SofortUeberweisung",
"Splitit",
"Terms_0",
"Terms_15",
"Terms_30",
"Terms_45",
"Terms_60",
"Terms_61",
"Terms_70",
"Terms_90",
"Visa",
"VisaDebit",
"VisaElectron",
"WireTransfer"
],
"description": "Order payment method required only when payment is included in order"
},
"entityID": {
"type": "string",
"maxLength": 50,
"description": "Payment Transaction Channel ID Required only when payment is included in order"
},
"transactionID": {
"type": "string",
"maxLength": 50,
"description": "Payment Transaction ID Required only when payment is included in order. UniqueID returned by payment system."
},
"acquireID": {
"type": "string",
"maxLength": 40,
"description": "Payment Transaction Authorization number Required only when payment is included in order. returned by payment system"
},
"amount": {
"type": "array",
"items": {
"type": "object",
"description": "Amount Info e.g. the gross or nett price of the product format related to curreny. e,g, USD ##.## 50.00 YPN ## 50",
"properties": {
"currencyISO3": {
"type": "string",
"maxLength": 3,
"description": "ISO3 Currency Code"
},
"amountType": {
"type": "string",
"description": "Amount type",
"enum": [
"totalNet",
"totalTax",
"totalGross",
"authorized",
"netprice",
"grossprice",
"discount"
]
},
"value": {
"type": "string",
"description": "Amount Value"
}
}
}
},
"status": {
"type": "string",
"description": "REQUIRED if ML is payment is included and handled by ML. Order payment status (captured, authorized, paid, etc)"
},
"cardData": {
"type": "object",
"description": "REQUIRED only if ML is processing credit card data. Provides card holder details e.g. not required for PayPal.",
"properties": {
"holder": {
"type": "string",
"maxLength": 70,
"description": "REQUIRED if ML is processing credit card data. Provides card holder name"
},
"bin": {
"type": "string",
"maxLength": 6,
"description": "REQUIRED if ML is processing credit card data. Provides card holder bin"
},
"last4digits": {
"type": "string",
"maxLength": 4,
"description": "REQUIRED if ML is processing credit card data. Last 4 Digits of Card"
},
"dateCardExpiry": {
"type": "string",
"description": "REQUIRED if ML is processing credit card data. Credit Card Expiry date. format: yyyy-mm-dd "
},
"dateAuthExpiry": {
"type": "string",
"description": "REQUIRED if ML is processing credit card data. Authorization Expiry Date. date format: yyyy-mm-dd"
}
}
}
}
},
"item": {
"type": "array",
"items": {
"type": "object",
"description": "Items are REQUIRED. holds Order line/item info, replicate for each item",
"properties": {
"itemId": {
"type": "string",
"description": "REQUIRED: The line number of the item sequential number 1,2,3.."
},
"clientItemRef": {
"type": "string",
"description": "Order line number from client e.g. client line reference for the item"
},
"sku": {
"type": "string",
"maxLength": 18,
"description": "REQUIRED. Item sales product number/partnumber"
},
"quantity": {
"type": "object",
"description": "REQUIRED. Item Quantity info",
"properties": {
"uom": {
"type": "string",
"description": "REQUIRED. Item unit of measure (EA, BX, CS)"
},
"value": {
"type": "string",
"description": "REQUIRED. Numeric value"
}
}
},
"amount": {
"type": "array",
"items": {
"type": "object",
"description": "Amount Info e.g. the gross or nett price of the product format related to curreny. e,g, USD ##.## 50.00 YPN ## 50",
"properties": {
"currencyISO3": {
"type": "string",
"maxLength": 3,
"description": "ISO3 Currency Code"
},
"amountType": {
"type": "string",
"description": "Amount type",
"enum": [
"totalNet",
"totalTax",
"totalGross",
"authorized",
"netprice",
"grossprice",
"discount"
]
},
"value": {
"type": "string",
"description": "Amount Value"
}
}
}
},
"dateTimeCreated": {
"type": "string",
"description": "only in response date created, format yyyy-mm-yyThh:mm:ss +00.00"
},
"dateTimeShipped": {
"type": "string",
"description": "Only in response and when available. The date of shipment format yyyy-mm-yyThh:mm:ss +00.00"
},
"taxLevel": {
"type": "string",
"maxLength": 30,
"description": "Tax level, e.g. HIGH. LOW, EXEMPT, MED, PHYSICAL, WARRANTY, SERVICE"
},
"taxFactor": {
"type": "string",
"maxLength": 30,
"description": "In request, VAT factor. optional. the VAT factor applied based on VAT percentage e.g. 20% becomes 1.20. In the response this will come back as dynamicField VAT_FACTOR"
},
"pricing": {
"type": "string",
"description": "In request. The pricing structure e.g. netpricing or grosspricing"
},
"localizedDescription": {
"type": "string",
"maxLength": 40,
"description": "Optional. Item description in local language"
},
"dynamicField": {
"type": "array",
"items": {
"type": "object",
"description": "Dynamic fields",
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"description": "REQUIRED. Name of the dynamic field max lenght 60"
},
"value": {
"type": "string",
"maxLength": 2000,
"description": "Value of the dynamic field max length 2000"
}
}
}
}
}
}
}
},
"example": "{\n \"clientRequest\": {\n \"requestHeader\": {\n \"externalMessageReference\": \"API_DEMOUS_1\",\n \"client\": \"MLDEMOUS\",\n \"requestReference\": \"API_DEMOUS_1\",\n \"dateTimeSent\": \"2018-01-06T00:00:00 +00.00\"\n },\n \"order\": {\n \"shipCourier\": null,\n \"shipServiceLevel\": \"STD\",\n \"shipServiceOption\": null,\n \"incoTerms1\": \"CPT\",\n \"incoTerms2\": null,\n \"amount\": [\n {\n \"currencyISO3\": \"USD\",\n \"amountType\": \"totalNet\",\n \"value\": \"100.00\"\n },\n {\n \"currencyISO3\": \"USD\",\n \"amountType\": \"totalTax\",\n \"value\": \"0.00\"\n },\n {\n \"currencyISO3\": \"USD\",\n \"amountType\": \"totalGross\",\n \"value\": \"100.00\"\n }\n ],\n \"datetimeWantedDeliveryDate\": \"2018-03-12T13:18:37 +00.00\",\n \"note\": [\n {\n \"noteType\": \"HEADERNOTE\",\n \"value\": \"Test Note\"\n },\n {\n \"noteType\": \"BLCOC\",\n \"value\": \"Test Note 0012\"\n }\n ],\n \"dynamicField\": [\n {\n \"name\": \"EndUserReference\",\n \"value\": \"Test123\"\n },\n {\n \"name\": \"EndUserReference2\",\n \"value\": \"123Test\"\n }\n ]\n },\n \"payment\": {\n \"paymentMethod\": \"Visa\",\n \"entityId\": \"ff8080813e835e83013e8d2fb3da0472\",\n \"transactionId\": \"8a82944a5fa67f48015fb56c5f603333\",\n \"acquirerId\": \"123456\",\n \"amount\": [\n {\n \"amountType\": \"capture\",\n \"currencyISO3\": \"EUR\",\n \"value\": \"100\"\n },\n {\n \"currencyICO3\": \"EUR\",\n \"amountType\": \"authorized\",\n \"value\": \"100.00\"\n },\n {\n \"currencyISO3\": \"EUR\",\n \"amountType\": \"created\",\n \"value\": \"100.00\"\n }\n ],\n \"status\": \"authorized\",\n \"cardData\": {\n \"holder\": \"Janet Smith\",\n \"bin\": \"411111\",\n \"last4digits\": \"1111\",\n \"dateCardExpiry\": \"2021-12-01\",\n \"dateAuthExpiry\": \"2018-06-01\"\n }\n },\n \"partner\": [\n {\n \"partnerType\": \"BillTo\",\n \"companyData\": {\n \"name\": \"\",\n \"phone\": [\n {\n \"phoneType\": \"office\",\n \"value\": \"555123\"\n }\n ]\n },\n \"personData\": {\n \"firstName\": \"Janet\",\n \"lastName\": \"Smith\",\n \"fiscalId\": \"\",\n \"phone\": [\n {\n \"phoneType\": \"home\",\n \"value\": \"6175555555\"\n }\n ],\n \"email\": [{\n \"emailType\": \"email\",\n \"value\": \"janet_smith@company.com\"\n }],\n \"locale\": \"en-US\"\n },\n \"addressData\": {\n \"address\": [\n {\n \"line\": \"1\",\n \"value\": \"1601 Trapelo Rd Ste 170\"\n },\n {\n \"line\": \"2\",\n \"value\": \"apartment block 2\"\n }\n ],\n \"postalCode\": \"02451\",\n \"city\": \"Waltham\",\n \"state\": \"MA\",\n \"countryISO2\": \"US\"\n }\n },\n {\n \"partnerType\": \"ShipTo\",\n \"companyData\": {\n \"name\": \"\",\n \"phone\": \"\"\n },\n \"personData\": {\n \"firstName\": \"Janet\",\n \"lastName\": \"Smith\",\n \"phone\": [\n {\n \"phoneType\": \"home\",\n \"value\": \"6175555555\"\n }\n ],\n \"email\": [{\n \"emailType\": \"email\",\n \"value\": \"janet_smith@company.com\"\n }],\n \"locale\": \"en-US\"\n },\n \"addressData\": {\n \"address\": [\n {\n \"line\": \"1\",\n \"value\": \"1601 Trapelo Rd Ste 170\"\n },\n {\n \"line\": \"2\",\n \"value\": \"appartment block 2\"\n }\n ],\n \"postalCode\": \"02451\",\n \"city\": \"Waltham\",\n \"state\": \"MA\",\n \"countryISO2\": \"US\"\n }\n }\n ],\n \"item\": [\n {\n \"itemId\": \"1\",\n \"clientItemRef\": \"\",\n \"sku\": \"503001\",\n \"quantity\": {\n \"uom\": \"EA\",\n \"value\": \"1\"\n },\n \"amount\": [\n {\n \"currencyISO3\": \"USD\",\n \"amountType\": \"grossprice\",\n \"value\": \"50.00\"\n },\n {\n \"currencyISO3\": \"USD\",\n \"amountType\": \"netprice\",\n \"value\": \"50\"\n }\n ],\n \"taxLevel\": \"PHYSICAL\",\n \"taxFactor\": \"1.000\",\n \"pricing\": \"grossprice\",\n \"localizedDescription\": \"Localised description\",\n \"dynamicField\": [\n {\n \"name\": \"UNIT_PRICE\",\n \"value\": \"50\"\n },\n {\n \"name\": \"SkuDescription\",\n \"value\": \"Sku Description\"\n }\n ]\n }\n ]\n }\n}"
}
Responses
200 OK
Transaction was received
Representations
{
"result": true,
"errorCode": "string",
"errorMessage": "string"
}
{
"type": "object",
"properties": {
"result": {
"type": "string",
"description": "result of order create",
"enum": [
true,
false
]
},
"errorCode": {
"type": "string",
"description": "If not successful the error code. null if successfull"
},
"errorMessage": {
"type": "string",
"description": "If not successful the error message. null if successfull"
}
}
}
401 Unauthorized
invalid authentication
Representations
{
"statusCode": "401",
"message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
}
{
"type": "object",
"properties": {
"statusCode": {
"type": "string",
"description": "the error code",
"example": "401"
},
"message": {
"type": "string",
"description": "the error message",
"example": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
}
}
}
500 Internal Server Error
Server Error
Representations
{
"statusCode": "500",
"activityId": "d25eb365-3da2-48ff-b907-1754166f5947",
"message": "Internal server error"
}
{
"type": "object",
"properties": {
"statusCode": {
"type": "string",
"description": "result of order create",
"example": "500"
},
"activityId": {
"type": "string",
"description": "If not successful the internal activity ID",
"example": "d25eb365-3da2-48ff-b907-1754166f5947"
},
"message": {
"type": "string",
"description": "If not successful the error message. null if successfull",
"example": "Internal server error"
}
}
}
Code samples
@ECHO OFF
curl -v -X POST "https://api-uat.moduslink.com/fulfillmentapi/v1/orders"
-H "ClientConfigId: 118"
-H "ClientAuthKey: 5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D"
-H "Content-Type: application/json"
-H "Ocp-Apim-Subscription-Key: {subscription key}"
--data-ascii "{body}"
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
namespace CSHttpClientSample
{
static class Program
{
static void Main()
{
MakeRequest();
Console.WriteLine("Hit ENTER to exit...");
Console.ReadLine();
}
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("ClientConfigId", "118");
client.DefaultRequestHeaders.Add("ClientAuthKey", "5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D");
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}");
var uri = "https://api-uat.moduslink.com/fulfillmentapi/v1/orders?" + queryString;
HttpResponseMessage response;
// Request body
byte[] byteData = Encoding.UTF8.GetBytes("{body}");
using (var content = new ByteArrayContent(byteData))
{
content.Headers.ContentType = new MediaTypeHeaderValue("< your content type, i.e. application/json >");
response = await client.PostAsync(uri, content);
}
}
}
}
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class JavaSample
{
public static void main(String[] args)
{
HttpClient httpclient = HttpClients.createDefault();
try
{
URIBuilder builder = new URIBuilder("https://api-uat.moduslink.com/fulfillmentapi/v1/orders");
URI uri = builder.build();
HttpPost request = new HttpPost(uri);
request.setHeader("ClientConfigId", "118");
request.setHeader("ClientAuthKey", "5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D");
request.setHeader("Content-Type", "application/json");
request.setHeader("Ocp-Apim-Subscription-Key", "{subscription key}");
// Request body
StringEntity reqEntity = new StringEntity("{body}");
request.setEntity(reqEntity);
HttpResponse response = httpclient.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null)
{
System.out.println(EntityUtils.toString(entity));
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function() {
var params = {
// Request parameters
};
$.ajax({
url: "https://api-uat.moduslink.com/fulfillmentapi/v1/orders?" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("ClientConfigId","118");
xhrObj.setRequestHeader("ClientAuthKey","5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D");
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{subscription key}");
},
type: "POST",
// Request body
data: "{body}",
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString* path = @"https://api-uat.moduslink.com/fulfillmentapi/v1/orders";
NSArray* array = @[
// Request parameters
@"entities=true",
];
NSString* string = [array componentsJoinedByString:@"&"];
path = [path stringByAppendingFormat:@"?%@", string];
NSLog(@"%@", path);
NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
[_request setHTTPMethod:@"POST"];
// Request headers
[_request setValue:@"118" forHTTPHeaderField:@"ClientConfigId"];
[_request setValue:@"5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D" forHTTPHeaderField:@"ClientAuthKey"];
[_request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[_request setValue:@"{subscription key}" forHTTPHeaderField:@"Ocp-Apim-Subscription-Key"];
// Request body
[_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
NSURLResponse *response = nil;
NSError *error = nil;
NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];
if (nil != error)
{
NSLog(@"Error: %@", error);
}
else
{
NSError* error = nil;
NSMutableDictionary* json = nil;
NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
if (nil != _connectionData)
{
json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
}
if (error || !json)
{
NSLog(@"Could not parse loaded json with error:%@", error);
}
NSLog(@"%@", json);
_connectionData = nil;
}
[pool drain];
return 0;
}
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';
$request = new Http_Request2('https://api-uat.moduslink.com/fulfillmentapi/v1/orders');
$url = $request->getUrl();
$headers = array(
// Request headers
'ClientConfigId' => '118',
'ClientAuthKey' => '5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D',
'Content-Type' => 'application/json',
'Ocp-Apim-Subscription-Key' => '{subscription key}',
);
$request->setHeader($headers);
$parameters = array(
// Request parameters
);
$url->setQueryVariables($parameters);
$request->setMethod(HTTP_Request2::METHOD_POST);
// Request body
$request->setBody("{body}");
try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}
?>
########### Python 2.7 #############
import httplib, urllib, base64
headers = {
# Request headers
'ClientConfigId': '118',
'ClientAuthKey': '5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D',
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': '{subscription key}',
}
params = urllib.urlencode({
})
try:
conn = httplib.HTTPSConnection('api-uat.moduslink.com')
conn.request("POST", "/fulfillmentapi/v1/orders?%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64
headers = {
# Request headers
'ClientConfigId': '118',
'ClientAuthKey': '5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D',
'Content-Type': 'application/json',
'Ocp-Apim-Subscription-Key': '{subscription key}',
}
params = urllib.parse.urlencode({
})
try:
conn = http.client.HTTPSConnection('api-uat.moduslink.com')
conn.request("POST", "/fulfillmentapi/v1/orders?%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
require 'net/http'
uri = URI('https://api-uat.moduslink.com/fulfillmentapi/v1/orders')
request = Net::HTTP::Post.new(uri.request_uri)
# Request headers
request['ClientConfigId'] = '118'
# Request headers
request['ClientAuthKey'] = '5C0FDFDE-B714-42AE-BF4B-EB5E1409C53D'
# Request headers
request['Content-Type'] = 'application/json'
# Request headers
request['Ocp-Apim-Subscription-Key'] = '{subscription key}'
# Request body
request.body = "{body}"
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body