更新时间: 2021-03-08

# 功能描述

1、支持将单聊、讨论组、群组、聊天室、客服的消息数据同步到开发者应用服务器。 该服务需要开通 IM 商用版 (opens new window)后才有使用。

2、调用 Server API 接口发送的消息,默认不会通过消息路由服务,如果需要路由可在开发者后台免费基础功能 (opens new window)中开通,需要注意开通后广播消息也不进行消息路由。

3、默认消息中包含屏蔽敏感词时,不会同步到应用服务器,如果含有替换敏感词时,会将消息中的敏感词替换成设置的内容同步到应用服务器。如需要将含有屏蔽敏感词的消息也路由到应用服务器,可在提交工单申请开通。

4、路由的消息为图片、视频类消息时,开发者如果需要获取图片、视频等文件信息,可通过地址进行下载,融云文件存储有效期为 6 个月。

如果公司网络有 IP 访问限制需要将以下 IP 地址加入到白名单中,才可以使用消息路由服务:

  • 国内数据中心:

    120.92.12.217、120.92.12.60、120.92.12.253、120.92.12.113、120.92.12.29、120.92.12.214、120.92.12.164、120.92.12.153、120.92.12.204、120.92.12.138、120.92.13.82、120.92.13.83、120.92.13.84、120.92.13.85、120.131.13.147、117.50.18.131、120.92.114.181、106.75.117.2

  • 海外数据中心:

    52.221.93.74

# 使用场景

  1. 存储聊天记录:可通过开启此服务,实时同步用户发送的消息至应用服务器,由应用服务器进行存储。

  2. 数据迁移:实现第三方通讯云服务到融云的平滑迁移,您的新客户端(集成融云 SDK)向老客户端(即集成原第三方 SDK)发送消息时,融云会通过消息路由服务调用原第三方的相应服务端接口,实现向指定老客户端(即集成原第三方 SDK)用户发送消息。详细请查看如何实现第三方通讯云服务到融云的平滑迁移

# 参数说明

参数 类型 说明
fromUserId String 发送用户 Id。
toUserId String 目标 Id,即为客户端 targetId,根据会话类型 channelType 的不同,可能为二人会话 Id、群聊 Id、聊天室 Id、客服 Id 等。
objectName String 消息类型,文本消息 RC:TxtMsg 、 图片消息 RC:ImgMsg 、语音消息 RC:VcMsg 、图文消息 RC:ImgTextMsg 、位置消息 RC:LBSMsg 、添加联系人消息 RC:ContactNtf 、提示条通知消息 RC:InfoNtf 、资料通知消息 RC:ProfileNtf 、通用命令通知消息 RC:CmdNtf ,详细请参见消息类型说明文档
content String 发送消息内容,参考融云消息类型说明
channelType String 会话类型,二人会话是 PERSON 、讨论组会话是 PERSONS 、群组会话是 GROUP 、聊天室会话是 TEMPGROUP 、客服会话是 CUSTOMERSERVICE 、 系统通知是 NOTIFY 、应用公众服务是 MC 、公众服务是 MP
对应客户端 SDK 中 ConversationType 类型,二人会话是 1 、讨论组会话是 2 、群组会话是 3 、聊天室会话是 4 、客服会话是 5 、 系统通知是 6 、应用公众服务是 7 、公众服务是 8。
msgTimestamp String 服务端收到客户端发送消息时的服务器时间(1970年到现在的毫秒数)。
msgUID String 可通过 msgUID 确定消息唯一。
sensitiveType Int 消息中是否含有敏感信息,0 为不包含,1 为含有屏蔽敏感词,2 为含有替换敏感词。消息路由功能默认含有屏蔽敏感词的消息不进行路由,可提交工单开通含有敏感词的消息路由功能,未开通情况下 sensitiveType 值默认为 0 不代表任何意义。开通后可通过该属性判断文本消息中是否含有敏感词,图片、语言消息审核不通过时标识为 1。目前支持单聊、群聊、聊天室会话类型,其他会话类型默认为 0 ,开通后含有屏蔽敏感词的消息也不会进行下发,只会进行消息路由。
source String 标识消息的发送源头,包括:iOS、Android、Websocket、MiniProgram(小程序)、PC、Server(通过 Server API 发送,需要开通 Server API 发送消息进行消息路由功能)。
groupUserIds String[] channelType 为 GROUP 时此参数有效,显示为群组中指定接收消息的用户 ID 数组,该条消息为群组定向消息。非定向消息时内容为空,如指定的用户不在群组中内容也为空。

同步消息时需要服务提供应答 200,收到应答后表示消息同步成功,如果应答超时 5 秒,融云会再尝试推送 2 次,如果仍然失败,融云将不再推送此消息,如短时间内有大面积超时,将暂停推送,1 分钟后会继续推送。

# 请求示例

为了验证数据有效性并确保调用者为融云 Server,每个请求前添加数据签名,详细参见 API 接收签名规则,签名信息参数在接收地址的 URL 上提供。

假设开发者注册的接收地址:http://example.com/receive_message.php

请求方法: POST

Request:

POST /receive_message.php?signTimestamp=1408710653491&nonce=14314&signature=45beb7cc7307889a8e711219a47b7cf6a5b000e8 HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
User-Agent: RongCloud/1.0

fromUserId=123&toUserId=456&objectName=RC%3ATxtMsg&content=%7B"content"%3A"hello"%7D&channelType=PERSON&msgTimestamp=1408710653491&msgUID=596E-P5PG-4FS2-7OJK&groupUserIds=[543,567]
已复制
1
2
3
4
5
6

# 内置消息结构说明

当消息路由收到的消息为融云内置消息,消息类型和json结构请参考:内置消息类型

文档是否解决您的问题 ?

如果遇到产品相关问题,您可 提交工单 寻求帮助