Hướng dẫn Tạo và Quản lý Webhooks trong Chative.IO
Tạo webhook
Làm theo các bước sau để tạo một Webhook:
Bước 1: Truy cập vào ứng dụng Chative.IO.
Bước 2: Trên thanh bên, nhấp vào biểu tượng Cài đặt.
Bước 3: Trong menu xổ xuống, chọn Developer > Webhooks.
Bước 4: Nhấp vào Tạo Webhook.
Bước 5: Thêm URL HTTPS của endpoint webhook vào trường Payload URL.
Bước 6: Nhấp vào Tạo mới.
Yêu cầu đối với webhooks
Để đảm bảo webhook của bạn hoạt động đúng cách, cần đáp ứng các yêu cầu sau:
- Webhook phải được cấu hình với HTTPS (TLS).
- Máy chủ của bạn nên phản hồi với mã trạng thái HTTP 200.
- Máy chủ cần xử lý các loại sự kiện không mong đợi mà không trả về lỗi.
Cách hoạt động của Webhooks
Chức năng webhooks của Chative.IO đảm bảo bạn nhận được thông báo kịp thời khi có sự kiện xảy ra trong ứng dụng của bạn:
- Máy chủ gửi dữ liệu đến mỗi webhook đang hoạt động thông qua một yêu cầu HTTP POST.
- Yêu cầu được gửi bởi Chative.IO sẽ được mã hóa dưới dạng UTF-8.
- Loại nội dung của yêu cầu sẽ được chỉ định là application/json.
Bảo mật cho webhooks
Chative cung cấp phương pháp để xác nhận tính bảo mật của máy chủ webhook của bạn.
Token xác thực của mỗi yêu cầu POST nên được bao gồm trong nội dung yêu cầu. Điều này đảm bảo rằng Chative.IO là nguồn gốc của các webhook đến.
Token xác thực
Token xác thực, là một khóa bí mật tùy chọn, có thể được chỉ định khi tạo webhook của bạn. Khuyến nghị sử dụng token xác thực để bảo vệ các endpoint webhook của bạn, ngăn chặn các hành động không được phép và bảo vệ máy chủ khỏi các rủi ro tiềm tàng.
Cấu trúc của đối tượng dữ liệu Webhook
Dữ liệu từ một yêu cầu webhook thường tuân theo cấu trúc của đối tượng dưới đây:
- _id: Mã định danh duy nhất của payload webhook.
- event: Sự kiện mà webhook được gửi.
- createdAt: Dấu thời gian UNIX chỉ định ngày và giờ mà payload được tạo.
- deliveryAttempts: Số lần payload đã được gửi.
- firstSentAt: Dấu thời gian UNIX chỉ định ngày và giờ mà payload được gửi lần đầu tiên.
- items: Trường này chứa thông tin về hành động liên quan đến payload webhook. Đối với webhook liên quan đến liên hệ, trường này sẽ cung cấp đối tượng liên hệ.
Ví dụ: Khi bạn nhận được một webhook chỉ ra việc cập nhật một liên hệ, trường 'items' trong payload webhook sẽ chứa thông tin sau:
- _id: Mã định danh duy nhất của liên hệ.
- object: Loại đối tượng, trong trường hợp này là liên hệ.
- createdAt: Dấu thời gian UNIX khi payload webhook được tạo.
- data: Cung cấp thông tin về trường cụ thể của liên hệ đã được cập nhật.
- infoWebhook: Bao gồm một đối tượng chứa thuộc tính 'verifyToken'. Tham khảo phần Bảo mật cho webhooks để tìm hiểu thêm.
Thử lại
Nếu Chative.IO không nhận được mã trạng thái 200 làm phản hồi từ webhook của bạn, nó sẽ tự động thử gửi lại yêu cầu. Chative.IO sẽ thử lại yêu cầu tối đa năm lần, với khoảng cách 5 giây giữa mỗi lần thử lại.
Webhook sẽ tiếp tục được thử lại cho đến khi một trong các điều kiện sau được đáp ứng:
- Webhook phản hồi với mã trạng thái 200, chỉ ra một phản hồi thành công.
- Số lần thử lại tối đa (5) đã đạt.
Hủy kích hoạt
Nếu webhook không thành công sau năm lần thử, nó sẽ được coi là thất bại và sẽ không được thử lại nữa. Kết quả là, webhook sẽ bị hủy kích hoạt.
Dưới đây là các lý do hủy kích hoạt webhook:
- Webhook bị hủy kích hoạt vì Chative.IO không thể kết nối đến endpoint webhook đã chỉ định.
- Webhook bị hủy kích hoạt vì gói của tổ chức đã bị hạ cấp từ gói doanh nghiệp.
Kích hoạt lại
Để kích hoạt lại một webhook, bạn có thể thực hiện theo các bước sau trong ứng dụng Chative:
Bước 1: Truy cập vào ứng dụng Chative.IO.
Bước 2: Trên thanh bên, nhấp vào Cài đặt.
Bước 3: Từ menu xổ xuống, điều hướng đến Developer và chọn Webhooks.
Bước 4: Chọn webhook đã bị hủy kích hoạt mà bạn muốn kích hoạt lại.
Bước 5: Nhấp vào biểu tượng ba chấm bên cạnh webhook và chọn tùy chọn Kích hoạt.