更新时间: 2021-01-26
消息回调服务(原模版路由)支持自定义条件,将符合条件的消息回调至开发者应用服务器,符合条件的消息不直接发送给目标用户,根据应用服务器返回的响应结果决定是否下发。适用于对接自己或其他第三方内容审核服务的应用场景,可在 开发者后台 (opens new window) 开通使用。
支持将单聊、群组、聊天室的消息数据先发送到开发者应用服务器进行检查,再由开发者决定此条消息是否继续下发。
调用 Server API 接口发送的消息,默认不会发送到应用服务器。
融云服务器只会请求 1 次,超时时间为 3 秒,如果请求失败或者超时,服务器默认将下发此条消息。
消息为图片、视频类消息时,开发者如果需要获取图片、视频等文件信息,可通过消息中携带的地址进行下载,融云文件存储有效期为 6 个月。
消息回调服务与全量消息路由可以同时使用,消息回调中被拒绝下发的消息,不执行全量消息路由同步操作。
# 示例说明
HTTP 方法:POST
表单参数
名称 | 类型 | 说明 |
---|---|---|
appKey | String | 应用 App Key。 |
fromUserId | String | 发送用户 Id。 |
targetId | String | 目标会话 Id,根据会话类型可能为单聊 Id、群聊 Id、聊天室 Id。 |
msgType | String | 消息类型,文本消息 RC:TxtMsg 、 图片消息 RC:ImgMsg 其他消息类型请参见消息类型说明文档。 |
content | String | 发送消息内容 |
channelType | String | 会话类型,二人会话是 PERSON 、讨论组会话是 PERSONS 、群组会话是 GROUP 、聊天室会话是 TEMPGROUP 。 |
msgTimeStamp | String | 服务端收到客户端发送消息时的服务器时间(1970年到现在的毫秒数)。 |
messageId | String | 消息唯一标识。 |
os | String | 消息来源,包括:iOS、Android、Websocket、MiniProgram(小程序)、PC、Server。 |
消息发送到应用服务器后,应用服务器需要返回 HTTP 应答码 200,同时返回 pass
属性,根据 pass
状态决定是否进行下发。
返回参数
名称 | 类型 | 说明 |
---|---|---|
pass | Int | 1 表示正常下发此条消息,0 表示拒绝不下发此条消息。 |
代码示例
signature (数据签名)计算方法:将系统分配的 App Secret、Nonce (随机数)、timestamp (时间戳)三个字符串按先后顺序拼接成一个字符串并进行 SHA1 哈希计算。
例如开发者注册的接收地址:http://example.com/receive_message.php
Request:
POST /receive_message.php?timestamp=1408710653491&nonce=14314&signature=45beb7cc7307889a8e711219a47b7cf6a5b000e8 HTTP/1.1 Host: example.com Content-Type: application/x-www-form-urlencoded appKey=123&content={"content":"123"}&fromUserId=fid123&targetId=tid123&msgType=RC:TxtMsg&messageId=596E-P5PG-4FS2-7OJK&msgTimeStamp=1408710653491&channelType=PERSON&os=Server
已复制
1
2
3
4
5
2
3
4
5
Response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "pass": 1 }
已复制
1
2
3
4
2
3
4