Webhooks
Group Webhooks
Webhooks are available for all major events that occur within the Shipfusion system.
You can subscribe to different webhooks and configure your callback URLs from within your control panel under your settings section.
Shipments
| Event code | Description |
|---|---|
shipment_shipped | When a shipment has been shipped out and a tracking number exists |
shipment_backOrder | When a shipment goes onto back order due to unavailable inventory |
shipment_onHold | When a shipment goes on hold for a reason such as address verification |
An example shipment_shipped callback to your endpoint will look like this:
{
"authCode": "xxxxxxxxx",
"messageId": "12329018",
"type": "shipment_shipped",
"shipmentId": "1000087262",
"shipmentItems": [
{
"SKU": "PRODUCT-A",
"productId": "123847612",
"qty": 1,
"tag": ""
},
{
"SKU": "PRODUCT-B",
"productId": "19366382",
"qty": 3,
"tag": ""
}
],
"orderNumber": "ORD100003",
"tracking": {
"totalPackages": 1,
"packages": [
{
"shippingCarrier": "DHL Global Mail",
"shippingService": "Parcel Expedited Domestic",
"shippingCarrierCode": "DHLGlobalMail",
"shippingServiceCode": "ParcelsExpeditedDomestic",
"shipDate": "20170305",
"shipTimestamp": "1488672000",
"trackingNumber": "9374869903501968XXXXXX"
}
]
}
}An example shipment_backOrder callback to your endpoint will look like this:
{
"authCode": "xxxxxxxxx",
"messageId": "19287323",
"type": "shipment_backOrder",
"shipmentId": "123456789",
"orderNumber": "ORD100001",
"itemsOnBackOrder": [
{
"SKU": "SKU-A",
"qty": 1
},
{
"SKU": "SKU-B",
"qty": 3
}
]
}An example shipment_onHold callback to your endpoint will look like this:
{
"authCode": "xxxxxxxxx",
"messageId": "1292761232",
"type": "shipment_onHold",
"shipmentId": "123456789",
"orderNumber": "ORD100001",
"holdType": "addressVerification",
"holdMessage": "Please review address"
}Warehouse Shipments
| Event code | Description |
|---|---|
warehouseShipment_received | When a warehouse shipment is received and processed |
An example warehouseShipment_received callback to your endpoint will look like this:
{
"authCode": "xxxxxxxxx",
"messageId": "1292761232",
"type": "warehouseShipment_received",
"id": "1000087262",
"warehouse": "IL",
"creationDate": "20160401",
"creationTimestamp": "1459468800",
"receivedDate": "20160415",
"receivedTimestamp": "1460678400",
"itemsInShipment": [
{
"SKU": "SKU-A",
"qty": 1000,
"qtyAccepted": 1000,
"qtyRejected": 0,
"rejectReason": "",
"notes": ""
},
{
"SKU": "SKU-B",
"qty": 100,
"qtyAccepted": 98,
"qtyRejected": 2,
"rejectReason": "missingItems",
"notes": "Items were missing."
}
]
}Inventory Alerts
| Event code | Description |
|---|---|
lowInventory | When inventory for a particular SKU is triggered based on your low inventory alert settings |
An example lowInventory callback to your endpoint will look like this:
{
"authCode": "xxxxxxxxx",
"messageId": "1292761232",
"type": "lowInventory",
"SKU": "SKU-A",
"warehouse": "IL",
"currentInventory": 1000,
"daysOfStock": 100,
"dailyAverage7days": 10,
"dailyAverage30days": 10,
"dailyAverage60days": 12,
"dailyAverage90days": 13,
"incomingInventory": 500
}Returns
| Event code | Description |
|---|---|
return_received | When a return has been received and processed |
An example return_received callback to your endpoint will look like this:
{
"authCode": "xxxxxxxxx",
"messageId": "1292761232",
"type": "return_received",
"returnId": "187681079",
"warehouse": "IL",
"relatedShipmentId": "123125653",
"creationDate": "20160401",
"creationTimestamp": "1459468800",
"receivedDate": "20160415",
"receivedTimestamp": "1460678400",
"itemsInReturn": [
{
"SKU": "SKU-A",
"qty": 5,
"qtyReceived": 1,
"qtyNotReceived": 0,
"qtyAddedToInventory": 1,
"statusCode": "A3",
"notes": "Accepted - After Cleaning (Heavy)"
},
{
"SKU": "SKU-B",
"qty": 5,
"qtyReceived": 4,
"qtyNotReceived": 1,
"qtyAddedToInventory": 3,
"statusCode": "A1",
"notes": "Accepted - Good"
}
]
}Updated about 2 months ago
Did this page help you?