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 the order status changes. The event payload includes order status, order details, shipment status, and shipment details.
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": "Invoiced",
"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.
Status
Description
Requested
A delivery order has been received but has not been processed.
In Progress
The order is being processed.
Pickup Requested
A Customer Pick-Up order has been receive but has not been processed.
Scheduled
A delivery order has been scheduled for delivery.
Pickup Scheduled
A Customer Pick-Up order has been scheduled for pick-up.
Pending
The order is pending processing and awaiting fulfillment.
Backordered
The items in the order are on backorder and fulfillment is delayed.
Partial
A partial shipment or pick-up has been initiated.
Attempted
A delivery was attempted for the order.
Delivered
The order was delivered.
Picked Up
The order was picked up by the customer.
Processed
The order has been processed and is in fulfillment.
Pickup Completed
The Customer Pick-Up order was closed and marked as completed.
Cancelled
The order was cancelled.
Ready For Pickup
A Customer Pick-Up order is ready to be picked up.
Completed
The order delivery was completed.
Needs Approval
The order is awaiting additional approval.
Available Shipment Statuses
The table below is a list of valid statuses for shipments within order updates.
Status
Status Code
Description
Staged
S
The shipment is staged for delivery.
Loaded
L
The shipment has been loaded into the delivery vehicle.
En Route
E
The shipment is in transit to its delivery destination.
Delivered
D
The shipment has been delivered.
Invoiced
I
The shipment has been invoiced.