Events
Status Update
This resource allows customers to get shipment status updates through TMS Events. We currently support HTTPS URLs to ensure security. We only send JSON data to your webhook URL via HTTP POST and expect a 200 HTTP status code in the response. Anything other than a 200 status code will be treated as failure and the request will be retried at a later time. To register your endpoints for our webhook notifications, please click here.
Format
Every JSON payload send to your api endpoint will have the following attributes:
Name | Type | Description | Required? |
---|---|---|---|
CheckInTypeId | int | Event type Id | yes |
CheckInTypeName | string | Event type name | yes |
CheckInDate | date | Event date | yes |
CheckInTime | time | Event time | yes |
CheckInBusinessUnitId | int | Checkin businessunit id | yes |
Longitude | decimal | Location longitude | yes |
Latitude | decimal | Location latitude | yes |
Remarks | string | Event remarks | optional |
ReceivedBy | string | Receiver upon delivery | optional |
DexTypeId | int | Delivery exception type id | optional |
DexTypeName | string | Delivery exception type name | optional |
CustomerId | int | Customer Id | yes |
ShipmentReferences | array | Array of shipment customer document objects | yes |
CheckInPhotosURL | array | array of checkin photos url | optional |
Shipment References Object Data
Name | Type | Description | Required? |
---|---|---|---|
ShipmentId | int | Shipment Id | yes |
WaybillNo | string | Shipment waybill number | optional |
CustomerDocuments | array | Array of customer documents numbers | yes |
Sample Payload
javascript
POST /your-webhook-endpoint
Content-Type: application/json
javascript
{
"CheckInTypeId": 17,
"CheckInTypeName": "Vehicle Arrived At Site\r\n",
"CheckInDate": "2021-06-14T09:49:08",
"CheckInTime": "09:49:08",
"CheckInBusinessUnitId": 12,
"Longitude": 122.5364557,
"Latitude": 10.7168544,
"Remarks": null,
"ReceivedBy": null,
"DexTypeId": null,
"DexTypeName": null,
"CustomerId": 410,
"ShipmentReferences": [{
"ShipmentId": 741534,
"WaybillNo": null,
"CustomerDocuments": ["CEBS0501966"]
}, {
"ShipmentId": 741536,
"WaybillNo": null,
"CustomerDocuments": ["CEBS0501975"]
}, {
"ShipmentId": 741538,
"WaybillNo": null,
"CustomerDocuments": ["CEBS0502205"]
}, {
"ShipmentId": 741543,
"WaybillNo": null,
"CustomerDocuments": ["CEBS0502041"]
}],
"CheckInPhotosURL": null
}
Retries
Our system has a retry protocol whenever we get an error response from the client (i.e. a non-200 HTTP status code). Our retry phases are as follows:
- Retry failed message after 15 minutes for 96 times (24 hours).
- If the status update still fails after the 96th retry, its contents go to our dead letter queue (DLQ) for manual investigation.
- We (Fast) report the failure to the client.