Skip to main content

Create Bulk Order

Facilitates the creation of a new bulk order by specifying products and quantities. This API operates asynchronously; once the client submits a request, the API accepts the order immediately without initiating fulfillment. The fulfillment process occurs subsequently through asynchronous processing. Please be advised that there will be a waiting period for order fulfillment.

The Create Bulk Order API now supports multiple currencies beyond USD. If you have wallets in other currencies like GBP or EUR, you can place orders using your preferred currency. However, please note that one API order can only contain products in a single currency. For example, if you're ordering 3 products in one API request, all products must share the same currency. Otherwise, you will receive an error response.

POST /v2/orders​

Request​

HTTP Headers​

To use this endpoint, you must include the following headers for authentication and authorization:

HeaderTypeRequiredDescription
x-api-keyStringYesAPI key assigned to your account for service access.
AuthorizationStringYesBearer token to authenticate the API request.

Payload​

PropertyTypeRequiredDefault ValueDescription
clientOrderNumberStringNoNoneThe order number assigned by the client, used for tracking and reference purposes.
🆕enableClientOrderNumberDupCheckBooleanNofalseEnable to prevent duplicate clientOrderNumber
productsProductRequest[]YesList of products included in the order.

ProductRequest​

PropertyTypeRequiredDefault ValueDescription
skuStringYesThe Stock Keeping Unit identifier for the product.
quantityIntegerYesThe quantity of the product requested in the order.

Example Request​

POST /v2/orders HTTP/1.1
Host: api.example.com
Content-Type: application/json
x-api-key: <API_KEY>
Authorization: Bearer <BEARER_ACCESS_TOKEN>

{
"clientOrderNumber": "1234",
"products": [
{
"sku": "8PX-UF-Y5U",
"quantity": 100
}
]
}

Responses​

HTTP Status Codes​

Status CodeDescription
200OK
400Bad Request
500Internal Server Error

Schema​

PropertyTypeNullableDescription
requestIdStringNoUnique identifier assigned to each request for tracking purposes.
dataOrderResponseNoOrder response.

OrderResponse​

PropertyTypeNullableDescription
transactionIdStringNoThe transaction identifier.
clientOrderNumberStringNoThe client's order number.
grandTotalMoneyResponseNoThe grand total amount and currency.
createdAtStringNoTimestamp of when the order was created.
statusOrderStatusNoThe status of the order.
productsProductResponse[]NoList of products in the order.

ProductResponse​

PropertyTypeNullableDescription
skuStringNoThe SKU of the product.
quantityIntegerNoThe quantity of the product.
unitPriceMoneyResponseNoThe unit price of the product.
totalPriceMoneyResponseNoThe total price of the product.
statusOrderStatusNoThe status of the product.

MoneyResponse​

PropertyTypeNullableDescription
amountStringNoThe monetary amount.
currencyStringNoThe currency of amount.

OrderStatus​

ValueTypeDescription
PROCESSINGStringThe order is currently being processed.
COMPLETEDStringThe order has been completed successfully.
CANCELLEDStringThe order has been cancelled and will not be processed.

Example 200 OK Response​

{
"requestId": "c4c7b997-79a5-4bde-9f17-47ad7eac9ed4",
"data": {
"transactionId": "1234",
"clientOrderNumber": "1234",
"grandTotal": {
"amount": "1,197.5",
"currency": "USD"
},
"createdAt": "2023-10-17T09:00:00Z",
"status": "PROCESSING",
"products": [
{
"sku": "8PX-UF-Y5U",
"quantity": 100,
"unitPrice": {
"amount": "9.5",
"currency": "USD"
},
"totalPrice": {
"amount": "950.00",
"currency": "USD"
},
"status": "PROCESSING"
},
{
"sku": "TTR-WI-YWN",
"quantity": 10,
"unitPrice": {
"amount": "24.75",
"currency": "USD"
},
"totalPrice": {
"amount": "247.5",
"currency": "USD"
},
"status": "COMPLETED"
}
]
}
}