Payload
Request Format
The format prepared by the engine is JSON.
JSON-Formatted Request
Method | Content-type |
---|---|
POST | application/json |
{
"auth":"7984d7039821972c27dbaa9a0f9f3b29",
"order_id":"60af69a2d48465d30e2b5b85",
"tracking_id":"2CQJADENEAU",
"order_tracking_id":"60af69b98f62b9082bdfebf9",
"external_id":"SHIP-001",
"status_date":"2021-05-27T09:43:21+00:00",
"internal":{
"id":3,
"name":"Dijemput Driver",
"description":"Paket Anda sudah dijemput oleh Shipper Driver"
},
"external":{
"id":99,
"name":"Dijemput Driver",
"description":"Paket Anda sudah dijemput oleh Shipper Driver"
},
"internal_status":{
"code":1001,
"name":"Valid",
"description":"Valid"
},
"external_status":{
"code":1000,
"name":"Paket sedang dipersiapkan",
"description":"Paket sedang dipersiapkan"
},
"awb":"010116222971811"
}
Please be noticed that awb property is sent only when the AWB number attached into the order. When no AWB attached, it will not be sent.
Auth is generated from shipper system using this function
auth = crypto.createHash("md5").update(<api_key> + <endpoint_url> + <response_format>).digest("hex");
response_format is ‘json’ with small letters.
Parameter Description
Parameter | Description | Sample Value |
---|---|---|
auth | An md5 hash string used as an identifier of the Webhook callback origin | "7984d7039821972c27dbaa9a0f9f3b29" |
order_id | The object ID generated | "60af69a2d48465d30e2b5b85" |
tracking_id | Shipper Order ID | "2CQJADENEAU" |
external_id | External ID generated by user | "SHIP-001" |
status_date | The timestamp of the status update formatted in ISO 8601 | "2021-05-27T09:43:21+00:00" |
internal | The internal status used for Shipper Internal Status. Preferably used by Shipper Internal Team | - |
internal.id | The internal status ID | 3 |
internal.name | The name of the internal status | "Dijemput Driver" |
internal.description | The description of the internal status | "Paket Anda sudah dijemput oleh Shipper Driver" |
external | The external status used for Logistic Statuses. Preferably used for displaying to user because it is what shown by the courier | - |
external.id | The external status ID | 99 |
external.name | The name of external status | "Dijemput Driver" |
external.description | The description of the external status | "Paket Anda sudah dijemput oleh Shipper Driver" |
internal_status | The internal status used by Shipper | - |
internal_status.code | The internal status code | 1001 |
internal_status.name | The name of internal status | "Valid" |
internal_status.description | The description of internal status | "Valid" |
external_status | The external status used for Shipper Status. Preferably used for displaying to user. | - |
external_status.code | The external status code | 1000 |
external_status.name | The name of external status | "Paket sedang dipersiapkan" |
external_status.description | The description of external status | "Paket sedang dipersiapkan" |
awb | The awb number generated by our 3PL partners to track the 3PL Order Status. It will be generated when internal.id = 4 | "010116222971811" |
Parameter Mapping
In order detail API V3 here is the equivalent mapping of the parameters from the webhook
Parameter in Webhook | Parameter in Order Detail |
---|---|
internal | - |
external | logistic_status |
internal_status | - |
external_status | shipper_status |
Expected Response
No response is expected from the Webhook shipper engine. In terms of the Shipper webhook system, there is no logic required from the response received after creating a request to an endpoint partner.
Updated about 1 year ago
What’s Next