Order Updated
The ORDER_UPDATED callback is triggered whenever an existing order in FourKites is modified — including changes to order status, ETA, line items, party details, or associated shipment information. Use this callback to keep your downstream systems in sync with the latest order state in real time.
The payload includes the same order details as ORDER_CREATED, along with shipment and stop details reflecting the state at the time of the update, and additional line-item fields (lineStatus, shipmentIds, shipmentNumbers, deliveryIds).
Request Parameter
{
"messageType": "ORDER_UPDATED",
"companyPermalink": "string",
"fourKitesOrderId": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2025-01-15T10:30:45.123456789Z",
"uuid": "string",
"subStatusType": "order",
"subStatus": "string",
"eventTimestamp": "2025-01-15T10:30:45.123456789Z",
"timezone": "Coordinated Universal Time",
"timezoneShortName": "UTC",
"timezoneOffset": 0,
"isSuccess": true,
"updatedAt": "2025-01-15T10:30:45.123456789Z",
"requestId": "string",
"orderDetails": {
"orderNumber": "string",
"orderStatus": "string",
"orderStatusTime": "2025-01-15T10:30:45.123456789Z",
"orderType": "PO",
"orderPaymentType": "string",
"orderTransportType": "domestic",
"orderActualShipDate": "2025-01-15T10:30:45.123456789Z",
"orderDestinationETA": "2025-01-15T10:30:45.123456789Z",
"orderPickupETA": "2025-01-15T10:30:45.123456789Z",
"orderActualDeliveryDate": "2025-01-15T10:30:45.123456789Z",
"orderRequiredDeliveryDate": "2025-01-15T10:30:45.123456789Z",
"orderMustShipByDate": "2025-01-15T10:30:45.123456789Z",
"orderETA": "2025-01-15T10:30:45.123456789Z",
"orderETAStatus": "ON_TIME",
"orderDestination": "string",
"orderReferenceNumbers": ["string"],
"orderEURL": "string",
"releaseDate": "2025-01-15T10:30:45.123456789Z",
"holdDate": "2025-01-15T10:30:45.123456789Z",
"originalRequiredDeliveryDate": "2025-01-15T10:30:45.123456789Z",
"originalShipDate": "2025-01-15T10:30:45.123456789Z",
"latestDeliveryDate": "2025-01-15T10:30:45.123456789Z",
"orderCreationDate": "2025-01-15T10:30:45.123456789Z",
"lastUpdatedTime": "2025-01-15T10:30:45.123456789Z",
"currencyCode": "string",
"totalMonetaryAmountIncludingTaxes": "string",
"totalMonetaryAmountExcludingTaxes": "string",
"totalTaxAmount": "string",
"isOrderFreeOfExciseTaxDuty": "string",
"totalTariffCost": 0.0,
"totalTariffPercentage": 0,
"status": "string",
"orderStatusCode": "string",
"orderPriority": "NORMAL",
"sourceType": "erp",
"orderEntryType": "string",
"orderInstructionCode": "string",
"additionalOrderInstruction": "string",
"paymentMethodCode": "string",
"numberOfDeliveries": 0,
"numberOfShipments": 0,
"numberOfLineItems": 0,
"referenceNumbers": [
{
"type": "string",
"value": "string"
}
],
"reasonCodes": ["string"],
"buyer": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "Factory",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"seller": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "Factory",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"shipFrom": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "Factory",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"shipTo": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "DC",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"billTo": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "string",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"pickupFrom": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "string",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"pickupETAStatus": "ON_TIME",
"externalUrl": [
{
"name": "string",
"url": "string"
}
],
"deliveryTerms": {
"inCoTermsCode": "string",
"deliveryInstructions": "string"
},
"shipmentReference": ["string"],
"orderAvpList": [
{
"customKey": "customValue"
}
],
"shipmentNumbers": ["string"],
"trackingNumbers": ["string"],
"deliveryIdentifiers": ["string"],
"lineItems": [
{
"itemName": "string",
"lineItemNumber": "string",
"itemDescription": "string",
"lineMabd": "2025-01-15T10:30:45.123456789Z",
"lineShipDate": "2025-01-15T10:30:45.123456789Z",
"lineShipTo": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "string",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"lineShipFrom": {
"gln": "string",
"id": "string",
"organisationName": "string",
"address": {
"name": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"state": "string",
"country": "string",
"zip": "string",
"locationType": "string",
"idNumber": "string"
},
"contact": {
"firstName": "string",
"lastName": "string",
"email": "string",
"phone": "string"
}
},
"externalUrl": [
{
"name": "string",
"url": "string"
}
],
"requestedQuantity": 0.0,
"shippedQuantity": 0.0,
"quantityUnit": "string",
"netPrice": 0.0,
"netAmount": 0.0,
"weightUnit": "string",
"distributionMethod": "string",
"itemNetWeight": 0.0,
"itemGrossWeight": 0.0,
"additionalOrderLineInstruction": "string",
"promoDate": "string",
"holdDate": "string",
"originalLineRequiredDeliveryDate": "string",
"originalLineShipDate": "string",
"lineItemActionCode": "added",
"orderLineItemInstructionCode": "string",
"orderLineItemPriority": "NORMAL",
"transactionalTradeItem": {
"transactionalItemData": {
"itemNumber": "string",
"itemNameOnInvoice": "string"
},
"color": {
"colorCode": "string",
"colorName": "string"
},
"size": {
"sizeCode": "string",
"sizeName": "string"
}
},
"avpList": {},
"caseDetails": [
{
"caseNumber": "string",
"caseQuantity": 0.0,
"innerPackQuantity": 0.0
}
],
"product": {
"productId": "string",
"productName": "string",
"productDescription": "string",
"productSku": "string",
"productCategory": "string",
"gtin": "string",
"commodityTypeCode": "string",
"productOwner": "string",
"productUpc": "string",
"additionalTradeItemClassificationCode": "string",
"gpcCategoryCode": "string",
"gpcCategoryName": "string",
"gpcAttributeTypeCode": "string",
"gpcAttributeTypeName": "string",
"gpcAttributeValueCode": "string",
"gpcAttributeValueName": "string"
},
"referenceNumbers": [
{
"type": "string",
"value": "string"
}
],
"htsCode": "string",
"tariffCost": 0.0,
"tariffPercentage": 0,
"supplierHtsCode": "string",
"lineStatus": "string",
"shipmentIds": [123, 456],
"shipmentNumbers": ["SHIP001", "SHIP002"],
"deliveryIds": ["DEL001", "DEL002"]
}
]
},
"shipmentDetails": {
"shipmentId": 123,
"carrierId": "string",
"carrierScac": "string",
"shipmentNumber": "string",
"shipmentStatus": "string",
"shipmentETA": "2025-01-15T10:30:45.123456789Z",
"shipperName": "string",
"masterReferenceNumber": "string",
"masterSequenceNumber": 0,
"stopDetails": {
"stopId": 123,
"stopType": "pickup",
"stopStatus": "string"
}
}
}Field Descriptions
Top-Level Fields
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
messageType | The type of callback message (e.g., ORDER_UPDATED) | Yes | Yes | String | No Max |
companyPermalink | The unique permalink identifier for the company | Yes | Yes | String | No Max |
fourKitesOrderId | The unique FourKites-generated UUID for the order | Yes | Yes | String (UUID) | No Max |
createdAt | The timestamp when the callback was generated | Yes | Yes | Timestamp | No Max |
uuid | Unique ID for the callback | Yes | Yes | String | No Max |
subStatusType | The category of the sub-status (e.g., order) | Yes | No | String | No Max |
subStatus | The sub-status value | Yes | No | String | No Max |
eventTimestamp | The timestamp of the triggering event | Yes | Yes | Timestamp | No Max |
timezone | Full timezone name (e.g., Coordinated Universal Time) | Yes | No | String | No Max |
timezoneShortName | Abbreviated timezone name (e.g., UTC) | Yes | No | String | No Max |
timezoneOffset | UTC offset in hours | Yes | No | Integer | No Max |
isSuccess | Indicates if the event was processed successfully | Yes | Yes | Boolean | — |
updatedAt | Timestamp of the last update to the callback | Yes | Yes | Timestamp | No Max |
requestId | Unique identifier for the API request | Yes | No | String | No Max |
orderDetails | Object containing full order details | Yes | No | Object | No Max |
shipmentDetails | Object containing details of the associated shipment | Yes | No | Object | No Max |
orderDetails Object
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
orderNumber | The unique identifier for the order | Yes | Yes | String | No Max |
orderStatus | The current status of the order | Yes | Yes | String | No Max |
orderStatusTime | Timestamp of the current order status | Yes | No | Timestamp | No Max |
orderType | Type of order (e.g., PO) | Yes | No | String | No Max |
orderPaymentType | Payment type for the order | Yes | No | String | No Max |
orderTransportType | Transport type (e.g., domestic, international) | Yes | No | String | No Max |
orderActualShipDate | Actual ship date of the order | Yes | No | Timestamp | No Max |
orderDestinationETA | Estimated arrival time at the destination | Yes | No | Timestamp | No Max |
orderPickupETA | Estimated pickup time | Yes | No | Timestamp | No Max |
orderActualDeliveryDate | Actual delivery date of the order | Yes | No | Timestamp | No Max |
orderRequiredDeliveryDate | Required delivery date for the order | Yes | No | Timestamp | No Max |
orderMustShipByDate | Latest date by which the order must ship | Yes | No | Timestamp | No Max |
orderETA | Overall ETA for the order | Yes | No | Timestamp | No Max |
orderETAStatus | ETA status of the order (e.g., ON_TIME, LATE) | Yes | No | String | No Max |
orderDestination | Destination of the order | Yes | No | String | No Max |
orderReferenceNumbers | List of reference numbers associated with the order | Yes | No | Array[String] | No Max |
orderEURL | External URL for the order | Yes | No | String | No Max |
releaseDate | Date the order was released | Yes | No | Timestamp | No Max |
holdDate | Date the order was placed on hold | Yes | No | Timestamp | No Max |
originalRequiredDeliveryDate | Original required delivery date before any changes | Yes | No | Timestamp | No Max |
originalShipDate | Original planned ship date | Yes | No | Timestamp | No Max |
latestDeliveryDate | Latest acceptable delivery date | Yes | No | Timestamp | No Max |
orderCreationDate | Date the order was created in the source system | Yes | Yes | Timestamp | No Max |
lastUpdatedTime | Timestamp of the last update to the order | Yes | No | Timestamp | No Max |
currencyCode | Currency code for monetary values (e.g., USD) | Yes | No | String | No Max |
totalMonetaryAmountIncludingTaxes | Total order value including taxes | Yes | No | String | No Max |
totalMonetaryAmountExcludingTaxes | Total order value excluding taxes | Yes | No | String | No Max |
totalTaxAmount | Total tax amount for the order | Yes | No | String | No Max |
isOrderFreeOfExciseTaxDuty | Indicates if the order is exempt from excise tax/duty | Yes | No | String | No Max |
totalTariffCost | Total tariff cost applied to the order | Yes | No | Float | No Max |
totalTariffPercentage | Total tariff percentage applied to the order | Yes | No | Integer | No Max |
status | General status of the order | Yes | No | String | No Max |
orderStatusCode | Status code for the order | Yes | No | String | No Max |
orderPriority | Priority level of the order (e.g., NORMAL, HIGH) | Yes | No | String | No Max |
sourceType | Source system type (e.g., erp) | Yes | No | String | No Max |
orderEntryType | Method by which the order was entered | Yes | No | String | No Max |
orderInstructionCode | Instruction code for the order | Yes | No | String | No Max |
additionalOrderInstruction | Free-text additional instructions for the order | Yes | No | String | No Max |
paymentMethodCode | Code representing the payment method | Yes | No | String | No Max |
numberOfDeliveries | Total number of deliveries for the order | Yes | No | Integer | No Max |
numberOfShipments | Total number of shipments for the order | Yes | No | Integer | No Max |
numberOfLineItems | Total number of line items in the order | Yes | No | Integer | No Max |
referenceNumbers | Typed reference number pairs (type + value) | Yes | No | Array[Object] | No Max |
reasonCodes | List of reason codes associated with the order | Yes | No | Array[String] | No Max |
pickupETAStatus | ETA status for pickup (e.g., ON_TIME, LATE) | Yes | No | String | No Max |
externalUrl | List of named external URLs related to the order | Yes | No | Array[Object] | No Max |
deliveryTerms | Incoterms code and delivery instructions | Yes | No | Object | No Max |
shipmentReference | List of associated shipment reference numbers | Yes | No | Array[String] | No Max |
orderAvpList | Custom key-value attribute pairs for the order | Yes | No | Array[Object] | No Max |
shipmentNumbers | List of shipment numbers linked to the order | Yes | No | Array[String] | No Max |
trackingNumbers | List of tracking numbers for the order | Yes | No | Array[String] | No Max |
deliveryIdentifiers | List of delivery identifiers for the order | Yes | No | Array[String] | No Max |
buyer | Party details for the buyer | Yes | No | Object | No Max |
seller | Party details for the seller | Yes | No | Object | No Max |
shipFrom | Party and address details for the ship-from location | Yes | No | Object | No Max |
shipTo | Party and address details for the ship-to location | Yes | No | Object | No Max |
billTo | Party and address details for the bill-to location | Yes | No | Object | No Max |
pickupFrom | Party and address details for the pickup location | Yes | No | Object | No Max |
lineItems | List of line items included in the order | Yes | No | Array[Object] | No Max |
Party Object Fields
Applies to: buyer, seller, shipFrom, shipTo, billTo, pickupFrom
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
gln | Global Location Number of the party | Yes | No | String | No Max |
id | Internal identifier for the party | Yes | No | String | No Max |
organisationName | Name of the organization | Yes | No | String | No Max |
address.name | Name of the location | Yes | No | String | No Max |
address.addressLine1 | Primary street address | Yes | No | String | No Max |
address.addressLine2 | Secondary address line | Yes | No | String | No Max |
address.city | City | Yes | No | String | No Max |
address.state | State or province | Yes | No | String | No Max |
address.country | Country | Yes | No | String | No Max |
address.zip | Postal or ZIP code | Yes | No | String | No Max |
address.locationType | Type of location (e.g., Factory, DC) | Yes | No | String | No Max |
address.idNumber | Location ID number | Yes | No | String | No Max |
contact.firstName | First name of the contact person | Yes | No | String | No Max |
contact.lastName | Last name of the contact person | Yes | No | String | No Max |
contact.email | Email address of the contact | Yes | No | String | No Max |
contact.phone | Phone number of the contact | Yes | No | String | No Max |
lineItems — Per Line Item Fields
Includes all fields from ORDER_CREATED plus lineStatus, shipmentIds, shipmentNumbers, and deliveryIds.
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
itemName | Name of the line item | Yes | No | String | No Max |
lineItemNumber | Line item number | Yes | No | String | No Max |
itemDescription | Description of the item | Yes | No | String | No Max |
lineMabd | Must-arrive-by date for the line item | Yes | No | Timestamp | No Max |
lineShipDate | Planned ship date for the line item | Yes | No | Timestamp | No Max |
lineShipTo | Ship-to party details for the line item | Yes | No | Object | No Max |
lineShipFrom | Ship-from party details for the line item | Yes | No | Object | No Max |
externalUrl | Named external URLs for the line item | Yes | No | Array[Object] | No Max |
requestedQuantity | Quantity requested for the line item | Yes | No | Float | No Max |
shippedQuantity | Quantity actually shipped | Yes | No | Float | No Max |
quantityUnit | Unit of measure for quantity | Yes | No | String | No Max |
netPrice | Net price per unit | Yes | No | Float | No Max |
netAmount | Total net amount for the line item | Yes | No | Float | No Max |
weightUnit | Unit of measure for weight | Yes | No | String | No Max |
distributionMethod | Method of distribution for the line item | Yes | No | String | No Max |
itemNetWeight | Net weight of the item | Yes | No | Float | No Max |
itemGrossWeight | Gross weight of the item | Yes | No | Float | No Max |
additionalOrderLineInstruction | Additional free-text instructions for the line | Yes | No | String | No Max |
promoDate | Promotional date associated with the line item | Yes | No | String | No Max |
holdDate | Hold date for the line item | Yes | No | String | No Max |
originalLineRequiredDeliveryDate | Original required delivery date for the line | Yes | No | String | No Max |
originalLineShipDate | Original planned ship date for the line | Yes | No | String | No Max |
lineItemActionCode | Action code for the line item (e.g., added, updated) | Yes | No | String | No Max |
orderLineItemInstructionCode | Instruction code for the line item | Yes | No | String | No Max |
orderLineItemPriority | Priority of the line item (e.g., NORMAL, HIGH) | Yes | No | String | No Max |
lineStatus | Current status of the line item | Yes | No | String | No Max |
shipmentIds | List of shipment IDs associated with the line item | Yes | No | Array[Integer] | No Max |
shipmentNumbers | List of shipment numbers associated with the line item | Yes | No | Array[String] | No Max |
deliveryIds | List of delivery IDs associated with the line item | Yes | No | Array[String] | No Max |
transactionalTradeItem.transactionalItemData.itemNumber | Item number from the trade item data | Yes | No | String | No Max |
transactionalTradeItem.transactionalItemData.itemNameOnInvoice | Item name as it appears on the invoice | Yes | No | String | No Max |
transactionalTradeItem.color.colorCode | Color code for the item | Yes | No | String | No Max |
transactionalTradeItem.color.colorName | Color name for the item | Yes | No | String | No Max |
transactionalTradeItem.size.sizeCode | Size code for the item | Yes | No | String | No Max |
transactionalTradeItem.size.sizeName | Size name for the item | Yes | No | String | No Max |
avpList | Custom attribute key-value pairs for the line item | Yes | No | Object | No Max |
caseDetails.caseNumber | Case number for packaging | Yes | No | String | No Max |
caseDetails.caseQuantity | Quantity per case | Yes | No | Float | No Max |
caseDetails.innerPackQuantity | Inner pack quantity within the case | Yes | No | Float | No Max |
product.productId | Unique product identifier | Yes | No | String | No Max |
product.productName | Name of the product | Yes | No | String | No Max |
product.productDescription | Description of the product | Yes | No | String | No Max |
product.productSku | SKU of the product | Yes | No | String | No Max |
product.productCategory | Category of the product | Yes | No | String | No Max |
product.gtin | Global Trade Item Number | Yes | No | String | No Max |
product.commodityTypeCode | Commodity type code for the product | Yes | No | String | No Max |
product.productOwner | Owner of the product | Yes | No | String | No Max |
product.productUpc | Universal Product Code | Yes | No | String | No Max |
product.additionalTradeItemClassificationCode | Additional classification code for the trade item | Yes | No | String | No Max |
product.gpcCategoryCode | GPC category code | Yes | No | String | No Max |
product.gpcCategoryName | GPC category name | Yes | No | String | No Max |
product.gpcAttributeTypeCode | GPC attribute type code | Yes | No | String | No Max |
product.gpcAttributeTypeName | GPC attribute type name | Yes | No | String | No Max |
product.gpcAttributeValueCode | GPC attribute value code | Yes | No | String | No Max |
product.gpcAttributeValueName | GPC attribute value name | Yes | No | String | No Max |
referenceNumbers | Typed reference numbers for the line item | Yes | No | Array[Object] | No Max |
htsCode | Harmonized Tariff Schedule code for the item | Yes | No | String | No Max |
tariffCost | Tariff cost for the line item | Yes | No | Float | No Max |
tariffPercentage | Tariff percentage for the line item | Yes | No | Integer | No Max |
supplierHtsCode | Supplier-provided HTS code | Yes | No | String | No Max |
shipmentDetails Object
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
shipmentId | Unique identifier for the shipment | Yes | Yes | Integer | No Max |
carrierId | Unique identifier for the carrier | Yes | No | String | No Max |
carrierScac | Standard Carrier Alpha Code (SCAC) for the carrier | Yes | No | String | No Max |
shipmentNumber | Shipment number | Yes | No | String | No Max |
shipmentStatus | Current status of the shipment | Yes | No | String | No Max |
shipmentETA | Estimated arrival time for the shipment | Yes | No | Timestamp | No Max |
shipperName | Name of the shipper | Yes | No | String | No Max |
masterReferenceNumber | Master reference number for the shipment | Yes | No | String | No Max |
masterSequenceNumber | Master sequence number for the shipment | Yes | No | Integer | No Max |
stopDetails | Object containing details of the associated stop | Yes | No | Object | No Max |
shipmentDetails.stopDetails Object
Field Name | Description | Key Always Present? | Value Always Present? | Data Type | Max Length |
|---|---|---|---|---|---|
stopId | Unique identifier for the stop | Yes | Yes | Integer | No Max |
stopType | Type of stop (e.g., pickup, delivery) | Yes | No | String | No Max |
stopStatus | Current status of the stop | Yes | No | String | No Max |
