Before you start
You need:- A Terminal49 API key.
- A public HTTPS endpoint that can receive
POSTrequests. - At least one active tracking request.
Create a webhook endpoint
You can create a webhook from the dashboard or the API. To use the dashboard:1
Open Developer Webhooks
Go to Developer Webhooks in your Terminal49 dashboard.
2
Create the endpoint
Click Create Webhook Endpoint and enter your HTTPS endpoint URL.
3
Choose events and save
Choose the events you want to receive, then save the webhook.
id and secret. Store the secret securely; you use it to verify webhook signatures.
Receive the first event
After Terminal49 detects a change for one of your tracked shipments or containers, it sends aPOST request to your endpoint.
Every notification has the same top-level shape:
data.attributes.event first. This tells your handler which code path to run.
Common first events are:
tracking_request.succeeded: Terminal49 found the shipment and created tracking records.tracking_request.failed: Terminal49 could not create tracking for the submitted number.container.updated: One or more container attributes changed.
Return a successful response
Your endpoint should return a success status (200, 201, 202, or 204) after it durably accepts the event — persist or enqueue the payload first, then process it asynchronously.Before you use webhooks in production
Production webhook handlers should:- Verify the
X-T49-Webhook-Signatureheader against the raw request body. - Allowlist Terminal49 webhook IPs.
- Deduplicate by
data.id. - Process asynchronously when work may take more than a few seconds.
Next steps
Event catalog
Choose the events your integration should subscribe to.
Payload reference
Review the notification envelope and example payloads.