Tạo điểm cuối Webhook
Tạo một bộ nhận Webhook. subscribed_events nhận các tên sự kiện chuẩn của nền tảng (như message.received, account.status.updated); dùng ["*"] để đăng ký mọi sự kiện. Tên sự kiện không hợp lệ sẽ bị từ chối. signing_secret là tuỳ chọn — nếu để trống hoặc bỏ qua thì tắt ký cho điểm cuối. retry_policy.max_attempts phải là số nguyên không âm; 0 tắt retry; giá trị không phải số nguyên sẽ bị từ chối.
https://api.unifyport.ai/v1/webhook-endpointsTiêu đề
X-Api-KeyAPI key của không gian làm việc. Không gian làm việc được xác định từ tiêu đề này.
Content-TypeDùng application/json khi gửi nội dung yêu cầu JSON.
Tham số đường dẫn
Điểm cuối này không có tham số đường dẫn.
Nội dung yêu cầu
urlEndpoint HTTPS nhận sự kiện Webhook.
statusTrạng thái điểm cuối, thường là active hoặc inactive.
subscribed_eventsCác loại sự kiện được gửi tới điểm cuối. Dùng ["*"] để đăng ký mọi sự kiện; xem danh mục sự kiện chuẩn để biết tên đầy đủ.
signing_secretSecret ký Webhook tuỳ chọn. Dùng placeholder trong ví dụ.
retry_policyCấu hình retry như max_attempts.
Nội dung phản hồi
idĐịnh danh điểm cuối webhook (we_...).
urlURL HTTPS nhận các lượt gửi webhook.
statusTrạng thái điểm cuối: active hoặc inactive.
subscribed_eventsCác loại sự kiện được gửi tới điểm cuối; ["*"] nghĩa là mọi sự kiện.
signing_enabledtrue khi đã đặt secret ký và các lượt gửi được ký.
retry_policyCấu hình retry, ví dụ max_attempts.
Phản hồi
201Yêu cầu thành công. Xem ví dụ nội dung phản hồi.
400Body, đường dẫn hoặc tham số yêu cầu không hợp lệ.
401Header X-Api-Key thiếu hoặc không hợp lệ.
409Thao tác đang yêu cầu xung đột với tài khoản hoặc tài nguyên nhà cung cấp đã có.
500Dịch vụ gặp lỗi không mong muốn.
Yêu cầu
curl -X POST https://api.unifyport.ai/v1/webhook-endpoints \
-H "X-Api-Key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/webhook",
"status": "active",
"subscribed_events": ["*"],
"signing_secret": "<WEBHOOK_SIGNING_SECRET>"
}'Phản hồi
{
"data": {
"id": "we_example",
"url": "https://example.com/webhook",
"status": "active",
"subscribed_events": ["*"],
"signing_enabled": true,
"retry_policy": {
"max_attempts": 3
}
}
}