📞 回调说明
📢 OpenIM 提供了强大的回调功能。当某个特定事件发生前或后,OpenIMServer 通过HTTP/HTTPS 请求方式,主动通知 APP 的业务服务器。这样,APP 业务服务器可以依据这些回调来干预事件的后续流程或进行数据同步。
📑 回调分类
根据处理时机,回调分为两大类:
🚫 发送事件发生之前的回调:此类回调 (before 类型) 旨在让 APP 业务服务器干预事件处理,例如,对消息进行敏感词过滤。OpenIMServer 会根据回调返回来确定后续流程。
📤 发送事件发生之后的通知:此类回调 (after 类型) 主要用于通知 APP 业务服务器进行数据同步,例如,用户加入群组。此时,OpenIMServer 会忽略回调的返回和错误码。
⚙️ 配置说明
callback:
url: http://127.0.0.1:10006/callbackExample
beforeCreateGroup:
enable: true
timeout: 5
failedContinue: true
- url:APP业务服务器 callback 地址,支持HTTP/HTTPS
- enable:是否开启此回调,true 为开启
- timeout:响应超时时间(秒)
- failedContinue:超时或者API失败后是否继续执行流程,一般只对before类型回调有效,true 为继续执行
🔄 回调协议
OpenIMServer 利用第三方回调机制,基于 HTTP/HTTPS 协议。当发起回调请求时,OpenIMServer 采用 POST 请求方法来通知 APP 业务服务器。这些请求的具体内容将直接包含在请求包体中。
请求 URL 示例
{WEBHOOK_ADDRESS}/callbackCommand?contenttype=json
请求参数说明
参数 | 说明 |
---|---|
{WEBHOOK_ADDRESS} | webhooks.yml 中的 url 字段,域名或主机名 |
callbackCommand | 回调命令,可在各个回调方法说明中具体查看 |
contenttype | 请求入参,为json 类型 |
Header
header名 | 示例值 | 选填 | 类型 | 说明 |
---|---|---|---|---|
operationID | 123456 | 必填 | string | 用于全局链路追踪,建议使用时间戳,在每个请求中独立 |