Webhook
Tài liệu này giải thích cách thiết lập Webhook để thông báo cho bạn mỗi khi công ty của bạn có một sự kiện cụ thể xảy ra.
Lưu ý
Để thiết lập Webhook bất kỳ, bạn cần phải:
Tạo một điểm cuối trên máy chủ để xử lý các yêu cầu HTTP.
Cấu hình Webhooks trong menu tích hợp tại trang my.doopage.com
Tạo điểm cuối xử lý webhook
Điểm cuối của bạn phải có khả năng xử lý 2 loại yêu cầu HTTP: [Yêu cầu xác minh] và [Thông báo sự kiện].
Yêu cầu xác minh
Mỗi khi bạn cấu hình Webhooks tại trang Tích hợp, chúng tôi sẽ gửi yêu cầu GET đến URL điểm cuối của bạn. Yêu cầu xác minh bao gồm các thông số chuỗi truy vấn sau đây, được thêm vào cuối URL điểm cuối của bạn. Các yêu cầu này sẽ có dạng như sau:
**Yêu cầu xác minh từ DooPage**
GET https://your-domain.com/webhook-endpoint?
validation_key=<your_input_key>&
challenge_key=<random_string>Tham số
Giá trị mẫu
Mô tả
challenge_key
doopage_key
Một chuỗi ngẫu nhiên được tạo bởi DooPage.
**Xác thực yêu cầu xác minh**
Mỗi khi nhận được yêu cầu xác minh, điểm cuối của bạn phải:
Xác minh rằng giá trị
validation_keykhớp với chuỗi mà bạn đặt trong trườngValidation keykhi cấu hình Webhooks trong trang Tích hợp.Phản hồi với giá trị
challenge_key.
Thông báo sự kiện
Khi cấu hình Webhooks, bạn sẽ đăng ký các sự kiện cụ thể (Ví dụ: Tích vào Customer created để nhận được thông tin mỗi khi có khách hàng mới được tạo trên DooPage). Mỗi khi có thay đổi cho một trong các trường này, chúng tôi sẽ gửi yêu cầu POST tới điểm cuối của bạn kèm theo JSON payload Ví dụ: Customer created webhook payload.
Trường
Mô tả
company_id
Mã công ty
event_type
Loại sự kiện
timestamp
Dấu thời gian sự kiện xảy ra (millisecond)
data
Nội dung sự kiện (Tùy loại sự kiện mà bạn sẽ nhận được nội dung khác nhau)
Cấu hình Webhooks
Sau khi điểm cuối đã sẵn sàng, hãy truy cập trang Tích hợp để cài đặt Webhooks.

Sau khi nhấn lưu DooPage sẽ gửi tới điểm cuối của bạn một Yêu cầu xác minh mà bạn phải xác thực.
Xác thực yêu cầu đến từ DooPage
Để xác thực bạn cần liên hệ DooPage để có được
secret_keyMọi webhook http request đến từ DooPage đều chứa 1 đoạn mã xác thực nằm tại headers của http request.
X-Doo-SignatureMã xác thực được tạo bằng hàm mã hóa sha1:
verify_key=sha1(<request_payload>.<secret_key>)Nếu
verify_keykhớp với headerX-Doo-Signaturetức request này hợp lệCode example:
Lưu ý: sử dụng raw request body data để thực hiện hashing tránh xử dụng JSON.parse hoặc các hàm parse JSON tương tự trong các ngôn ngữ lập trình khác do thứ tự các key có thể sẽ không được đảm bảo dẫn đến tạo verify_key sai
Php:
NodeJS(Express):
Python(Flask):
Webhook payload sample
Customer created
Customer updated
Customer took
Customer transferred
Customer closed
Order created
Order update
Customer Tag set
Customer Tag unset
Note changed
Customer Pipeline Updated
Customer Message Have Phone
Last updated
Was this helpful?