- 01 Aug 2024
- 3 Minutes to read
- Print
- DarkLight
Configure Webhooks to Receive Status Updates in your Other Systems
- Updated on 01 Aug 2024
- 3 Minutes to read
- Print
- DarkLight
Throughout the delivery process, Bringg Delivery Hub actively and passively receives status updates from your carriers, then forwards these updates to you in a standardized HTTP Post webhook using the same format as the responses Bringg sends to your API requests. This way, your systems can stay updated without sending requests for new data and do not need to be mapped to the data structure of each carrier.
You can configure webhooks to send updates to multiple URLs. For example, you can set up webhooks to automatically update your systems when a shipment's status changes. You could also build a workflow that automatically sends an SMS to customers when the shipment reaches a specific checkpoint.
If you use Delivery Hub's Branded Customer Journey, webhooks automatically include a tracking link. Otherwise, they include a tracking number for each shipment.
You can also set up automatic email and SMS notifications directly from Delivery Hub. Learn more.
Before You Begin
Confirm you have the Admin user type.
- Verify the URL endpoint and authentication header of the application that will receive the webhooks.
Configure Webhooks in Delivery Hub
Step 1 Go to Settings > Integrations > Webhooks.
Step 2 Select Add Webhook and enter the required details.
Field | Description |
---|---|
Webhook name | Enter a webhook name that is distinct and recognizable to your users. |
Description | (Optional) Enter additional information about the webhook, such as its purpose (e.g., to trigger SMS messages) and the application receiving the webhook payloads. |
Shipping account | Enter the shipping accounts whose status updates you want to track. The default is all shipping accounts. |
Select Events | Select which order, shipment, and returns events to track. Learn more about the events you can track. |
Webhook URL | Enter the URL endpoint where Bringg should send the webhook payloads. This URL should be provided by your external system. |
Header | (Optional) Enter the authentication information to include at the top of your webhooks. This allows the receiving system to confirm that the webhook is authorized. |
Step 3 Select save to enable the new webhook.
Step 4 (Optional) If you are using a staging account, you can test webhooks by simulating the progression of shipping statuses. Learn more.
Example Payload
Delivery Hub sends payloads that contain all the information used in the shipment model, with an updated status field. This updates the data in your other system with the data created in Delivery Hub.
{
"id": "6f23a780-56ca-448b-91cb-4652d252d1a0",
"created_at": "2023-06-12T20:14:13.503Z",
"updated_at": "2023-06-13T08:24:46.921Z",
"source_id": null,
"order_id": "12d351d2-e759-4d75-9cb7-2b4c71d48ef6",
"fulfillment_id": "56fc447a-7af4-4551-858d-a06417b637fb",
"service": "chrono_marchandises_dangereuses_13",
"customer_id": "9985f8bf-37ce-4805-aa2c-440cf51f5b09",
"tracking_number": "XV238719389FR",
"deliver_by": null,
"carrier_reference_number": "0004e82fc8544c999e5614c9e5752feb",
"carrier": "chrono_post",
"label_type": "PDF",
"type": "delivery",
"commercial_invoice": null,
"shipping_account_id": 123456789,
"delivery_cost": null,
"net_charge": null,
"taxes": null,
"surcharges": null,
"discounts": null,
"status": "Delivered",
"order": {
"id": "12d351d2-e759-4d75-9cb7-2b4c71d48ef6",
"created_at": "2023-06-12T20:14:10.953Z",
"updated_at": "2023-06-13T08:24:46.940Z",
"source_id": null,
"name": "Chrono_Order_260300",
"notes": [
"Service with a smile"
],
"customer_id": "d26ce054-40d7-42a0-a64f-85aaa9800ce5",
"billing_address_id": "b55ffa06-35fd-4c18-9059-77c400600323",
"custom": {
"fragile": true,
"hazzard": true
},
"currency": "CAD",
"tip": null,
"tag_name": null,
"total_price": 22000,
"status": "New",
"integration": null,
"items_count": 1,
"deliver_by": null
},
"fulfillment": {
"id": "56fc447a-7af4-4551-858d-a06417b637fb",
"created_at": "2023-06-12T20:14:10.953Z",
"updated_at": "2023-06-12T20:14:10.953Z",
"source_id": "260300",
"order_id": "12d351d2-e759-4d75-9cb7-2b4c71d48ef6",
"customer_id": "4018a19c-6d5a-48c2-8d62-272a2bbdf420",
"shipping_account_id": 123456789,
"service": "chrono_marchandises_dangereuses_13",
"sender_address_id": "0a1b2c3d-4e5f-6g7h-8i9j-0k1l2m3n4o5p",
"recipient_address_id": "67454b0b-9ac3-4671-bd04-4e914adca3bd",
"quote_id": null,
"sender_address": {
"id": "0a1b2c3d-4e5f-6g7h-8i9j-0k1l2m3n4o5p",
"created_at": "2023-06-12T20:14:10.953Z",
"updated_at": "2023-06-12T20:14:10.953Z",
"street1": "Rue de la Paix",
"street2": null,
"street3": null,
"city": "Paris",
"postal_code": "75002",
"state": null,
"country": "France",
"phone": "33123456789",
"email": "test@test.com",
"address_type": null,
"company": "Example Company"
},
"recipient_address": {
"id": "67454b0b-9ac3-4671-bd04-4e914adca3bd",
"created_at": "2023-06-12T20:14:10.953Z",
"updated_at": "2023-06-12T20:14:10.953Z",
"street1": "34 rue Henri Barbusse",
"street2": null,
"street3": null,
"city": "GENNEVILLIERS",
"postal_code": "92230",
"state": null,
"country": "FR",
"phone": "33987654321",
"email": "test@test.com",
"address_type": null,
"company": "company"
},
"name": "Chrono_Order_260300",
"deliver_by": null,
"items_count": 1,
"status": "Delivered"
},
"shipment_events": [
{
"id": "150478d8-fcb2-4460-ac16-8d44dca334d3",
"created_at": "2023-06-13T08:24:46.940Z",
"updated_at": "2023-06-13T08:24:46.940Z",
"type": "checkpoint",
"value": "Livraison effectuée",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "868cffb8-c076-4301-823c-98c4a960d297",
"created_at": "2023-06-13T08:24:46.929Z",
"updated_at": "2023-06-13T08:24:46.929Z",
"type": "status_update",
"value": "Delivered",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "d3934013-7db8-42ea-87f6-187dbfb5b7d3",
"created_at": "2023-06-13T08:24:27.221Z",
"updated_at": "2023-06-13T08:24:27.221Z",
"type": "checkpoint",
"value": "out for delivery",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "c1955895-5ea3-4fb6-b2fb-ac5bb85b7b0b",
"created_at": "2023-06-13T08:24:27.212Z",
"updated_at": "2023-06-13T08:24:27.212Z",
"type": "status_update",
"value": "OutForDelivery",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "393d9f72-995f-486f-8740-7775ef086564",
"created_at": "2023-06-13T08:14:30.807Z",
"updated_at": "2023-06-13T08:14:30.807Z",
"type": "checkpoint",
"value": "Tri effectué dans lagence de départ",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "fbbcfcac-78a9-4de2-b31f-00963827c477",
"created_at": "2023-06-13T08:14:30.798Z",
"updated_at": "2023-06-13T08:14:30.798Z",
"type": "status_update",
"value": "InTransit",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "0f9c5d79-94d5-419e-bb8e-3630ba8815df",
"created_at": "2023-06-13T08:11:23.100Z",
"updated_at": "2023-06-13T08:11:23.100Z",
"type": "checkpoint",
"value": "Envoi prêt chez lexpéditeur",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "dc3d4511-0768-492e-93d9-21f69ee37d0c",
"created_at": "2023-06-13T08:11:23.088Z",
"updated_at": "2023-06-13T08:11:23.088Z",
"type": "status_update",
"value": "PickedUp",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "d02e509e-0582-49c0-a812-b25767122537",
"created_at": "2023-06-13T08:02:46.814Z",
"updated_at": "2023-06-13T08:02:46.814Z",
"type": "status_update",
"value": "ReadyToShip",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "57d7fd0f-b194-4cb5-a45f-3ba23e469c6d",
"created_at": "2023-06-13T07:49:45.165Z",
"updated_at": "2023-06-13T07:49:45.165Z",
"type": "checkpoint",
"value": "Envoi pris en charge chez l'expéditeur",
"shipping_account_id": 123456789,
"with_shipping_rules": false
},
{
"id": "34fab1da-deec-4cf5-8784-280eef9a94b8",
"created_at": "2023-06-13T07:49:45.151Z",
"updated_at": "2023-06-13T07:49:45.151Z",
"type": "status_update",
"value": "ReadyToShip",
"shipping_account_id": 123456789,
"with_shipping_rules": false
}
],
"packages_count": 1,
"tracking_url": "https://hub.bringg.com/#/track/authorization-code",
"webhook_type": "shipment:updated"
}