Nhảy tới nội dung

Webhook

Giới thiệu

Tini App dùng webhook để notify tới ứng dụng backend của developer khi có các sự kiện liên quan tới việc vận chuyển hàng xảy ra.

Webhook Response

Thuộc tínhKiểu dữ liệuMô tả
tracking_idstringunique code của shipment
client_order_idstringorder id gắn với shipment
timestampstringthời gian xảy ra sự kiện (ex: "2021-06-04T04:09:51Z")
partner_codestringmã code của đối tác vận chuyển
service_codestringmã code của loại hình vận chuyển
shipping_feefloatcước phí giao hàng
statusstringtrạng thái của đơn hàng
reason_codestringmã code lý do giao hàng thất bại
driverobjectthông tin tài xế giao hàng

Lưu ý:

Ở một vài trạng thái sẽ không có thông tin tài xế ví dụ allocating, canceled. Xem thêm mô tả trạng thái tại đây.

Mô tả các mã code lý do giao hàng thất bại:

CodeMô tả
no_longer_neededKhách hàng không còn nhu cầu
virtual_customerKhách hàng ảo
canceled_by_3plHuỷ bởi đối tác
driver_not_foundKhông tìm thấy tài xế
package_in_returnĐang trả kiện hàng
package_returnedĐã trả kiện hàng
undefinedLý do không xác định

Response Example

{
"tracking_id": "Test101",
"client_order_id": "11111",
"timestamp": "2021-06-04T04:09:51Z", // RFC3339
"partner_code": "GRAB",
"service_code": "SAME_DAY",
"shipping_fee": 50000,
"status": "picking",
"reason_code": "",
"driver": {
"name": "Cuong Vu",
"phone": "0901844442",
"license_plate": "A 3333 SYY",
"photo_url": "https://somephotourl.com/sgdfb6gfd87",
"current_coordinates": {
"latitude": 1.2345678,
"longitude": 1.2345678,
}
}
}

Webhook Signature

Với mỗi webhook event, Tini App chèn thông tin signature thông qua các header sau:

HeaderMô tả
X-Tiniapp-TimestampThời gian gọi request, tính bằng milliseconds
X-Tiniapp-Client-IdClient id được cấp khi tạo app
X-Tiniapp-SignatureSignature được tính dựa trên request body

Việc này cho phép đối tác xác thực được webhook event được gửi từ Tini App. Xem thêm việc tính toán và xác thực signature tại đây