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 Status for a line item was under this order was marked “Shipped”
Invoiced im::updated im::order_invoiced Status for a line item was under this order was marked “Invoiced”
On Hold im::updated im::order_hold 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 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",   
          "backorderquantity": "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
}