Configure Webhooks to Receive Status Updates in your Other Systems
  • 07 Aug 2023
  • 3 Minutes to read
  • Dark
    Light

Configure Webhooks to Receive Status Updates in your Other Systems

  • Dark
    Light

Article Summary

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.

su-dh2_webhook_dgm.jpg

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.
su-dh2_webhook_add.jpg

FieldDescription
Webhook nameEnter 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 accountEnter the shipping accounts whose status updates you want to track. The default is all shipping accounts.
Select EventsSelect which order, shipment, and returns events to track. Learn more about the events you can track.
Webhook URLEnter 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"
}

Was this article helpful?