Event Notifications Examples

This guide provides reference examples for several types of notifications. This does not cover all possible events, but includes both return and order topics that use the basic notification formatting in addition to the shipment topics that include additional metadata. For more general information about notification APIs, how they are formatted, or the full list of notification topics and the events that trigger them, refer to the Event Notifications Overview.

You can always retrieve more details about the object that triggered the event with a GET call to the appropriate API using the notification's entityID value - such as GET Shipment, GET Order, or GET Return.

Example 1: Return Event

Return event notifications are triggered whenever a return moves through steps in the return process - authorized, opened, cancelled, closed, rejected, or updated. This sample displays a Return Opened case which is indicated by the topic field.

{ 
   "eventId":"386ad355-0325-7v5r-9005-ab0c092k0054",
   "topic":"return.opened",
   "entityId":"1",
   "timestamp":"2019-11-21T21:03:23.666+00:00",
   "correlationId":"e6584f3a39024162b8ae31ff43aff3ed",
   "isTest":false
}

Example 2: Product Event

In this example, a product was created. Similarly to the return notification example above, you can identify that it was a creation event by the topic. If the product was updated instead, then the topic would be product.updated.

{
   "eventId": "7ad800ec-b10e-41bc-8f19-adff0100bf54",
   "topic": "product.created",
   "entityId": "test",
   "timestamp": "2021-12-15T15:34:47.291735Z",
   "correlationId": "3284f9c8f0bd458d9f77a469463ad8db",
   "isTest": false
}

Example 3: Order Events

When an order is updated, a notification is triggered to mark the event.

{ 
   "eventId":"a930fa59-bc8a-445f-826cab0d01168a32",
   "topic":"order.updated",
   "entityId":"0ed86f492b4835000195a24400006ca1",
   "timestamp":"2019-11-22T16:54:07.9337565Z",
   "correlationId":"6988cb955ee645b79199fa435395c94b",
   "isTest":false
}

This second sample is the notification for when an order is fulfilled, showing how the topic always indicates the kind of action that was performed.

{
   "eventId": "d2c317c0-ca2a-4ab9-8e05-adff010037aa",
   "topic": "order.fulfilled",
   "entityId": "12b2a4001effc80001f0063900007748",
   "timestamp": "2021-12-15T15:32:51.5220239Z",
   "correlationId": "09fdf82d22d1494ea82aad3317a5f0ea",
   "isTest": false
}

Example 4: Shipment Status Event

Shipment status notifications are triggered whenever a shipment moves into a new status. Note that individual notifications are sent for each shipment on an order, all with the same orderID. All shipment events include additional metadata, such as the new and old statuses that a shipment moved between, in the extendedProperties object. The strings used in shipment status notifications are:

FieldDescription
orderIdThe identifier of the order that the shipment belongs to.
oldStatusThe name of the status that the shipment was previously in.
newStatusThe name of the status that the shipment is transitioning to.
fulfillmentLocationCodeThe identifier of the fulfillment location that the shipment is assigned to.

This example demonstrates how these parameters would be defined when a shipment moves into the Fulfilled status. Note that if this were a shipment moving into the initial Ready state, the notification would simply not include the oldStatus field.

{ 
   "eventId":"b30f10a5-333b-4058-9e44-ab0d01129bbf",
   "extendedProperties":[ 
      { 
         "key":"orderId",
         "value":"0ed86c6d7c87c20001ea1cdb00006ca1"
      },
      { 
         "key":"newStatus",
         "value":"FULFILLED"
      },
      { 
         "key":"oldStatus",
         "value":"READY"
      },
      { 
         "key":"fulfillmentLocationCode",
         "value":"338101"
      }
   ],
   "topic":"shipment.statuschanged",
   "entityId":"12",
   "timestamp":"2019-11-22T16:39:49.103+00:00",
   "correlationId":"8a29ee46c8254e32ba517c34e608ff23",
   "isTest":false
}

Example 5: Shipment Workflow Event

Shipment workflow notifications are triggered whenever a shipment moves to another step in the fulfillment process. Note that individual notifications are sent for each shipment on an order, all with the same orderID. All shipment events include additional metadata in the extendedProperties object. The metadata strings used in shipment workflow notifications are:

FieldDescription
orderIdThe identifier of the order that the shipment belongs to.
oldStateThe name of the status that the shipment was previously in.
newStateThe name of the status that the shipment is transitioning to.

This example demonstrates how these parameters would be defined for a Shipment Accepted notification, in which the shipment moves to the ACCEPTED_SHIPMENT part of the fulfillment workflow.

{ 
   "eventId":"40603b02-21c9-41a3-9274-ab0d0103efc3",
   "extendedProperties":[ 
      { 
         "key":"orderId",
         "value":"0ed8606c2b4835000195a24100006ca1"
      },
      { 
         "key":"newState",
         "value":"ACCEPTED_SHIPMENT"
      },
      { 
         "key":"oldState",
         "value":"PRE_ACCEPT_SHIPMENT"
      }
   ],
   "topic":"shipment.workflowstatechanged",
   "entityId":"8",
   "timestamp":"2019-11-22T15:46:23.973+00:00",
   "correlationId":"af2976dc87eb4cdf81b124f34ee82f80",
   "isTest":false
}

Example 6: Shipment Item Event

When an item in a shipment is adjusted, a notification is triggered to mark the event. Even though this topic refers to an item, the entityID is still the shipment number. All shipment events include additional metadata in the extendedProperties object. The metadata strings used in shipment item notifications are:

FieldDescription
orderIdThe identifier of the order that the shipment belongs to.
lineIdThe identifier of the line item that was edited.

This example demonstrates how these parameters would be defined for a notification sent when a line item is edited.

{ 
   "eventId":"3db424e3-72eb-4686-9c18-ab0d011c30f5",
   "extendedProperties":[ 
      { 
         "key":"orderId",
         "value":"0ed86f492b4835000195a24400006ca1"
      },
      { 
         "key":"LineId",
         "value":"1"
      }
   ],
   "topic":"shipment.itemadjusted",
   "entityId":"13",
   "timestamp":"2019-11-22T17:14:42.3917824Z",
   "correlationId":"e467796f3920491b9890961a6bc1ddea",
   "isTest":false
}