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

 
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.

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.