Webhooks
Hệ thống Zogo webhook giúp các website tích hợp với Zogo có thể nhận thông tin update tự động và nhanh chóng
Thay vì phải lấy dữ liệu một cách thủ công và bị động, bạn có thể sử dụng Zogo Webhooks để nhận các update mới nhất một cách tự động.
Zogo API cung cấp webhook dựa trên các event xảy ra trên hệ thống Zogo API.
Webhook events:
Listen các webhook events dưới đây để cập nhật thông tin mới nhất cho hệ thống của bạn.
- Cập nhật trạng thái vận đơn
Cài đặt webhook
Mỗi khi có cập nhật mới, hệ thống Zogo API sẽ đẩy thông tin đó tới một url endpoint của bạn. Bạn cần đăng ký url endpoint theo các webhook event tương ứng.
Trên giao diện Kết nối API mục Zogo API Webhooks, bạn chọn Webhook event và nhập vào endpoint để listen event này. Bấm Add subscription.
- Bạn nên sử dụng 1 secured url (https) để listen các webhook event.
- Bạn có thể sử dụng nhiều endpoint để listen cùng webhook event.
Xác thực webhook
Để tránh việc bị tấn công "Man in the middle", mỗi webhook request từ Zogo API sẽ bao gồm 1 x-zogo-hmac-sha256
trong header.
Giá trị của checksum được sinh ra từ việc mã hóa thông tin credentials của bạn và dữ liệu Zogo gửi tới. Sau đó so sánh với chuỗi giá trị checksum của x-zogo-hmac-sha256
.
Nếu chúng khớp với nhau, bạn có thể sử dụng thông tin từ body request để cập nhật hoặc lưu trữ.
Nhận thông tin từ webhook
Sau khi bạn đã đăng ký thông tin webhook thành công, Zogo sẽ gửi các request mang thông tin update của webhook event tới url endpoint mà bạn đã đăng ký.
Các webhook event sẽ có format request body khác nhau:
Cập nhật trạng thái vận đơn
Trong đó:
code
: Mã đơn của Zogoweight
: Trọng lượng gói hàng mà Zogo tiếp nhậnfee
: Phí vận chuyểnstatus
: Mã trạng thái vận đơnstatus_text
: Trạng thái vận đơnmessage
: Nội dung thông báo từ Zogo
Khi bạn nhận được các thông tin này, bạn có thể cập nhật lại thông tin vận đơn cho chính xác.
Xem thêm danh sách trạng thái vận đơn
Phản hồi lại webhook
Mỗi khi nhận được webhook request từ Zogo API, bạn cần phản hồi lại với 1 HTTP status code là 200
OK.
Một request nếu không có phản hồi với status code là 200
, Zogo sẽ request lại sau 3 phút.
Sau 3 lần request thất bại, tác vụ sẽ bị hủy để tránh request quá nhiều tới hệ thống của bạn.