消息回调服务
消息回调服务支持对 App 中发送的消息进行拦截、内容过滤、内容替换,适用于对接您自己或其他第三方内容审核服务的应用场景。
目前已支持单聊、群组、聊天室、超级群业务。
消息回调服务概述
消息回调服务会根据您在控制台配置的路由规则拦截发送中的消息。被拦截的消息副本会先行发送至您指定的应用服务器(App 后端),而不是直接发送给目标用户。
App 后端可通过对回调请求的响应,实现对消息的以下处理:
- 决定是否需要继续下发消息(如超时未回复,即时通讯服务端默认自动下发消息)
- 决定是否需要继续下发消息扩展(仅针对超级群会话类型,如超时未回复,即时通讯服务端默认自动下发)
- 决定是否需要继续下发消息修改(仅针对超级群会话类型,如超时未回复,即时通讯服务端默认自动下发)
- 使用响应正文中指定字段,直接修改消息内容
- 使用响应正文中指定字段,直接修改消息的推送内容(展示在推送通知栏的内容)
- 使用响应正文中指定字段,直接修改消息扩展 KV。
即时通讯服务端会根据 App 后端返回的响应结果,决定是否将消息下发、是否替换消息中的内容,以及如何进行内容替换。
开通服务
前往控制台的消息回调服务页面开通服务。生产环境下需要预存费用才能开通。
如果您的网络有 IP 访问限制,请务必配置 IP 白名单,否则无法正常接收服务端回调。
消息回调默认不会对 Server API 接口发送的消息生效。如果需要将 IM Server API 发送的消息按照您配置的路由规则过滤并发送到应用服务器,需要在控制台的免费基础功能页面启用 Server API 发送消息过滤敏感词。
创建路由规则
使用消息回调服务需要在控制台创建消息回调服务规则(即路由规则)。
服务开通后,可在消息回调服务页面创建路由规则。一条路由规则包含以下字段:
- 规则名称:填写规则名称。
- 会话类型:选择规则适用的会话类型类型,支持单聊、群聊、聊天室、超级群。
- 消息标识:填写消息类型的唯一标识,一条规则仅支持填写一个标识。例如内置的文字消息类型的标识是
RC:TxtMsg
。详见消息类型概述。支持自定义消息类型的标识。 - 发送 ID:填写发送者的用户 ID,也可以指定规则匹配用户 ID。配置成功后,本条规则仅针对匹配的用户生效。
- 接收 ID:填写会话 ID,也可以指定规则匹配会话 ID。配置成功后,本条规则仅针对匹配的会话生效。单聊会话 ID 为接收用户 ID。群组、超级群的会话 ID 为群 ID。聊天室会话 ID 为聊天室房间 ID。
- 回调地址:填写接收回调的地址,请保证公网可访问。
注意事项说明
-
单群聊消息扩展支持消息回调
- 在发消息时即携带的扩展数据,可通过回调参数
extraContent
获取。 - 2022.08.11 之后,支持将超级群业务中的消息扩展变更发送到应用服务器。超级群消息进行扩展后,服务端会生成一条类型为
RC:MsgExMsg
的消息。新消息仅用于消息路由同步,不会同步给客户端 SDK。新消息 ID 由服务端生成,originalMsgUID
字段中会携带原消息的messageId
,content
字段中为当次变更的扩展数据(结构参见消息扩展功能消息)。如需对消息扩展启用消息回调服务,您需要在控制台添加针对RC:MsgExMsg
类型的路由规则。
- 在发消息时即携带的扩展数据,可通过回调参数
-
超级群消息扩展支持消息回调:
- 在发消息时即携带的扩展数据,可通过回调参数
extraContent
获取。 - 2022.08.11 之后,支持将超级群业务中对消息扩展的后续变更操作也同步到应用服务器。变更超级群消息扩展后,服务端会生成一条类型为
RC:MsgExMsg
的消息。新消息仅用于消息路由同步,不会同步给客户端 SDK。新消息 ID 由服务端生成,originalMsgUID
字段中会携带原消息的messageId
,content
字段中为当次变更的扩展数据(结构参见消息扩展功能消息)。如需对消息扩展启用消息回调服务,您需要在控制台添加针对RC:MsgExMsg
类型的路由规则。
- 在发消息时即携带的扩展数据,可通过回调参数
-
超级群消息内容修改支持消息回调:超级群消息发送之后支持对其进行修改(不可修改消息类型)。2022.08.11 之后,支持将超级群业务中 App 用户修改的消息内容发送到应用服务器。用户修改消息后,服务端会生成一条新消息,同时保留原消息内容与原消息 ID。新消息仅用于同步,消息类型同原消息相同,因此无需额外创建路由规则。新消息 ID 由服务端生成,不会同步给客户端 SDK。新消息的
originalMsgUID
字段中会携带原消息的messageId
。 -
媒体消息中的文件需要自行获取:消息为图片、视频类消息时,如果需要获取图片、视频等文件信息,可通过消息中携带的地址进行下载,文件存储有效期为 6 个月。
-
与全量消息路由服务可以同时使用:消息回调、内容审核与敏感词过滤服务可以与全量消息路由服务同时使用,这些服务中被拒绝下发的消息,默认不执行全量消息路由同步操作。如需修改默认行为,您可以在融云控制台,通过应用配置>IM 服务>免费基础功能>安全,开通含敏感词消息开启路由功能。开通此功能后,含有屏蔽敏感词的消息也会同步到应用服务器。