Orders
Use the Orders API to create, retrieve, update, and cancel orders. An order includes order lines, shipping details, documents, and optional metadata. This page describes the models and endpoints to manage the order lifecycle.
Guide: Quick Ship Orders (Sandbox)
UI only – not API
This is a UI guide, not an API flow. Read: Quick Ship Orders (Sandbox).
The order model
Properties
- Name
id
- Type
- string
- Readonly
- readonly
- Description
- Name
reference
- Type
- string
- Readonly
- readonly
- Description
- Name
external_id
- Type
- string
- Description
- A unique identifier for the order, usually coming from the webshop.
- Name
external_reference
- Type
- string
- Description
- Name
customer
- Type
- uuid
- Description
- Name
po_number
- Type
- string
- Description
- If provided, this is printed on the pickup label instead of external_reference.
- Name
order_lines
- Type
- array of order lines
- Description
- Name
documents
- Type
- array of documents
- Description
- Name
requested_delivery_date
- Type
- date
- Description
- Name
status
- Type
- string
- Readonly
- readonly
- Description
- Possible statuses: planned | plannable | invalid_address | backorder | cancelled | created | on_hold | partially_shipped | processing | shipped | problem | awaiting_documents | restock | shipment_waiting_for_ewh | invalid
- Name
partial_delivery
- Type
- string
- Readonly
- readonly
- Description
- Name
business_to_business
- Type
- boolean
- Readonly
- readonly
- Description
- Name
shipping_method
- Type
- ShippingMethod
- Description
- Name
shipping_email
- Type
- string
- Description
- Name
shipping_address
- Type
- ShippingAddress
- Description
Compliance details
- Name
incoterms
- Type
- string
- Description
- Options: DAP | DDP
- Name
ioss_number
- Type
- string
- Description
- IOSS (Import One-Stop Shop) number of the sender
- Name
eori_number
- Type
- string
- Description
- EORI number of the sender
- Name
vat_number
- Type
- string
- Description
- VAT number of the sender
- Name
inbound_vat_number
- Type
- string
- Description
- GB VAT number — needed for shipments from Europe to GB
- Name
inbound_eori_number
- Type
- string
- Description
- GB EORI number — needed for shipments from Europe to GB
Financials
- Name
order_amount
- Type
- integer
- Description
- Value of order in cents
- Name
assured_amount
- Type
- integer
- Description
- Name
currency
- Type
- string
- Description
Notes and language
- Name
note
- Type
- string
- Description
- Name
customer_note
- Type
- string
- Description
- Name
language
- Type
- string
- Description
Meta data
- Name
meta_data
- Type
- array
- Description
- An object of key-value pairs. Keys must be lowercase; use _ or - as separators. Empty values are filtered out. See The meta data model below for expand behavior and merging rules.
The order line model
Properties
- Name
variant
- Type
- Variant
- Description
The resolved variant object (matched from the article_code provided in the request)
- Name
quantity
- Type
- integer
- Description
- Name
processed
- Type
- integer
- Description
- Name
packing_slip
- Type
- integer
- Description
- Name
meta_data
- Type
- array
- Description
An object of key-value pairs. Keys must be lowercase; use _ or - as separators. Retrieve all available metadata that are associated with this order line. Metadata is a valuable tool for making your order management more flexible and insightful. Metadata allows you to customize your order data to suit your unique business requirements.
The shipping address model
Properties
- Name
addressed_to
- Type
- string
- Description
- Max Length
- Limited to 100 characters
- Name
contact_person
- Type
- string
- Description
- Max Length
- Limited to 100 characters
- Name
street
- Type
- string
- Description
- Max Length
- Limited to 100 characters
- Name
street2
- Type
- string
- Description
- Max Length
- Limited to 100 characters
- Name
street_number
- Type
- string
- Description
- Max Length
- Limited to 10 characters
- Name
street_number_addition
- Type
- string
- Description
- Max Length
- Limited to 10 characters
- Name
zipcode
- Type
- string
- Description
- Name
city
- Type
- string
- Description
- Max Length
- Limited to 100 characters
- Name
country
- Type
- string
- Description
- Name
state
- Type
- string
- Description
- Max Length
- Limited to 100 characters
- Name
phone_number
- Type
- string
- Description
- Name
mobile_number
- Type
- string
- Description
- Name
fax_number
- Type
- string
- Description
- Name
email_address
- Type
- string
- Description
The document model
Properties
- Name
file
- Type
- string
- Description
A base64 encoded string of the document.
- Name
title
- Type
- string
- Description
- Name
mime_type
- Type
- string
- Readonly
- readonly
- Description
- Name
quantity
- Type
- integer
- Description
Amount of times it will be printed
- Name
is_shipping_label
- Type
- boolean
- Description
- Name
order_price
- Type
- integer
- Description
The meta data model
Meta data is available for both order and order lines. Make sure you add 'meta_data' within the expand header
Expanding responses
New to the Expand header? See how it works, available groups, and request examples: Expanding responses.
Metadata keys
Keys must be lowercase; use _ or - as separators.Merging order lines
We will throw an error when identical order lines are being merged and each line consists of meta_dataProperties
- Name
{key: value}
- Type
- object
- Description
An object of key-value pairs.
Example
[
{
"meta_data": {
"external_order_id": "5502369235240",
"foo": "dev"
}
}
]
List all orders
Retrieves a collection of orders
Optional attributes
- Name
reference
- Type
- string
- Description
Search for a specific reference.
- Name
external_reference
- Type
- string
- Description
Search for a specific external reference.
- Name
external_id
- Type
- string
- Description
Search for a specific external id.
- Name
status
- Type
- string
- Description
Search for a specific status.
- Name
is_business_to_business
- Type
- boolean
- Description
- Name
requested_delivery_date_gte
- Type
- string
- Description
Accepts date format Y-m-d. IE: 2022-10-22
- Name
limit
- Type
- integer
- Description
- Limits the amount of results.
- Name
page
- Type
- integer
- Description
- Only works in combination with the limit attribute.
- Name
from
- Type
- date
- Description
- Accepts date format %Y-%m-%d. IE: 2022-10-22
- Name
to
- Type
- date
- Description
- Accepts date format %Y-%m-%d. IE: 2022-10-22
- Name
direction
- Type
- string
- Description
- Sort direction. Options: asc | desc
- Default
- Default: desc
- Name
sort
- Type
- string
- Description
- You can sort on the following fields:
- createdAt
- status
- modifiedAt
- requestedDeliveryDate
- Default
- Default: createdAt
Request
curl https://eu-dev.middleware.ewarehousing-solutions.com/wms/orders/
Response
[
{
"id": "f9c392ac-6335-4828-85e2-fae7f82ff636",
"created_at": "2021-11-12T14:05:43+00:00",
"requested_delivery_date": "2018-11-19T00:00:00+00:00",
"customer": "be62c27e-2aac-4ac1-902e-f770d64f8dce",
"external_reference": "1636725940",
"po_number": "841612",
"reference": "ORD00000000001",
"status": "backorder",
"business_to_business": true,
"applied_business_rules": false,
"partial_delivery": false,
"language": null,
"note": "Testorder",
"customer_note": "Pleaserushthisorder",
"order_amount": null,
"assured_amount": null,
"inco_terms": null,
"shipping_method": null,
"currency": null
}
]
Retrieve an order
Retrieve a single order.
Request
curl https://eu-dev.middleware.ewarehousing-solutions.com/wms/orders/e710389a-5505-49d4-9b99-8314f3543427
Response
{
"id": "c9165f93-8301-4aaa-9f64-27f191c0c778",
"created_at": "2022-02-11T09:32:12+00:00",
"customer": "be62c27e-2aac-4ac1-902e-f770d64f8dce",
"external_reference": "1644571933",
"po_number": "841612",
"reference": "ORD00000003029",
"status": "created",
"business_to_business": true,
"applied_business_rules": null,
"partial_delivery": false,
"language": null,
"note": "Testorder",
"customer_note": "Pleaserushthisorder",
"shipping_method": null,
"shipping_address": {
"addressed_to": "eWarehousing Solutions",
"contact_person": null,
"street": "Nijverheidsweg",
"street2": null,
"street_number": "27",
"street_number_addition": null,
"zipcode": "3331MB",
"city": "Zwijndrecht",
"country": "NL",
"state": "ZH",
"phone_number": "0102202863",
"mobile_number": null,
"fax_number": null,
"email_address": null
},
"order_lines": [
{
"variant": {
"id": "87557e7a-4f4d-44eb-bbf1-c9d83df90099",
"article_code": "default_variant_b_id",
"name": "default_variant_b_id",
"description": null,
"ean": "default_variant_b_id",
"sku": "default_variant_b_id",
"hs_tariff_code": null,
"height": null,
"depth": null,
"width": null,
"weight": null,
"expirable": false,
"country_of_origin": null,
"using_serial_numbers": false,
"value": 0
},
"quantity": 7,
"description": "Voorbeeldproduct-B"
},
{
"variant": {
"id": "1e19da60-4d2b-4c15-8f4e-8978f6113c00",
"article_code": "default_variant_a_id",
"name": "default_variant_a_id",
"description": null,
"ean": "default_variant_a_id",
"sku": "default_variant_a_id",
"hs_tariff_code": null,
"height": null,
"depth": null,
"width": null,
"weight": null,
"expirable": false,
"country_of_origin": null,
"using_serial_numbers": false,
"value": 0
},
"quantity": 15,
"description": "Voorbeeldproduct-A"
}
]
}
Create an order
This endpoint allows you to add a new order
Required attributes
- Name
customer
- Type
- uuid
- Description
- Name
order_lines
- Type
- array of order lines
- Description
- Name
requested_delivery_date
- Type
- date
- Description
- Name
external_reference
- Type
- string
- Description
- Name
shipping_method
- Type
- uuid
- Description
- Name
shipping_address
- Type
- ShippingAddress
- Description
Order line attributes (request)
- Name
article_code
- Type
- string
- Description
Universal identifier that matches against variant article_code, EAN, or SKU to identify the variant. The API will resolve this to a variant object in the response.
- Name
quantity
- Type
- integer
- Description
- Name
description
- Type
- string
- Description
- Name
meta_data
- Type
- array
- Description
Request vs response
You send article_code
in order line requests, but the API returns resolved variant
objects in the response. The article_code
is used to match and identify the appropriate variant.
Optional attributes
- Name
external_id
- Type
- string
- Description
A unique identifier for the order, usually coming from the webshop.
- Name
po_number
- Type
- string
- Description
- Name
shipping_email
- Type
- string
- Description
- Name
documents
- Type
- array of documents
- Description
- Name
ioss_number
- Type
- string
- Description
IOSS(Import One-Stop Shop) number of the sender
- Name
eori_number
- Type
- string
- Description
EORI number of the sender
- Name
vat_number
- Type
- string
- Description
VAT number of the sender
- Name
inbound_vat_number
- Type
- string
- Description
GB VAT number - needed for shipments from Europe to GB
- Name
inbound_eori_number
- Type
- string
- Description
GB EORI number - needed for shipments from Europe to GB
- Name
meta_data
- Type
- array
- Description
- Name
language
- Type
- string
- Description
- Name
note
- Type
- string
- Description
- Name
customer_note
- Type
- string
- Description
- Name
order_amount
- Type
- integer
- Description
Value of order in cents
- Name
assured_amount
- Type
- integer
- Description
- Name
incoterms
- Type
- string
- Description
Options: DAP | DDP
- Name
currency
- Type
- string
- Description
Request
curl -X POST 'https://eu-dev.middleware.ewarehousing-solutions.com/wms/orders/' \
-H 'Content-Type: application/json' \
--data-raw '{
"external_reference": "1560520952",
"po_number": "841612",
"note": "Note for this order",
"requested_delivery_date": "2018-11-14",
"order_lines": [
{
"quantity": 30,
"article_code": "VBP_C",
"description": "Order line A"
},
{
"quantity": 20,
"article_code": "VBP_B",
"description": "Order line B"
}
],
"shipping_address": {
"city": "Heinenoord",
"state": null,
"street": "Nijverheidsweg",
"country": "NL",
"street2": null,
"zipcode": "3274 KJ",
"fax_number": null,
"addressed_to": "John",
"phone_number": "+31 (0)18 – 66 12 267",
"mobile_number": null,
"street_number": 27,
"street_number_addition": null
}
}'
Response
{
"id": "8faf6cd6-28e7-4e44-a258-4e927d8e680c",
"created_at": "2023-05-01T13:25:42+00:00",
"requested_delivery_date": "2018-11-14T00:00:00+00:00",
"customer": "7239a373-ac8c-4c9e-9b78-994ace312227",
"external_reference": "1560520952",
"po_number": "841612",
"external_id": null,
"reference": "ORD00000005939",
"status": "created",
"business_to_business": false,
"applied_business_rules": false,
"partial_delivery": false,
"language": null,
"note": "Note for this order",
"customer_note": null,
"order_amount": null,
"assured_amount": null,
"inco_terms": null,
"shipping_method": "a299249a-b2cd-4666-a6e5-77d3e1156a22",
"currency": null
}
Update an order
This endpoint allows you to perform an update on an order.
Updating lines overwrites
Updating the order_lines will delete the previous order lines.
Order line attributes (request)
When updating order lines, use the same format as creating orders:
- Name
article_code
- Type
- string
- Description
Universal identifier that matches against variant article_code, EAN, or SKU to identify the variant.
- Name
quantity
- Type
- integer
- Description
- Name
description
- Type
- string
- Description
- Name
meta_data
- Type
- array
- Description
Optional attributes
- Name
order_lines
- Type
- array of order lines
- Description
- Name
shipping_email
- Type
- string
- Description
- Name
requested_delivery_date
- Type
- date
- Description
- Name
shipping_method
- Type
- ShippingMethod
- Description
- Name
shipping_address
- Type
- ShippingAddress
- Description
- Name
documents
- Type
- array of documents
- Description
- Name
meta_data
- Type
- array
- Description
- Name
language
- Type
- string
- Description
- Name
note
- Type
- string
- Description
- Name
customer_note
- Type
- string
- Description
- Name
order_amount
- Type
- integer
- Description
Value of order in cents
- Name
assured_amount
- Type
- integer
- Description
- Name
incoterms
- Type
- string
- Description
Options: DAP | DDP
- Name
currency
- Type
- string
- Description
Request
curl -X PATCH https://eu-dev.middleware.ewarehousing-solutions.com/wms/orders/774bf6ee-90cf-11e9-b36d-0242ac120005/ \
--data-raw '{
"note": "updated order --123---",
"order_lines": [
{
"article_code": "papier123",
"description": "updated all orderlines, only this is the required item",
"quantity": 1337
}
]
}'
Response
{
"id": "4fdb3055-4b1d-4352-96d5-2a89f9f50680",
"customer": "be62c27e-2aac-4ac1-902e-f770d64f8dce",
"created_at": "2022-10-27T13:14:45+00:00",
"reference": "INB00000000272",
"external_reference": "PO-1569",
"po_number": "841612",
"status": "announced",
"order_date": "2022-12-30T00:00:00+00:00",
"note": "Update Note",
"order_lines": [
{
"variant": {
"id": "5060691c-2812-48e2-bd07-82ff3fd19382"
},
"quantity": 30,
"processed": null,
"packing_slip": 30
},
{
"variant": {
"id": "b04f5233-9980-4307-bb20-bc7460b49933"
},
"quantity": 20,
"processed": null,
"packing_slip": 20
}
]
}
Cancel an order
This endpoint allows you to perform cancel an order.
The order can only be canceled while the order's status is one of:
- created
- planned
- invalid_address
- backorder
- on_hold
- restock
- planned
- processing
- invalid
Request
curl -X PATCH https://eu-dev.middleware.ewarehousing-solutions.com/wms/orders/774bf6ee-90cf-11e9-b36d-0242ac120005/cancel/
List all order documents
List all order documents.
Also see
Use the generic Documents resource to retrieve documents by ID.
Request
curl https://eu-dev.middleware.ewarehousing-solutions.com/wms/orders/184c47d4-d3ee-4412-b156-ce5a4518d641/documents/
Response
[
{
"id": "8067cdfb-cb22-4490-902d-a9863f38f76f",
"title": "customs_file_en.pdf",
"mime_type": "application/pdf",
"created_at": "2022-10-27T14:16:57+00:00",
"quantity": 1,
"url": "https://storage.googleapis.com/storage/documents/order/1e57a747-46e4-4c4f-89d9-80b82e7c9f27/64c7c9d35a13b.pdf?GoogleAccessId=test-780%40wms-development-355515.iam.gserviceaccount.com&Expires=1690818531&Signature=aB30S0PfR3Qf2TtFAAt8AxHUCt%2FXfUXaQoYl7F3y%2BPVrG70O3FkYpomAKhs0dYMG%2FCBylveCw3FtqJImbvcKhOn7gvAMa4zPLKywvXYpjmuxnTqvwz2ZSe%2BfS6BL%2B9Bwy4ayZgEmxA7c6L3MkjPilhP%2BR0P61YPZRuhYMBeOlFbjiTNK6HzIXw6tT6vkx%2BkKss4%2BOctV%2BnaN%2FYn93f4LVUrnHyXSgI1nYVp7jondrg26%2FvACgKZdBj6fVJSXTtvoj%2FQYhc6tFrKAdG9dkCB2lcjiZSiYxdeI4r5D6jZ8pYC5f6ZXRDKXnJrq9SHzD3Td%2FR2ojEen%2FqbAJheG3sNVBg%3D%3D",
"is_shipping_label": false,
"order_price": null
},
{
"id": "af7c1fe6-d669-414e-b066-e9733f0de7a8",
"title": "customs_file_nl.pdf",
"mime_type": "application/pdf",
"created_at": "2022-10-27T14:16:58+00:00",
"quantity": 1,
"url": "https://storage.googleapis.com/storage/documents/order/1e57a747-46e4-4c4f-89d9-80b82e7c9f27/64c7c9d35a13b.pdf?GoogleAccessId=test-780%40wms-development-355515.iam.gserviceaccount.com&Expires=1690818531&Signature=aB30S0PfR3Qf2TtFAAt8AxHUCt%2FXfUXaQoYl7F3y%2BPVrG70O3FkYpomAKhs0dYMG%2FCBylveCw3FtqJImbvcKhOn7gvAMa4zPLKywvXYpjmuxnTqvwz2ZSe%2BfS6BL%2B9Bwy4ayZgEmxA7c6L3MkjPilhP%2BR0P61YPZRuhYMBeOlFbjiTNK6HzIXw6tT6vkx%2BkKss4%2BOctV%2BnaN%2FYn93f4LVUrnHyXSgI1nYVp7jondrg26%2FvACgKZdBj6fVJSXTtvoj%2FQYhc6tFrKAdG9dkCB2lcjiZSiYxdeI4r5D6jZ8pYC5f6ZXRDKXnJrq9SHzD3Td%2FR2ojEen%2FqbAJheG3sNVBg%3D%3D",
"is_shipping_label": false,
"order_price": null
}
]
Retrieve an order document
[deprecated] Use the /wms/documents/:id endpoint instead
Retrieve an order document.
Request
curl https://eu-dev.middleware.ewarehousing-solutions.com/wms/orders/184c47d4-d3ee-4412-b156-ce5a4518d641/documents/af7c1fe6-d669-414e-b066-e9733f0de7a8/
Response
{
"id": "8067cdfb-cb22-4490-902d-a9863f38f76f",
"title": "customs_file.pdf",
"mime_type": "application/pdf",
"created_at": "2022-10-27T14:16:57+00:00",
"quantity": 1,
"is_shipping_label": false,
"order_price": null
}
Add a document to an order
This endpoint allows you to add a document to an existing order.
Request
curl -X POST 'https://eu-dev.middleware.ewarehousing-solutions.com/wms/orders/3f2a00b4-ce1d-473b-bacb-e6e12303244b/documents/' \
-H 'Content-Type: application/json' \
--data-raw '{
"file": "base64 encoded string",
"title": "my_label",
"quantity": 1,
"order_price": 115,
"shipping_label": false
}'
Response
{
"id": "8067cdfb-cb22-4490-902d-a9863f38f76f",
"title": "customs_file.pdf",
"mime_type": "application/pdf",
"created_at": "2022-10-27T14:16:57+00:00",
"quantity": 1,
"is_shipping_label": false,
"order_price": null
}