Webhook Events
Shiipp fires webhooks for two event types:| Event | Trigger |
|---|---|
new_package | A new package is logged for your courier in the warehouse |
status_update | A manifest associated with your courier changes status |
api_url_add_package for package events and api_url_status_update for manifest status events.
Using the Payload Builder
The Payload Builder is only available to users with the Admin or Manager role. As a courier partner, configure your endpoint URLs in Courier Settings and coordinate with your Shiipp administrator to customise payload shapes if needed.
Select the payload type
Choose either new_package or status_update from the event type selector. The variable panel on the left updates to show variables available for that event.
Add fields
Drag fields from the variable panel onto the builder canvas. For each field, set:
- Key — the JSON property name your system receives (e.g.
tracking_no) - Value — a Shiipp variable that resolves at dispatch time (e.g.
{{tracking_number}})
Set the root type
Choose whether your payload root is a JSON object
{} or an array [] to match your receiving endpoint’s expected structure.Available Variables
- new_package
- status_update
Use these variables when building the payload for the
new_package event.| Variable | Description |
|---|---|
{{package_id}} | Internal package UUID |
{{tracking_number}} | Carrier tracking number |
{{house_number}} | Internal warehouse reference number |
{{weight}} | Package weight in LBS |
{{user_code}} | Customer code |
{{first_name}} | Customer first name |
{{last_name}} | Customer last name |
{{shipper}} | Shipper or vendor name |
{{description}} | Package contents description |
{{entry_date_time}} | Date and time the package was logged |
Example Payload
Here is an example of anew_package payload shaped in the Payload Builder and the resolved JSON your endpoint receives when a package is logged:
Webhook Delivery
Shiipp sends all webhooks asPOST requests with the following headers:
| Header | Value |
|---|---|
Content-Type | application/json |
Authorization | Bearer <your_api_token> |
api_token is configured in Courier Settings and is the same token Shiipp uses for the customer sync request. Validate this token on your receiving endpoint to confirm the request originates from Shiipp.
Retry behavior on failed delivery
Retry behavior on failed delivery
If your endpoint does not return an HTTP
2xx response, Shiipp retries the delivery up to 5 times using exponential backoff. The retry intervals are approximately 30 seconds, 2 minutes, 10 minutes, 30 minutes, and 2 hours. If all five retries fail, the event is marked as undelivered and no further attempts are made.Inspecting delivery attempts
Inspecting delivery attempts
Open the System Logs in the Shiipp dashboard to view recent webhook delivery attempts. Each entry shows the target URL, the HTTP response code received, and the timestamp of the attempt. Use this to diagnose delivery failures and verify that your endpoint is receiving payloads correctly.