Notification API
Subscribe to ABC Supply updates such as order and shipment status. The Notification API allows you to configure webhooks and let ABC Supply push updates to your system in real time.
Order Update Event is the payload sent to a partner webhook registered with the ABC API Notification API for order updates. Events are triggered when any field on the order changes. The event payload includes order status, order details, shipment status, and shipment details.
Order and shipment status progressions are listed in the Available Order Statuses and Available Shipment Statuses sections of this page.
Notification API
Order Update Event
Order Update Event
Receive order updates to a registered webhook
Authorization
When a webhook is registered successfully using Register Webhook with event type “ORDER_UPDATE”, the response will contain a “secret” field that corresponds to the API key present in the Order Update Event request header. This API key can be used to verify the authenticity of the incoming request.
Response
Example Response
Order Update Event response payload received by registered webhook
{
"salesOrder": {
"trackingId": "515151",
"confirmationNumber": "C7-3838333",
"orderNumber": "10000828",
"purchaseOrder": "0136-21",
"createdDate": "2024-10-01",
"orderType": "SO",
"deliveryService": "OTR",
"referenceOrderNumber": "0",
"referenceShipmentNumber": "0",
"status": "Delivered",
"currency": "USD"
},
"dates": {
"deliveryRequestedFor": "2024-10-06",
"orderedOn": "2024-10-01"
},
"deliveryAppointment": {
"instructionsTypeCode": "AT",
"instructions": "",
"fromTime": "00:00:00",
"toTime": "00:00:00",
"timeZoneCode": ""
},
"orderAmounts": {
"subTotal": 79.79,
"tax": 3.27,
"total": 82.06
},
"charges": [
{
"code": "H550",
"description": "Surcharge",
"amount": 0
}
],
"soldTo": {
"number": "95042101",
"name": "C DUNCAN CONSTRUCTION LLC",
"links": {
"href": "https://partners.abcsupply.com/account/v1/soldtos/95042100"
}
},
"billTo": {
"number": "95042400",
"name": "C DUNCAN CONSTRUCTION LLC",
"links": {
"href": "https://partners.abcsupply.com/account/v1/billtos/95042400"
}
},
"shipTo": {
"number": "95042400",
"name": "C DUNCAN CONSTRUCTION LLC",
"links": {
"href": "https://partners.abcsupply.com/account/v1/shiptos/95042400"
}
},
"branch": {
"number": "22",
"name": "ABC Supply Company - Hartland, WI",
"storefront": "ABC",
"links": {
"href": "https://partners.abcsupply.com/api/locations/v1/branches/22"
}
},
"lines": [
{
"id": "1",
"itemNumber": "9577600200",
"links": {
"href": "https://partners.abcsupply.com/api/product/v1/items/9577600200"
},
"dimensions": {
"length": {
"value": 1.5,
"uomCode": "in",
"uom": "Inches"
}
},
"orderedQty": {
"value": 1,
"uomCode": "EA",
"uom": "EA"
},
"unitPrice": {
"value": 78.79,
"uomCode": "EA",
"uom": "EA"
},
"amount": 78.79
}
],
"shipments": [
{
"shipmentNumber": "10000828-1",
"status": "I",
"total": 82.06
"dates": {
"deliveryRequestedOn": "2024-10-06",
"deliveredOn": "2024-10-06",
"invoicedOn": "2022-10-10"
},
"shipment": {
"instructionTypeCode": "",
"latitude": "37.226806640625",
"longitude": "-87.160919189453125",
"proofOfDeliveryURL": "https://velocitypodportalweb2156.azurewebsites.net/?orderId=e04341-ff0-4fc-8dc77559489&source=ABC+Supply"
},
"address": {
"line1": "123 Main St",
"line2": "Building 15",
"line3": "Bay 2",
"city": "Powderly",
"state": "KY",
"postal": "12345",
"country": "USA"
},
"comments": [
{
"code": "H",
"description": "please deliver to bay 2"
}
],
"amounts": {
"subTotal": 78.79,
"tax": 3.27,
"total": 82.06
},
"charges": [
{
"code": "H550",
"amount": 0
}
],
"deliveryHistory": [
{
"name": "Arrived at Delivery Location",
"code": "X1",
"localTime": "2024-10-06T15:22",
"utcTime": "2024-10-06T21:22:04.612Z"
},
{
"name": "Delivery Complete",
"code": "CD",
"notes": "",
"localTime": "2024-10-06T15:52",
"utcTime": "2024-10-06T21:52:52.514Z"
}
],
"lines": [
{
"id": "1",
"itemNumber": "9577600200",
"links": {
"href": "https://partners.abcsupply.com/api/product/v1/items/9577600200"
},
"dimensions": {
"length": {
"value": 1.5,
"uomCode": "in",
"uom": "Inches"
}
},
"orderedQty": {
"value": 1,
"uomCode": "EA",
"uom": "EA"
},
"unitPrice": {
"value": 78.79,
"uomCode": "EA",
"uom": "EA"
},
"amount": 78.79
}
]
}
]
}
Name
Type
Description
salesOrder
object
The object containing the order information.
salesOrder.trackingId
string
The client-provided tracking ID for the order.
salesOrder.confirmationNumber
string
The confirmation number for the order.
salesOrder.orderNumber
string
The order number for the order.
salesOrder.purchaseOrder
string
The client-provided purchase order for the order.
salesOrder.createdDate
string
The date the order was created.
salesOrder.orderType
string
The type code for the order (e.g., “DR”: Direct Ship, “M”: Item Returns, “Report”: Measurement Reports, “SA”: Customer Pickup, “SO”: Sales Order).
salesOrder.deliveryService
string
The type of delivery service for the order (e.g., “COM”: Common Carrier, “CPU”: Customer Pickup, “EXP”: Express Pickup, “OTR”: Our Truck Roof, “OTG”: Our Truck Ground, “OTW”: Our Truck Window, “TPC”: Third-Party Carrier).
salesOrder.referenceOrderNumber
string
The original order number for a returned item. Only applies to order type “M”.
salesOrder.referenceShipmentNumber
string
The original shipment number for a returned item. Only applies to order type “M”.
salesOrder.status
string
The current order status. Please see table below for valid statuses.
salesOrder.currency
string
The currency used for the order (e.g., “USD”).
dates
object
The object containing dates related to the order.
dates.deliveryRequestedFor
string
The date for which the delivery was requested.
dates.orderedOn
string
The date the order was placed.
deliveryAppointment
string
The object containing details for the order delivery appointment.
deliveryAppointment.instructionsTypeCode
string
The delivery appointment type. “AT”: Anytime Delivery, “AM”: Morning Delivery, “PM”: Afternoon Delivery, “FS”: First Stop Delivery, “ST”: Specific Time, “TR”: Time Range.
deliveryAppointment.instructions
string
The delivery instructions provided when the order was placed.
deliveryAppointment.fromTime
string
The earliest point of scheduled delivery in local military time (e.g., “13:00:00”).
deliveryAppointment.toTime
string
The latest point of scheduled delivery in local military time (e.g., “13:00:00”).
deliveryAppointment.timeZoneCode
string
The two-letter time zone code. “ET”: Eastern Time, “CT”: Central Time, “MT”: Mountain Time, “PT”: Pacific Time, “AT”: Alaska Time, “HT”: Hawaii-Aleutian Time. This field is not required and may return as an empty string.
orderAmounts
object
The object describing the order amounts for the order.
orderAmounts.subTotal
float
The subtotal for the order.
orderAmounts.tax
float
The tax for the order.
orderAmounts.total
float
The total for the order.
charges
array
A list of charges related to the order.
charges[].code
string
The code for the charge.
charges[].description
float
The description for the charge.
charges[].amount
float
The cost amount for the charge.
soldTo
object
The object that describes the sold-to information for the order.
soldTo.number
string
The sold-to account number for the order.
soldTo.name
string
The name of the sold-to account for the order.
soldTo.links
object
The object that describes the URL for the sold-to account.
soldTo.links.href
string
The API URL for the specific sold-to account for the order.
billTo
object
The object that describes the bill-to information for the order.
billTo.number
string
The bill-to account number for the order.
billTo.name
string
The name of the bill-to account for the order.
billTo.links
object
The object that describes the URL for the bill to information.
billTo.links.href
string
The API URL for the specific bill-to account for the order.
shipTo
object
The object that describes the ship-to information for the order.
shipTo.number
string
The ship-to account number for the order.
shipTo.name
string
The name of the ship-to account for the order.
shipTo.links
object
The object that describes the URL for the ship-to information.
shipTo.links.href
string
The API URL for the specific ship-to account for the order.
branch
object
The object that describes the branch information for an order.
branch.number
string
The unique ABC Supply branch number.
branch.name
string
The name of the ABC Supply branch.
branch.storefront
string
The name of the storefront for the branch specified (e.g., “ABC”).
branch.links
object
The object describing the URL for the branch.
branch.links.href
string
The API URL for the branch.
lines
array
The list of line items in the order.
lines[].id
string
The client-provided unique ID of the line item.
lines[].itemNumber
string
The ABC Supply item number.
lines[].links
object
The object describing the API URL for the item.
lines[].links.href
string
The API URL for the item.
lines[].dimensions
object
The object describing the dimensions of the item. This only applies to dimensional items and is not returned for non-dimensional items.
lines[].dimensions.length
object
The object describing the length variation of the dimensional item.
lines[].dimensions.length.value
float
The value of the length.
lines[].dimensions.length.uomCode
string
The unit of measure code for the length (e.g., “ft”: feet, “in”: inches).
lines[].dimensions.length.uom
string
The description of the unit of measure (e.g., “Feet”).
lines[].orderedQty
object
The object that describes the ordered quantity of the item.
lines[].orderedQty.value
integer
The quantity of the item ordered.
lines[].orderedQty.uomCode
string
The unit of measure code of the quantity (e.g., “PC”: pieces).
lines[].orderedQty.uom
string
The description of the unit of measure (e.g., “PC”).
lines[].unitPrice
object
The object that describes the unit price of the item.
lines[].unitPrice.value
float
The value of the unit price.
lines[].unitPrice.uomCode
string
The unit of measure code of the unit price(e.g., “PC”: pieces).
lines[].unitPrice.uom
string
The description of the unit of measure (e.g., “PC”).
lines[].amount
float
The total price of the line item.
shipments
array
A list of shipment information for each shipment of the order.
shipments[].shipmentNumber
string
The shipment number.
shipments[].status
string
The shipment status.
shipments[].total
float
The total shipment cost.
shipments[].dates
object
The object containing the dates related to the shipment.
shipments[].dates.deliveryRequestedOn
string
The date on which the delivery was requested.
shipments[].dates.deliveredOn
string
The date the shipment was delivered.
shipments[].dates.invoicedOn
string
The date the shipment was invoiced.
shipments[].shipment
object
The object containing specific information about the shipment and delivery/
shipments[].shipment.instructionTypeCode
string
The delivery appointment type. “AT”: Anytime Delivery, “AM”: Morning Delivery, “PM”: Afternoon Delivery, “FS”: First Stop Delivery, “ST”: Specific Time, “TR”: Time Range.
shipments[].shipment.latitude
string
The latitude of the delivery location.
shipments[].shipment.longitude
string
The longitude of the delivery location.
shipments[].shipment.proofOfDeliveryURL
string
The URL for proof of delivery information.
shipments[].address
object
The object describing the delivery address for the shipment.
shipments[].address.line1
string
The first line of the delivery address, usually including the street number and name.
shipments[].address.line2
string
The second line of the delivery address, which may include additional information like building numbers.
shipments[].address.line3
string
The third line of the delivery address, which may include more specific location information or additional directions.
shipments[].address.city
string
The city for the delivery address.
shipments[].address.state
string
The state for the delivery address.
shipments[].address.postal
string
The zip code for the delivery address.
shipments[].address.country
string
The country for the delivery address (e.g., “USA”).
shipments[].comments
array
The list of comments related to the shipment.
shipments[].comments[].code
string
The comment code.
shipments[].comments[].description
string
The text of the shipment comment.
shipments[].amounts
object
The object describing the price amounts for the shipment.
shipments[].amounts.subTotal
float
The subtotal for the shipment.
shipments[].amounts.tax
float
The tax amount for the shipment.
shipments[].amounts.total
float
The total amount for the shipment.
shipments[].charges
array
The list of charges related to the shipment.
shipments[].charges[].code
string
The code for the charge.
shipments[].charges[].amount
float
The cost amount for the charge.
shipments[].deliveryHistory
array
The list of delivery history updates for the shipment.
shipments[].deliveryHistory[].name
string
The description of the delivery update.
shipments[].deliveryHistory[].code
string
The code for the delivery updates.
shipments[].deliveryHistory[].localTime
string
The local datetime of the delivery update.
shipments[].deliveryHistory[].utcTime
string
The UTC datetime of the delivery update.
shipments[].lines
array
The list of line items included in the shipment
shipments[].lines[].id
string
The client-provided unique ID of the line item.
shipments[].lines[].itemNumber
string
The ABC Supply item number.
shipments[].lines[].links
object
The object describing the URL for the item.
shipments[].lines[].links.href
string
The API URL for the item.
shipments[].lines[].dimensions
object
The object describing the dimensions of the item. This only applies to dimensional items and is not returned for non-dimensional items.
shipments[].lines[].dimensions.length
object
The object describing the length variation of the dimensional item.
shipments[].lines[].dimensions.length.value
float
The value of the length.
shipments[].lines[].dimensions.length.uomCode
string
The unit of measure code for the length (e.g., “ft”: feet, “in”: inches).
shipments[].lines[].dimensions.length.uom
string
The description of the unit of measure (e.g., “Feet”).
shipments[].lines[].orderedQty
object
The object that describes the ordered quantity of the item.
shipments[].lines[].orderedQty.value
integer
The quantity of the item ordered.
shipments[].lines[].orderedQty.uomCode
string
The unit of measure code of the quantity (e.g., “PC”: pieces).
shipments[].lines[].orderedQty.uom
string
The description of the unit of measure (e.g., “PC”).
shipments[].lines[].unitPrice
object
The object that describes the unit price of the item.
shipments[].lines[].unitPrice.value
float
The value of the unit price.
shipments[].lines[].unitPrice.uomCode
string
The unit of measure code of the unit price(e.g., “PC”: pieces).
shipments[].lines[].unitPrice.uom
string
The description of the unit of measure (e.g., “PC”).
shipments[].lines[].amount
float
The total amount for the line item.
Available Order Statuses
The table below is a list of valid statuses for order updates.
DELIVERY
Status
Description
Requested
A delivery order has been received but has not been processed.
Scheduled
A delivery order has been scheduled for delivery.
Partial
A partial shipment has been initiated. Order will stay in “Partial” status until final shipment is delivered.
Attempted
A delivery was attempted for the order.
Delivered
The order was delivered (final status for order unless cancelled).
Pending
The order is pending processing and awaiting fulfillment.
Canceled
The order was cancelled.
Backordered
The items in the order are on backorder and fulfillment is delayed.
Will Call – Customer Pickup
Status
Description
In Progress
The customer pickup order is being fulfilled.
Picked Up
The customer has picked up the order (final status for order unless cancelled).
Pending
The order is pending processing and awaiting fulfillment.
Canceled
The order was cancelled.
Backordered
The items in the order are on backorder and fulfillment is delayed.
Express Pickup
Status
Description
In Progress
An Express Pickup order is being fulfilled.
Ready For Pickup
An Express Pickup order is ready for customer pickup.
Picked Up
The customer has picked up the Express Pickup order (final status for order unless cancelled).
Pending
The order is pending processing and awaiting fulfillment.
Canceled
The order was cancelled.
Backordered
The items in the order are on backorder and fulfillment is delayed.
Credit Memo – ABC Pickup
Status
Description
Pickup Requested
A return pickup has been requested but has not been processed.
Pickup Scheduled
A return has been scheduled for pickup.
Partial
A partial pickup has been completed. Credit Memo will stay in “Partial” status until final pickup is completed.
Attempted
A pickup was attempted for the return.
Pickup Completed
The pickup was completed (final status for return unless cancelled).
Canceled
The return was cancelled.
Credit Memo – Customer Dropoff
Status
Description
In Progress
A return dropoff has been requested but has not been processed.
Processed
A return has been dropped off and processed (final status for return unless cancelled).
Canceled
The return was cancelled.
Available Shipment Statuses
Shipment statuses are shown in the shipments array for each shipment associated with the order. For each order type, the shipment statuses will be the same as the order statuses. See the Available Order Statuses section above.