# Events

# Status Update

This resource allows customers to get shipment status updates through FAST 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 (opens new window).

# 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

  POST /your-webhook-endpoint
  Content-Type: application/json
{
  "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:

  1. Retry failed message after 15 minutes for 96 times (24 hours).
  2. If the status update still fails after the 96th retry, its contents go to our dead letter queue (DLQ) for manual investigation.
  3. We (Fast) report the failure to the client.