API ReferenceWebhooks
Sự kiện trạng thái chuyến
GOCheap gửi POST tới URL đã đăng ký mỗi khi chuyến đổi trạng thái.
Kiểm tra chữ ký: X-GoCheap-Signature = hex( HMAC_SHA256( secret, X-GoCheap-Timestamp + "." + raw_body ) ).
So sánh bằng hàm an toàn thời gian (timingSafeEqual) và từ chối nếu timestamp lệch quá 300 giây.
Gửi lại: không nhận được 2xx trong 10 giây thì gửi lại sau 1 phút, 5 phút, 30 phút, 2 giờ (4 lần).
Một sự kiện có thể đến hơn một lần (dùng id để bỏ trùng) và có thể đến không theo thứ tự (so created_at).
X-GoCheap-Event*stringbooking.driver_unassigned: tài xế huỷ sau khi nhận, chuyến quay vềsearchingwebhook.test: chỉ gửi khi gọi /webhooks/{webhook_id}/test-event
Value in
"booking.created""booking.driver_assigned""booking.driver_unassigned""booking.driver_arriving""booking.started""booking.completed""booking.cancelled""webhook.test"X-GoCheap-Delivery*stringMã lần gửi, khác nhau giữa các lần gửi lại
X-GoCheap-Timestamp*stringX-GoCheap-Signature*stringapplication/json- body
id*stringMã sự kiện
event*WebhookEventNamebooking.driver_unassigned: tài xế huỷ sau khi nhận, chuyến quay vềsearchingwebhook.test: chỉ gửi khi gọi /webhooks/{webhook_id}/test-event
Value in
"booking.created""booking.driver_assigned""booking.driver_unassigned""booking.driver_arriving""booking.started""booking.completed""booking.cancelled""webhook.test"created_at*stringFormat
date-timeattempt*integerRange
1 <= valuedata*Đối tác trả bất kỳ mã 2xx nào để xác nhận đã nhận
Example Requests
POST/bookingEvent
application/json
{ "id": "evt_01JCQ8Z4M2", "event": "booking.driver_assigned", "created_at": "2026-11-12T19:03:40+07:00", "attempt": 1, "data": { "booking_id": "LX261112QKD", "partner_reference_id": "HTL-20261112-0042", "service": "thue-tai-xe", "status": "driver_assigned", "price": 385000, "currency": "VND", "driver": { "name": "Trần Minh Đức", "phone": "0987654321", "rating": 4.9, "eta_s": 840 } }}{ "X-GoCheap-Event": "booking.created", "X-GoCheap-Delivery": "string", "X-GoCheap-Timestamp": "string", "X-GoCheap-Signature": "string"}