Webhooks
Shipbubble sends a payload to notify your application each time there is a status change on any of your labels (shipments).
The payload for each webhook event will include information about the related API response. Your provided endpoint should be set up to receive an HTTP POST request and must always return a 200 HTTP response within 15 seconds of the request; otherwise, it will be marked as failed.
In the case of a failed webhook, we’ll send a webhook every 5 minutes for the first 5 tries.
VERIFYING WEBHOOKS WITH SHIPBUBBLE SIGNATURE
To prevent your application from a replay attack, we recommend that you verify all webhook events by checking for our unique signature, x-ship-signature, in the request headers of our webhooks.
We hash each webhook message that we send to your URL using HMAC (Hash-based Message Authentication Code) with the SHA512 algorithm and API_KEY as the key of the hash
Events
Shipbubble sends webhook events to notify you of changes in your shipment process.
Here are some of the event types we send; we'll update the list as we release more actions in the future.
shipment.label.created
When a new shipping label is created.
shipment.status.changed
When the status of your shipment changes
shipment.cancelled
When your shipment is cancelled
shipment.cod.remitted
When payment for a cash-on-delivery order has been remitted to your account
shipment.sla.updated
When the delivery eta time is updated, a delay_reason is added the payload as well
shipment.waybill.updated
When a new waybill or tracking code is generated for a shipment
wallet.threshold.alert
When your wallet balance is equal to or below the threshold you've set. It will only go out if a threshold has been set in your dashboard
wallet.auto_topup.succeeded
When your wallet is topped up by any of our auto debit functions
wallet.auto_topup.failed
When we try to top up your wallet and there is a failure, a reason is also present in the payload
Last updated
Was this helpful?