Overview
Order represents a contract / intent of movement of goods from an origin to destination. The Orders API provides visibility into your supply chain. The Orders API can be used in combination with the Loads API for a comparative view between contractual order dates and shipment delivery. Use these endpoints to create (POST), track (GET), update (PUT), or delete (DELETE) orders. You can return order information by unique order ID.
Use the following information to write a client application to integrate your TMS or other system to the project44 platform through our Orders API.
Relationship between Orders, Loads and Shipments
Before we dive into the specific APIs, it's important to know how does Orders relate to Loads and Shipments.
Let's look at the below sequence of operations to understand more:
A user creates an Order in their TMS which represents the set of goods/items that will move from Origin to Destination
Large orders with 1000s of goods / items would be carried via multiple loads and shipments
User then creates all shipments that are required to fulfill the order
User then creates all the loads necessary that are needed to ship the goods
As you can see in the image below, load is the bridging entity between an order and a shipment
A load is linked to the shipment via the field masterShipmentId
A load is linked to order(s) via the items the load is carrying
Orders
Order represents a contract / intent of movement of goods from an origin to destination.
Workflow
Get Credentials
You must be provisioned with a tenant to have a client application within that tenant with the appropriate permissions to use any API within project44.
See here for more information on Authentication and Authorization.
Create an Order
Use the POST endpoint to create an Order.
Required fields:
orderType
orderIdentifier
Important fields:
orderTags
originLocation
destinationLocation
statusCode
supplierReadyDateTimeWindow
vendorLocation
Deprecated fields:
- relatedOrderIds
- shipmentIds An order must be related to a shipment only via loads
Do not add shipmentId to order create and update APIs, suggested way is to pass shipmentId
in the loads API call.
Endpoint | /api/v4/inventory/orders |
Verb | POST |
Required Fields | orderIdentifier and orderType |
A unique project44 ID is returned in the response after shipment creation. You can store this ID to use in future API calls.
Get Order Information
Use the GET endpoint to retrieve information about your Order.
Endpoint | /api/v4/inventory/orders/{id} |
Verb | GET |
Required Fields | id |
Update an Order
Use the PUT endpoint to update an existing Order.
Endpoint | /api/v4/inventory/orders/{id} |
Verb | PUT |
Required Fields | id and orderIdentifier |
Delete an Order
Use the DELETE endpoint to delete your Order.
Endpoint | /api/v4/inventory/orders/{id} |
Verb | DELETE |
Required Fields | id |
Items
An Item represents SKUs that need to moved as part of the order from order origin to the order destination.
Workflow
Create an Item
Add items to an existing order
Do not pass shipmentIds
this feature is deprecated. An order item cannot relate to a shipment directly.
Endpoint | /api/v4/inventory/orders |
Verb | POST |
Required Fields | orderIds and either stockKeepingUnit or serialNumber or universalProductCode |
Update an Item
Use the PUT endpoint to update an existing Item. The item is updated asynchronously.
Do not pass shipmentIds
this feature is deprecated. An order item cannot relate to a shipment directly.
Endpoint | /api/v4/inventory/orders/{id} |
Verb | PUT |
Required Fields | id |
Delete an Item
Use the DELETE endpoint to delete an existing Item. The item is deleted asynchronously.
Endpoint | /api/v4/inventory/orders/{id} |
Verb | PUT |
Required Fields | id |