FCL/FTL Shipments¶
Payload Format¶
Use this payload structure for OceanFCL and TruckFTL shipments.
Endpoint¶
POST {base url}/api/v1/orders/submit-order/
Requirements¶
-
At least one of
order_items,pre_builts, orloose_boxes
Shipment Content Types¶
Select the content type(s) that match how your goods are supplied. You can mix types in one order.
Order Items (order_items)
Order items represent raw, unpacked product units with no packaging. The optimizer groups these units into pallets and containers automatically.
Use when: You want automatic pallet building; products ship as loose units; the supplier does not pre-pack.
Includes:
item(product/SKU),quantity, and optional metadata (PO, line number, notes). See Order Item Fields below.Summary: Raw units requiring automatic packing.
Pre-Built Pallets (pre_builts)
A fully assembled pallet prepared by the supplier before submission. Dimensions, weight, and item composition are fixed.
Use when: Supplier provides ready-made pallets; you want direct container loading; you do not want the optimizer to build pallets.
Includes: Dimensions (L×W×H), weight,
count, and optionalprebuiltitem_set. See Pre-Built Pallet Fields below.Summary: Ready-made pallets for direct loading.
Pre-Built Item Set (prebuiltitem_set)
A detailed breakdown of items inside each pre-built pallet.
Use when: You need item-level packing instructions; customs or compliance requires item breakdown; traceability is needed.
Includes: See Pre-Built Item Breakdown Fields below.
Summary: What is inside each pre-built pallet.
Loose Boxes (loose_boxes)
A single carton not part of any pallet. Each carton has known dimensions and weight and is arranged during optimization.
Use when: Supplier ships standalone cartons; cartons need dynamic placement; box dimensions influence load planning.
Includes: Dimensions, weight,
count, and optional PO/line/product data. See Loose Box Fields below.Summary: Individual cartons not palletized.
Request Body Fields¶
|
Field |
Type |
Is Required |
Notes |
|---|---|---|---|
|
|
String |
Yes |
Supplier name. Must match exactly as configured in the ALPHA Portal (case-sensitive). |
|
|
String |
Yes |
Consignee name. Must match exactly as configured in the ALPHA Portal (case-sensitive). |
|
|
String |
Yes |
Your order reference (e.g. PO number). Must be unique per order. |
|
|
String |
Yes |
Transport type for this order. Determines required fields and how packing is optimized. See: Accepted Transportation Modes. |
|
|
Array of Objects |
No |
A list of items being ordered. See Order Item Fields below. |
|
|
Array of Objects |
No |
A list of pre-built pallets. See Pre-Built Pallet Fields below. |
|
|
Array of Objects |
No |
A list of loose boxes. See Loose Box Fields below. |
|
|
Object |
Yes |
Container information for the order. See: Order Containers Details |
|
|
String |
No |
Customer-related metadata. |
|
|
Boolean |
No |
Whether to send the packing instructions by email. Defaults to true. |
|
|
Array of Strings |
No |
Email addresses for additional recipients (To). |
|
|
Array of Strings |
No |
CC recipients for the packing instruction email. |
Order Item Fields¶
See Order Item Explanation above for usage.
|
Field |
Type |
Is Required |
Notes |
|---|---|---|---|
|
|
String |
Yes |
The item code that will be ordered. |
|
|
Integer |
Yes |
Number of units ordered. |
|
|
String |
No |
Purchase order reference. |
|
|
String |
No |
Line item number. |
|
|
String |
No |
Notes or comments. |
Pre-Built Pallet Fields¶
See Pre-Built Explanation above for usage.
|
Field |
Type |
Is Required |
Notes |
|---|---|---|---|
|
|
String |
Yes |
Name of the prebuilt pallet. |
|
|
String |
Yes |
Dimensions and weight of the pallet. |
|
|
Integer |
Yes |
Number of pallets. |
|
|
Array of Objects |
No |
Items included inside the pallet. |
Pre-Built Item Breakdown Fields¶
See Pre-Built Item Set Explanation above for usage.
|
Field |
Type |
Is Required |
Notes |
|---|---|---|---|
|
|
String |
No |
Purchase order number. |
|
|
String |
No |
Line item reference. |
|
|
Integer |
Yes |
Quantity of the item. |
|
|
Integer |
No |
Number of packages. |
|
|
String |
Yes |
Product code reference. |
|
|
String |
No |
Type/category of product. |
Loose Box Fields¶
See Loose Box Explanation above for usage.
|
Field |
Type |
Is Required |
Notes |
|---|---|---|---|
|
|
String |
Yes |
Identifier for the box. |
|
|
String |
Yes |
Dimensions and weight of the box. |
|
|
Integer |
Yes |
Number of boxes. |
|
|
String |
No |
Related purchase order. |
|
|
String |
No |
Line item number. |
|
|
Integer |
No |
Total quantity of items in a box. |
|
|
Integer |
No |
Total count of boxes. |
Order Container Fields¶
Specifies the container type (and optionally count) for FCL/FTL shipments.
|
Field |
Type |
Is Required |
Notes |
|---|---|---|---|
|
|
String |
Yes |
Must be one of the Accepted Container Codes. |
|
|
Integer |
No |
Number of containers. Default is 5 (used when count is omitted). |
Accepted Container Codes¶
20ft, 40ft, 40ft-HC, 45ft-HC, 20ft-RF, 40ft-HC RF, 20ft-OT, 40ft-OT
Accepted Transportation Modes¶
OceanFCL, TruckFTL
Example Request¶
{
"order_items": [
{
"item": "PRD-001",
"quantity": 2,
"purchase_order": "string",
"line_item_number": "string",
"notes": "string"
}
],
"pre_builts": [
{
"name": "PreBuilt Box A",
"length": "120.0",
"width": "80.0",
"height": "100.0",
"weight": "35.5",
"count": 2,
"prebuiltitem_set": [
{
"purchase_order": "PO-001",
"line_item_number": "L1",
"quantity": 20,
"packages": 5,
"product_code": "PRD-A",
"product_type": "Electronics"
}
]
}
],
"loose_boxes": [
{
"name": "Loose Box 1",
"length": "60.0",
"width": "40.0",
"height": "30.0",
"weight": "8.5",
"count": 5,
"purchase_order": "PO-002",
"line_item_number": "L2",
"product_quantity": 100,
"product_packages": 10
}
],
"reference": "REF-999",
"customer_notes": "Urgent, deliver by end of week",
"supplier_name": "Supplier",
"consignee_name": "Consignee",
"transportation_mode": "OceanFCL",
"send_email": false,
"extra_recipients": ["email1@example.com", "email2@example.com"],
"extra_cc_recipients": ["email3@example.com", "email4@example.com"],
"order_container": {
"code": "20ft",
"count": 5
}
}
Notes: Include at least one of order_items, pre_builts, or loose_boxes.
order_container.code must match an accepted container code.