Last updated

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

order-load-shipment

A load is linked to the shipment via the field masterShipmentId

load-shipment

A load is linked to order(s) via the items the load is carrying

order-load

Orders

Order represents a contract / intent of movement of goods from an origin to destination.

Workflow

  1. Get proper credentials.
  2. Create an Order.
  3. Get Order Information.
  4. Update an Order.
  5. Delete an Order.

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
VerbPOST
Required FieldsorderIdentifier 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}
VerbGET
Required Fieldsid

Update an Order

Use the PUT endpoint to update an existing Order.

Endpoint/api/v4/inventory/orders/{id}
VerbPUT
Required Fieldsid and orderIdentifier

Delete an Order

Use the DELETE endpoint to delete your Order.

Endpoint/api/v4/inventory/orders/{id}
VerbDELETE
Required Fieldsid

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
VerbPOST
Required FieldsorderIds 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}
VerbPUT
Required Fieldsid

Delete an Item

Use the DELETE endpoint to delete an existing Item. The item is deleted asynchronously.

Endpoint/api/v4/inventory/orders/{id}
VerbPUT
Required Fieldsid