> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer-stage.shipbob.dev/2026-01/logistics/webhooks/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer-stage.shipbob.dev/_mcp/server. # ShipBob Logistics Webhook The Tracking Received webhook is designed for 3PL merchants who want real-time updates when ShipBob receives tracking details for ShipBob Logistics orders. This guide outlines the steps to set up the `order.shipment.tracking_received` webhook. ## 1. Subscribe to the tracking received webhook To receive tracking updates, merchants must subscribe to the `order.shipment.tracking_received` webhook using the ShipBob Public Webhooks API. Refer to the ShipBob Developer API to create a webhook subscription [here](/api/webhooks/create-subscription). **Request Payload:** **`POST https://api.shipbob.com/2026-07/webhook`** ```javascript POST https://api.shipbob.com/2026-07/webhook { "topics": ["order.shipment.tracking_received"], "url": "https://mywebsite.com/shipbob/handler" } ``` > **Note** > > If testing on ShipBob sandbox account the base url would be `https://sandbox-api.shipbob.com/2026-07/webhook` ## 2. Handling Webhook Notifications Once subscribed, your webhook handler will receive real-time tracking updates from ShipBob in the following payload format. **Webhook Payload Example:** ```javascript { "event_time": "2025-10-23T15:55:09.3614767Z", "order_id": 100000001, "reference_id": "TEST101", "status": "LabelCreated", "tracking": { "carrier": "USPS", "carrier_service": "ParcelSelect", "tracking_id": "9261290306529427911297", "tracking_url": "https://tools.usps.com/go/TrackConfirmAction!input.action?tRef=qt&tLc=0&tLabels=9261290306529427911297" } } ``` To understand more about ShipBob webhooks and how they work, please refer to our [webhooks documentation](https://developer.shipbob.com/webhooks/). ## 3. Implementing the Webhook Handler **Steps to Implement the Webhook Handler:** 1. **Set up an endpoint** on your server (e.g., `https://mywebsite.com/shipbob/handler`). 2. **Validate incoming requests** to ensure they originate from ShipBob. 3. **Parse the payload** and extract relevant tracking details. 4. **Store or process tracking updates** as needed (e.g., update order status in your system). 5. **Respond with HTTP 200 OK** to acknowledge receipt of the webhook. ## FAQs #### Webhook Not Triggering? * Ensure your **subscription URL is correct** and **publicly accessible**. * Confirm your app **`returns a 2XX response`** to ShipBob’s `POST` request. * If you are in sandbox, verify that you are creating labels with `location_id: 33`. #### Can I view webhooks logs? Yes, you can view webhook logs in the ShipBob dashboard by going to **Integrations** > **Webhooks**. Then, click into your webhook and you will be able to see logs at the bottom of the page. ![Tracking received webhook](D:\Code\fern-documentation\fern\docs\assets\images\webhook-tracking-received.png)