Platform / IntegrationAPI & Webhook
Danh sách Webhook
Bảng Webhook outbound, mỗi row tương ứng một sự kiện cụ thể đăng ký URL nhận.
Bảng quản lý webhook outbound: mỗi row là một event code (ví dụ order.add) gắn với 1 URL HTTP do merchant cấu hình để nhận callback khi sự kiện xảy ra.
Vị trí menu admin
Không có mục riêng trên menu chính. Vào qua:
- Cài đặt & Mở rộng > Cài đặt khác, tab Webhook (chỉ hiện khi gói đã bật tích hợp webhook), bấm Quản lý Webhook.
- Hoặc mở trực tiếp
/webhooknếu được quản trị cung cấp.
Giao diện tổng thể
<PageDataTable> với các cột:
| Cột | Key | Width | Ghi chú |
|---|---|---|---|
| ID | id | 60 | Click số ID để mở modal sửa (<TableLinkText>). |
| Mã sự kiện | event | 180 | Hiển thị monospace ví dụ order.add, customer.edit. |
| Tên sự kiện | event | 180 | Render qua key i18n webhook:event_<event_with_underscores> - ví dụ event_order_add. |
| URL nhận webhook | meta_data.webhook.url | flex | Lấy từ meta_data.webhook.url. Lưu trong JSON meta_data. |
| Trạng thái | status | 110 | Tag màu từ WebHookModel.getStatus(status). |
| Thao tác | trigger | 120 | Sửa và xoá; nếu không có quyền quản trị nâng cao thì cột này có thể ẩn. |
Đầu trang có nút Thêm mới (chỉ hiện khi tài khoản có quyền quản trị nâng cao).
Tìm kiếm và lọc
<WebHookListFilter> - chi tiết tuỳ phiên bản frontend, mặc định lọc theo trạng thái và keyword.
Thao tác chính
- Xem danh sách: bảng tự load qua
WebHookRepository.getItems({filters}). - Tạo webhook mới: nhấn Thêm mới → mở
<WebHookFormModal>vớieditingId=0. Save thành công$unshiftlên đầu danh sách. - Sửa webhook: nhấn ID hoặc icon edit → mở modal với
editingId=record.id. Save thành công replace item. - Xoá webhook: nhấn icon delete → confirm → gọi
WebHookRepository.deleteItem. Lỗi quawebhook:form.error.
Các lối đi từ trang
/setting/common/tab/webhook- quay về tab cấu hình.- Modal form: xem Tạo và cập nhật Webhook.
- Marketplace webhook log inbound: Marketplace > Webhook log - đây là route khác (
/ecomchannelwebhooklog), không liên quan tới/webhook.
Lưu ý - Lỗi thường gặp
- Tên sự kiện hiện ra mã thô (ví dụ
event_order_add): file translationwebhook.jsonthiếu key tương ứng. Liên hệ team dịch để bổ sung keywebhook:event_<event_with_underscores>. - URL hiển thị trống:
meta_data.webhook.urlkhông tồn tại - data có thể bị lỗi. Mở modal sửa và nhập lại URL. - Không thấy nút Thêm mới hoặc không sửa/xoá được: tài khoản chưa được gán quyền Cài đặt nâng cao.
- UI không có cột "Số lần delivery thất bại" hay "Last delivery time": đúng - frontend hiện không expose delivery log/retry. Nếu cần debug, dùng log backend hoặc Activity Log.
- Webhook không gọi được URL bên ngoài: kiểm tra trạng thái bật, gói đã bật tích hợp webhook, và URL có truy cập được từ internet. Trên giao diện thường không có màn hình “chữ ký bí mật” hay nhật ký gửi chi tiết—cần đối soát phía máy chủ hoặc nhật ký hoạt động.
Ai được xem và chỉnh?
- Xem danh sách tại
/webhook: mọi tài khoản đăng nhập. - Thêm, sửa, xoá: chỉ người có quyền Cài đặt nâng cao; khi thiếu quyền, nút thường bị ẩn.
- Thấy tab Webhook trong Cài đặt khác: cần quyền Cài đặt công ty và gói có tích hợp webhook.