Webhooks
1. Quản lý Webhooks
Trong Docbase, vào phần Cài đặt → Webhooks. Ở đây, bạn có thể quản lý danh sách các webhooks đã được tạo.
Bạn có thể tạo mới 1 webhook bằng cách nhấp chuột vào nút Thêm Webhook. Khi đó, màn hình tạo webhook sẽ hiện ra.
Các thông tin cần cung cấp khi tạo 1 Webhook:
- Tên Webhook.
- Trigger Events: Sự kiện Webhook sử dụng.
- Thư mục: Các thư mục gán với webhook.
- URL: Đường dẫn nhận dữ liệu.
2. Cách hoạt động của webhook
Docbase hỗ trợ sự kiện send_data
đối với Webhook. Sau khi tài liệu trong thư mục sử dụng Webhook đã được phê duyệt, sự kiện send_data
sẽ được kích hoạt, toàn bộ dữ liệu sẽ được gửi qua URL kèm theo 1 Signature ở header đã được mã hóa từ Secret của Webhook đó.
Các thông tin được gửi đi bao gồm:
event
: Mặc định làsend_data
.file
: Dữ liệu của file tương ứng.
Ví dụ dữ liệu gửi đi:
Bên URL nhận dữ liệu sẽ tiến hành xác thực dựa trên việc mã hóa Secret của Webhook đó.
Mẫu code python xác thực Signature:
Copied
docbase_signature = request.headers['CVS-DocBase-Signature']
body = request.body
expected = hmac.new(
key=client_secret.encode('utf-8'),
msg=body,
digestmod=sha256,
).hexdigest()
if expected != docbase_signature:
raise UnauthorizedError