shipment.status_updated events in real time.
Setup
To configure your webhook, provide the following to the UniUni team:| Field | Description |
|---|---|
endpoint | HTTPS URL where you will receive webhook events |
authentication method | HMAC, Bearer, or None |
hmacSecret | Required only when using HMAC |
token | Required only when using Bearer Token |
Authentication methods
- HMAC-SHA256 (Recommended)
- Bearer Token
- No Authentication
Webhook requests include an HMAC signature in the header:Signature calculation:Verification steps:
- Read the
X-Signatureheader - Recompute the signature using your secret
- Compare using a timing-safe comparison
Payload format
| Field | Type | Description |
|---|---|---|
event | string | Event type (shipment.status_updated) |
data.trackingId | string | Shipment tracking ID |
data.status | string | New shipment status |
data.statusCode | number | Internal status code |
data.updatedAt | string | ISO 8601 timestamp |
data.address | object | Address and location data |
data.proofOfDelivery | object | Returned only when status is DELIVERED |
Address
| Field | Type | Description |
|---|---|---|
address1 | string | Address line 1 |
address2 | string | Address line 2 |
city | string | City |
province | string | Province / State |
postalCode | string | Postal code |
country | string | Country code |
latitude | number | Latitude |
longitude | number | Longitude |
Proof of delivery
Included when the shipment status isDELIVERED.
| Field | Type | Description |
|---|---|---|
recipient | string | Name of person who received the parcel |
deliveryDate | string | YYYY-MM-DD |
deliveryTime | string | HH:mm:ss |
pods | string[] | Proof of delivery image URLs |
Example payload
Testing
Use the sandbox test endpoint to verify your webhook integration:- Your server receives webhook requests
- Authentication is working correctly
- Your system can parse the payload