A customer/reseller can select one or all of the events listed above under one webhook or can create individual webhook for each event. The primary reason to create multiple webhooks would be to have a dedicated destination URL for each event for processing. It is not required to do so and is recommended to have a single webhook for a resource type, for example a webhook for orders and in future you may have a dedicated webhook for quotes.

 

Notification Event Event code Sub-event code Description
Shipped im::updated im::order_shipped (v2) Status for a line item was under this order was marked “Shipped”
Invoiced im::updated im::order_invoiced (v2) Status for a line item was under this order was marked “Invoiced”
On Hold im::updated im::order_hold (v2) Status for a line item was under this order was marked “Hold”
The order can be on hold for various reasons
Voided im::updated im::order_voided (v2) The order was canceled or voided

 

Sample JSON payload


{
  "topic": "resellers/orders",
  "event": "im::updated",
  "evenTtimeStamp":"event_occured" --- UTC
  "eventId":"unique_event_id"
  "resource":[ //array         
    {
      "eventType":"im::order_shipped",
      "orderNumber": "20-RD128",
      "customerOrderNumber": "ZENPO",
      "orderEntryTimeStamp": "2020-04-03T08:54:39-07:00",
      "lines":[{
          "lineNumber":"01",
          "subOrderNumber":"20-RD128-21",
          "lineStatus": "IM::shipped",   -- use the proposed order status from this page - https://imonline.atlassian.net/wiki/spaces/B2BP/pages/772538423/Order+Status+Management
          "ingramPartNumber": "5CX895",
          "vendorPartNumber": "TC57HO-1PEZU4P-NA",
          "requestedQuantity": "3",
          "shippedQuantity": "2",   
          "backOrderedQuantity": "1",
          "shipmentDetails": [
            {
              "shipmentDate": "2019-11-06",
              "shipFromWarehouseId": "10",
              "warehouseName": "New York",
              "carrierCode": "4M",
              "carrierName": "SMARTPOST-BM",                  
              "packageDetails":[ --Array
              {
                  "cartonNumber":"",
                  "quantityInbox":"",
                  "trackingNumber":"",
                } ]
              }
            ], //shipmentdetails end
            "serialNumberDetails":[{
                "serialNumber":"123123123"
              }
              ],
          }
        ] // lines end
        "links":[. //array
          { 
            "topic":"orders",
            "href":"/resellers/v5/orders/20-RD128",
            "type": "GET"
          },
          { 
            "topic":"invoices",  -- shows only if the status is invoiced
            "href":"/resellers/v5/invoices/20-RD128",
            "type": "GET"
          },
        ]
      },
    ] // resource end
}