WuKongIM Docs

Webhook

配置同步发送前回调与三个异步通知事件。

编辑此页报告文档问题

Webhook 把已提交消息、离线候选接收者和在线状态变化 POST 到一个业务端点。它是服务端出站协议,不是客户端收件箱,也不属于 Product HTTP 的入站 paths

下载 OpenAPI 3.1 Webhook 合同

msg.before_send 是独立启用的同步发送前回调,响应决定放行、修改或拒绝;以下队列和重试语义仅适用于三个异步通知事件。配置、完整请求和失败策略见发送前业务回调

请求

POST {http_addr}?event={event_name}
Content-Type: application/json

已有查询参数会保留,并覆盖或追加 event。事件名只出现在 Query 中;请求体没有通用信封,结构由事件决定。支持的回调包括:

事件顶层 JSON
msg.before_send单个待发送消息对象,同步决定是否发送
msg.notify已提交消息数组
msg.offline一条消息与离线 UID 的扁平对象
user.onlinestatus兼容状态字符串数组

配置

webhook.http_addr 非空即启用异步通知;focus_events=[] 表示投递全部三个事件。

[webhook]
http_addr = "https://events.example.com/wukongim"
focus_events = ["msg.notify", "msg.offline", "user.onlinestatus"]
queue_size = 1024
workers = 16
msg_notify_batch_max_items = 100
msg_notify_batch_max_wait = "500ms"
online_status_batch_max_items = 512
online_status_batch_max_wait = "2s"
offline_uid_batch_size = 512
request_timeout = "5s"
retry_max_attempts = 3

异步通知有界、尽力而为

当前使用节点内存队列,没有磁盘 Outbox 或崩溃重放。接收端应先持久化并去重,再快速返回 HTTP 200。

本页内容