Skip to main content

Shipment Creation

Use this API to create shipment requests from third-party order rows. Source rows must be grouped by order so each request object contains one order and its line items.

At A Glance

POST/v2/shipments/third-party
AreaDetail
Base URLhttps://api.mulltiply.org
Content typeapplication/json
Authenticationx-api-key request header
Request bodyArray of shipment order objects
Grouping keySales_Order_No

Headers

Content-Type: application/json
x-api-key: YOUR_API_KEY

Request Body

Each object represents one order to ship. Each order must contain a lineItems array, even when there is only one line item.

Request body
[
{
"orderId": 1001,
"lineItems": [
{
"lineItemId": 5001,
"quantity": 2
}
]
},
{
"orderId": 1002,
"lineItems": [
{
"lineItemId": 5002,
"quantity": 2
}
]
}
]

Field Mapping

Order Fields

API fieldSource fieldDescription
orderIdSales_Order_NoUnique order identifier. Convert to number if the source sends a string.

Line Item Fields

API fieldSource fieldDescription
lineItems[].lineItemIdLine_NoUnique line item identifier.
lineItems[].quantityQuantityQuantity to be shipped.

Grouping Logic

  1. Read source rows from the third-party shipment data.
  2. Convert Sales_Order_No to numeric orderId when needed.
  3. Group all rows with the same Sales_Order_No.
  4. Create one object per grouped order.
  5. Add every row in that group to the order's lineItems array.
  6. Keep one line item inside lineItems even when the order has only one row.

Validation Rules

FieldRequiredRule
orderIdYesMust map from Sales_Order_No.
lineItems[].lineItemIdYesMust map from Line_No.
lineItems[].quantityYesMust map from Quantity.

Records missing required values should be skipped or handled by the integration's business validation rules.

Final Payload Example

Final payload
[
{
"orderId": 1004,
"lineItems": [
{
"lineItemId": 5004,
"quantity": 10
}
]
},
{
"orderId": 1001,
"lineItems": [
{
"lineItemId": 5001,
"quantity": 2
}
]
},
{
"orderId": 1002,
"lineItems": [
{
"lineItemId": 5002,
"quantity": 2
}
]
}
]

Source Data Checklist

Source columnUsed for
Sales_Order_NoorderId
Line_NolineItems[].lineItemId
QuantitylineItems[].quantity
Customer_NoNot used
Item_NoNot used
Variant_CodeNot used
Location_CodeNot used
Ship_to_CodeNot used
Order_DateNot used
Delivery_DateNot used

Implementation Checklist

  • Confirm each source row has Sales_Order_No, Line_No, and Quantity.
  • Convert numeric IDs before sending when the source sends them as strings.
  • Group all rows by Sales_Order_No.
  • Send each grouped order once.
  • Keep line items in an array for every order.