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_no":"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.


What’s Next