REST API

Configuring Webhooks

5.9 min read

| September 14, 2024

Webhooks are HTTP-based notifications that leverage Extensiv's REST API to retrieve transaction and inventory data based on "events" that take place in the 3PL Warehouse Management. Once webhooks are configured in 3PL Warehouse Manager, you or your developer resource can parse and interpret the data as needed for your operations.

This article reviews how to configure webhooks.

To access the Event Notifications page, you must have the following permission assigned to your user role: Customer Module > Data Connections.

 

To learn more about webhooks, see Webhooks FAQs.

 

Configuration steps

Each webhook event falls into seven event types (Order, Receipt, Adjustment, Assembly, Order Item, Item, or Inventory Summary). Additionally, certain events can include its resource, which contains details about the transaction that spawned the event. You can find the full list of events and resources in the tables below.

  1. To get started, navigate to Customers > Event Notifications in 3PL Warehouse Manager. 
  2. In the left panel, select the Webhook Scope that best fits your needs. You can select a specific customer or set up a webhook for "Any Customer" if you want to receive events across all of your customers.
  1. To create a new webhook, click New Webhook above the grid.
  2. Enter a Description that describes what the webhook is used for—this value is primarily used to help you organize webhooks in the grid, then enter the appropriate Destination URL (must begin with https://)
  3. Select an Event Type from the drop-down list, then select the appropriate event(s) and resource(s) to include in your webhook. You can find detailed descriptions for each event and resource in the tables below.

    Including resources in your payload allows you to retrieve the full object attached with the event notification, rather than just the relevant transaction ID. For example, for an "order create" event, the webhook not only communicates that an order was created, but also includes all the order details. Note that including these details could significantly increase your webhooks data usage.

     
  1. Click Save to create the webhook.

Once an event is configured with your endpoint, the event triggers the WMS to send a message to the specified destination URL. You can view webhook utilization in the Support Portal on the Account page:

To learn how to properly implement webhooks once configured, see Implementing Webhooks.

 

Events and resources

There are seven different event types currently available for webhooks: Order, Receipt, Adjustment, Assembly, Order Item, Item, and Inventory Summary. The events and resources for each event type are detailed below, as well as the API documentation links (i.e., the recommended APIs to be used to retrieve parsed or all details of each event).

If you or your developer want to understand the properties associated with a specific detailed resource, you can access the body relevant to each resource by doing the following:

  1. Select the relevant API documentation link in one of the tables below.
  2. In the Example Request section, click View More.
  3. Use < Ctrl > on your keyboard to search for the node name (e.g., savedElements—the name shows in the documentation link parameter within the table).
  4. Once you find the node, the relevant details are located within the curly brackets that immediately follow the node. This information should help you or your developer resource understand how to call these details.

Order

The events associated with orders are as follows:

Order Event Event Trigger API Documentation Link
OrderCreate
When a new order is created GET Order
OrderComplete
When an order is marked as Complete GET Order
OrderUpdate
When a change is saved to an existing order GET Order
GET User
OrderConfirm
When an order is moved to a Closed status GET Order
OrderUnconfirm
When a Closed order is reopened GET Order
GET User
OrderCancel
When an order is moved to a Canceled status GET Order
GET User
Deleted When an order is removed entirely from the database N/A—internal use only*
OrderFullyAllocated
When all of an order's line item quantities are allocated to on-hand inventory GET Order
OrderExcludedFromPickJob
When an order is removed from an existing pick job, or when an associated pick job is deleted GET Order
GET Orders Picklist
GET User
Pick job - user assigned When a pick job has a picker assigned (or re-assigned) to it Working on a known issue with this event—documentation coming soon!
Pick job - user unassigned When a pick job has its assigned picker removed Working on a known issue with this event—documentation coming soon!
OrderPickJobDone When a pick job is completed for an order GET Orders Picklist
GET User

Pack - started

(Currently labeled as "Pick job - started, which will be corrected on 4/28)

When a pack job begins for an order GET Order
GET User
Pack Complete When an order is fully packed (i.e., when its Pack Done Date is set) GET Order
GET User

The resources available to include in order events are as follows:

Order Resource Description API Documentation Link
Default ("Include resource in payload" option) Enable and selects the resource payloads to be included in the webhook message GET Order
Order custom fields Includes any order-level custom fields GET order/{id}?detail=savedElements
Packages Includes package details, if available GET order/{id}?detail=packages
Contacts Includes the order's Ship To, Bill To, and/or Sold To information GET order/{id}?detail=contacts
Billing details Includes billing charges applied to the order GET order/{id}?detail=billingDetails
Outbound serial numbers Includes outbound serial numbers scanned at the time of packing GET order/{id}?detail=outboundSerialNumbers
Small parcel Includes the small parcel carrier and routing details GET order/{id}?detail=smallParcel
Parcel options Includes small parcel settings GET order/{id}?detail=parcelOptions
Order items Includes the order line items GET order/{id}?detail=orderItems
Order items > Item custom fields Includes the ordered items and any custom fields at the line-item-level GET order/{id}?detail=orderItems&Itemdetail=savedElements
Order items > Allocations Includes the ordered items and their inventory allocations info GET order/{id}?detail=orderItems&Itemdetail=allocations
Order items > Allocations with detail Includes the ordered items and their inventory allocations with details GET order/{id}?detail=orderItems&Itemdetail=allocationsWithDetail

Receipt

The events associated with receipts are as follows:

Receipt Event Event Trigger API Documentation Link
Create When a new receipt is created GET Receiver
Complete When a receipt is marked as Complete GET Receiver
Update When a change is saved to an existing receipt GET Receiver
GET User
Confirm When a receipt is moved to a Closed status GET Receiver
Unconfirm When a Closed receipt is reopened GET Receiver
GET User
Cancel When a receipt is moved to a Canceled status GET Receiver
GET User
Delete When a receipt is removed entirely from the database N/A—internal use only*

The resources available to include in receipt events are as follows:

Receipt Resource Description API Documentation Link
Default ("Include resource in payload" option) Enables and selects the resource payloads to be included in the webhook message GET Receiver
Receipt custom fields Includes any receipt-level custom fields GET /inventory/receivers/{{receiver_id}}?detail=SavedElements
Billing details Includes billing charges applied to the receipt GET /inventory/receivers/{{receiver_id}}?detail=BillingDetails
Receive items Includes the receipt line items GET /inventory/receivers/{{receiver_id}}?detail=ReceiveItems

Adjustment

The events associated with adjustments are as follows:

Adjustment Event Event Trigger API Documentation Link
Create When a new adjustment is created GET Adjustment
Confirm When an adjustment is marked as Complete GET Adjustment
Cancel When an adjustment is moved to a Canceled status GET Adjustment
Update When a change is saved to an existing adjustment GET Adjustment
Delete When an adjustment is removed entirely from the database N/A—internal use only*

The resources available to include in adjustment events are as follows:

Adjustment Resource Description API Documentation Link
Default ("Include resource in payload" option) Includes the adjustment resource payload GET Adjustment

Assembly

The events associated with assembly transactions are as follows:

Assembly Event Event Trigger API Documentation Link
Create When a new assembly transaction is created GET Assembly
Cancel When an assembly transaction is moved to a Canceled status GET Assembly
Delete When an assembly is removed entirely from the database N/A—internal use only*
Update When a change is saved to an existing assembly transaction GET Assembly
Confirm When an assembly transaction is marked as Complete GET Assembly

The resources available to include in assembly events are as follows:

Assembly Resource Description API Documentation Link
Default ("Include resource in payload" option) Includes complete assembly payload GET Assembly

Order item

The events associated with order items are as follows:

Order Item Event Event Trigger API Documentation Link
Pack When an order line item is associated with a package GET Orders Item
Unpack When an order line item is unassociated from a package GET Orders Item
Pick When an order line item is picked GET Orders Item
Unpick When an order line item is unpicked GET Orders Item

The resources available to include in order item events are as follows:

Order Item Resource Description API Documentation Link
Item custom fields Includes the order line item custom fields. GET /orders/{id}/items/{iid}?detail=SavedElements
Allocations includes the order line item inventory allocations. GET /orders/{id}/items/{iid}?detail=Allocations
Allocations with detail includes the order line item inventory allocations with details. GET /orders/{id}/items/{iid}?detail=AllocationsWithDetail

Item

The events associated with items are as follows:

Item Event Event Trigger API Documentation Link
Create When a new item is created GET Item
Update When a change is saved to an existing item (including when it is deactivated) GET Item
Delete When an item is removed entirely from the database N/A—internal use only*

The resources available to include in item events are as follows:

Item Resource Description API Documentation Link
Default ("Include resource in payload" option) Includes the complete item payload GET Item

Inventory summary

The events associated with inventory summaries are as follows:

Inventory Summary Event Event Trigger API Documentation Link
Update When a stock status record is created, changed, or deleted (i.e., when the on-hand or available amount changes for an item) GET Stock Summaries

 

The following resources for inventory summary events are automatically included:

Inventory Summary Resource Description API Documentation Link
Default ("Include resource in payload" option) Includes the Stock Summaries payload GET Stock Summaries (SKU)

*Delete events should not happen under normal circumstances. If you find that it does, please contact Technical Support.

Not finding the help you need?

Contact Support