Webhooks

1. Quản lý Webhooks

Trong Docbase, vào phần Cài đặtWebhooks. Ở đây, bạn có thể quản lý danh sách các webhooks đã được tạo.

webhook_1

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.

webhook_2

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:

webhook_3

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