Tạo webhook
webhooks.createMCP:webhooks_createBộ công cụ: Theo dõi & sự kiệnCreate a signed webhook for chosen events. Returns the signing secret once.
Cần Idempotency-Key
Quản trị
Quyền: Quản trị workspace
Gọi bằng REST v2
curl -X POST https://zl.builera.app/api/public/v2/ops/webhooks.create \
-H "Authorization: Bearer za_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"url":"https://example.com/hook","events":["message.received"]}'Mỗi khoá/kết nối tối đa 300 lệnh đọc và 60 lệnh ghi mỗi phút. Gọi lại cùng Idempotency-Key trả đúng kết quả cũ, không làm lại.
Gọi qua MCP
{
"method": "tools/call",
"params": {
"name": "webhooks_create",
"arguments": {
"url": "https://example.com/hook",
"events": [
"message.received"
]
}
}
}Thêm https://zl.builera.app/mcp vào ứng dụng AI rồi cho phép kết nối; AI chỉ thấy công cụ trong bộ bạn chọn.
Kết quả
HTTP 200
{ "status": "succeeded", "operationId": "…", "data": { … } }Ví dụ đầu vào
{
"url": "https://example.com/hook",
"events": [
"message.received"
]
}Thay mã (id) mẫu bằng mã thật lấy từ các thao tác liệt kê/tìm kiếm.
Lược đồ đầu vào (JSON Schema)
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 500
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"message.received",
"message.sent",
"message.status_changed",
"message.reaction",
"message.recalled",
"operation.completed",
"job.failed",
"job.cancelled",
"job.unverified",
"bulk.completed",
"account.session_changed",
"account.policy_changed",
"account.wait_state_changed",
"account.sync_completed",
"friend.accepted",
"friend.request_received",
"friend.removed",
"group.joined",
"group.left",
"group.member_joined",
"group.member_left",
"group.pending_request",
"contact.created",
"contact.stage_changed",
"contact.updated",
"contact.dnc_changed",
"contact.deleted",
"campaign.started",
"campaign.paused",
"campaign.resumed",
"campaign.completed",
"campaign.enrollment_step",
"campaign.enrollment_completed",
"campaign.enrollment_stopped",
"campaign.occurrence",
"rule.run_completed",
"rule.run_failed",
"conversation.assigned",
"conversation.unanswered",
"task.due",
"task.completed",
"connection.paused",
"connection.revoked",
"external.emergency_stop_changed"
]
},
"minItems": 1
},
"includeContent": {
"type": "boolean",
"default": true,
"description": "false = message words are left out of the payload (ids only)."
}
},
"required": [
"url",
"events"
],
"additionalProperties": false
}