Request Format

The format prepared by the engine is ​JSON​.

JSON-Formatted Request

MethodContent-type
POSTapplication/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

ParameterDescriptionSample Value
authAn md5 hash string used as an identifier of the Webhook callback origin"7984d7039821972c27dbaa9a0f9f3b29"
order_idThe object ID generated"60af69a2d48465d30e2b5b85"
tracking_idShipper Order ID"2CQJADENEAU"
external_idExternal ID generated by user"SHIP-001"
status_dateThe timestamp of the status update formatted in ISO 8601"2021-05-27T09:43:21+00:00"
internalThe internal status used for Shipper Internal Status. Preferably used by Shipper Internal Team-
internal.idThe internal status ID3
internal.nameThe name of the internal status"Dijemput Driver"
internal.descriptionThe description of the internal status"Paket Anda sudah dijemput oleh Shipper Driver"
externalThe external status used for Logistic Statuses.
Preferably used for displaying to user
because it is what shown by the courier
-
external.idThe external status ID99
external.nameThe name of external status"Dijemput Driver"
external.descriptionThe description of the external status"Paket Anda sudah dijemput oleh Shipper Driver"
internal_statusThe internal status used by Shipper-
internal_status.codeThe internal status code1001
internal_status.nameThe name of internal status"Valid"
internal_status.descriptionThe description of internal status"Valid"
external_statusThe external status used for Shipper Status.
Preferably used for displaying to user.
-
external_status.codeThe external status code1000
external_status.nameThe name of external status"Paket sedang dipersiapkan"
external_status.descriptionThe description of external status"Paket sedang dipersiapkan"
awbThe 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 WebhookParameter in Order Detail
internal-
externallogistic_status
internal_status-
external_statusshipper_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.


What’s Next