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
                }
    	    ]
        }
    ]
}

 
Expand

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.