Server 开发指南

    融云服务端提供了一系列接口,为融云整体服务提供支持:

    • 用户服务:从 App 服务端管理用户状态,获取身份认证令牌等。
    • 用户封禁服务:从 App 服务端管理封禁用户。
    • 用户黑名单服务:从 App 服务端管理用户的黑名单信息。
    • 群组服务:从 App 服务端管理群组成员信息。
    • 聊天室服务:从 App 服务端管理聊天室信息,包括聊天室成员禁言、聊天室全局禁言、封禁、聊天室用户白名单、消息优先级服务。
    • 消息发送服务:从 App 服务端发送各种类型消息。
    • 敏感词服务:从 App 服务端管理消息敏感词服务。
    • 服务端实时消息路由:提供融云服务端到 App 服务端的消息路由服务。
    • 消息历史记录服务:提供 App 用户聊天消息历史记录下载服务。
    • 在线状态订阅服务:提供将 App 用户的在线状态同步给开发者的应用服务器的服务。
    • 其他高级 API 接口服务:如果您需要额外的服务端接口能力,请联系我们的销售团队,或提交需求工单给我们。
    注意:融云提供的 Server API 功能接口,必须通过您的 App Server 进行调用,禁止通过客户端直接调用。通过客户端直接调用融云 Server API 接口而引起的问题,融云不负责解决。
    在调用 Server API 时,建议不使用 KeepAlive 方式,如有特殊情况需要使用 KeepAlive 建议在此基础上,每个 HTTP 连接使用建议小于 60 秒,断开重连,不要长期复用一个 HTTP 连接,长期使用会导致 API 负载均衡失效,影响故障转移策略。

    开源 Server SDK 项目

    为了方便广大开发者,节约您的开发资源和时间,我们在 GitHub 上提供了一组开源的 Server SDK。你可以选择合适的语言直接应用在您的服务端项目中。

    如果您可以开发其他语言的 Server SDK,并贡献到开源社区,欢迎通过提交工单联系我们。

    GitHub 项目如下:

    通用 API 接口签名规则

    API 调用签名规则

    本文档中所有请求融云服务端 API 接口的请求均使用此规则校验,以下不再重复说明。

    每次请求 API 接口时,均需要提供 4 个 HTTP Request Header,具体如下:

    名称 类型 说明
    App-KeyRC-App-Key String 开发者平台分配的 App Key。
    NonceRC-Nonce String 随机数,无长度限制。
    TimestampRC-Timestamp String 时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的秒数。
    SignatureRC-Signature String 数据签名。

    Signature (数据签名)计算方法:将系统分配的 App Secret、Nonce (随机数)、Timestamp (时间戳)三个字符串按先后顺序拼接成一个字符串并进行 SHA1 哈希计算。如果调用的数据签名验证失败,接口调用会返回 HTTP 状态码 401。其他状态码请参见状态码表

    RC- 前缀的 HTTP Header 是为了适应某些 PaaS 平台(如 SAE)过滤特定 HTTP Header 的机制而考虑的,如果您使用这些平台时遇到问题,可以使用 RC- 前缀,一般情况下使用默认的 HTTP Header 即可。

    签名生成代码示例

    PHP 语言的代码示例:

    // 重置随机数种子。
    srand((double)microtime()*1000000);
    
    $appSecret = 'Y1W2MeFwwwRxa0'; // 开发者平台分配的 App Secret。
    $nonce = rand(); // 获取随机数。
    $timestamp = time(); // 获取时间戳。
    
    $signature = sha1($appSecret.$nonce.$timestamp);
    

    HTTP 请求示例:

    POST /user/getToken.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 78
    
    userId=jlk456j5&name=Ironman&portraitUri=http%3A%2F%2Fabc.com%2Fmyportrait.jpg
    

    API 接收签名规则

    融云服务器向应用服务器推送数据(调用应用服务器接口)时会添加 3 个 GET 请求参数(在 URL 上添加的参数),具体如下:

    名称 类型 说明
    nonce String 随机数,无长度限制。
    timestamp String 时间戳,从1970年1月1日0点0分0秒开始到现在的秒数。
    signature String 数据签名。

    Signature (数据签名)计算方法:将系统分配的 App Secret、Nonce (随机数)、Timestamp (时间戳)三个字符串按先后顺序拼接成一个字符串并进行 SHA1 哈希计算。

    签名校验代码示例

    PHP 语言的代码示例:

    $appSecret = 'Y1W2MeFwwwRxa0'; // 开发者平台分配的 App Secret。
    $nonce = $_GET['nonce']; // 获取随机数。
    $timestamp = $_GET['timestamp']; // 获取时间戳。
    $signature = $_GET['signature']; // 获取数据签名。
    $local_signature = sha1($appSecret.$nonce.$timestamp); // 生成本地签名。
    if(strcmp($signature, $local_signature)===0){
        // TODO: 此处添加业务逻辑。
        echo 'OK';
    } else {
        echo 'Error';
    }
    

    用户服务

    客户端通过融云 SDK 每次连接服务器时,都需要向服务器提供 Token,以便验证身份,流程如下:

    App -> App: 获取当前登录的 UserId App -> App Server: 通过 UserId 请求 Token App Server -> RongCloud API Server: 通过 UserId 请求 Token RongCloud API Server --> App Server: 返回 Token App Server -> App Server: 数据库存储 Token App Server --> App: 返回 Token App -> App: 本地存储 App -> RongCloud IM Server: 通过 connect 方法附带 Token 连接到聊天服务器

    后续登录过程中,就不必再向融云请求 Token,由 App Server 直接提供之前保存过的 Token。

    App -> App: 获取当前登录的 UserId App -> App Server: 通过 UserId 请求 Token App Server -> App Server: 数据库获取 Token App Server --> App: 返回 Token App --> App: 返回 Token App -> RongCloud IM Server: 通过 connect 方法附带 Token 连接到聊天服务器

    如果您的 App 是免登录设计,也可以将 Token 保存在 App 本地(注意保证本地数据存储安全),直接登录。

    App -> App: 获取当前登录的 UserId App --> App: 返回本地存储的 Token App -> RongCloud IM Server: 通过 connect 方法附带 Token 连接到聊天服务器

    App 获取 Token 后,根据情况可选择在 App 本地保留当前用户的 Token,如果 Token 失效,还需要提供相应的代码重新向服务器获取 Token。

    融云开发者平台 设置 Token 有效期,默认永久有效,除非您在开发者后台刷新 App Secret ,Token 可以获取多次,但之前的仍然可用。

    当您将应用发布到应用市场之前,请务必完善调用 connect 方法时,发生 Token 失效的状态处理。
    SDK:调用 IMKit 或者 IMLib 的 connect 方法时,通过 ConnectCallback 中的 onTokenIncorrect 回调方法,实现重新获取 Token 的逻辑。

    获取 Token 方法

    方法名:/user/getToken

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/getToken.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id,最大长度 64 字节。是用户在 App 中的唯一标识码,必须保证在同一个 App 内不重复,重复的用户 Id 将被当作是同一用户。(必传)
    name String 用户名称,最大长度 128 字节。用来在 Push 推送时显示用户的名称。(必传)
    portraitUri String 用户头像 URI,最大长度 1024 字节。(必传)
    注意:此处提交的用户信息不会更新客户端的用户信息,在客户端,Android 您应该使用 UserInfoProvider / iOS 您应该使用 UserInfoDataSource 来提供用户信息。

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。如果您正在使用开发环境的 AppKey,您的应用只能注册 100 名用户,达到上限后,将返回错误码 2007。如果您需要更多的测试账户数量,您需要在应用配置中申请“增加测试人数”。
    token String 用户 Token,可以保存应用内,长度在 256 字节以内。
    userId String 用户 Id,与输入的用户 Id 相同。
    关于 userId 的选取,您可以使用您系统的用户 Id,或者单独建立一套唯一 Id 体系给融云服务。格式不限,可以为数字、GUID、或者任意的字符串(中文除外),其他方法涉及用户 Id 处均符合此规则
    注:Token 有效期可以在开发者后台->基本信息-> App Key 中进行设置,默认为永久有效。
    一个用户 Id ,可以多次获取 Token ,并且都可以正常使用,只有在设置了有效期, Token 使用超过有效期后失效,或开发者自己在开发者后台刷新 App Secret 后,以前获取的 Token 会失效,需要用新的 App Secret 生成签名,重新获取 Token。

    示例

    HTTP 请求:

    POST /user/getToken.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=jlk456j5&name=Ironman&portraitUri=http%3A%2F%2Fabc.com%2Fmyportrait.jpg
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200, "userId":"jlk456j5", "token":"sfd9823ihufi"}
    

    刷新用户信息方法

    说明:当您的用户昵称和头像变更时,您的 App Server 应该调用此接口刷新在融云侧保存的用户信息,以便融云发送推送消息的时候,能够正确显示用户信息。

    注意:刷新此信息不会更新客户端的用户信息,在客户端,Android 您应该使用 UserInfoProvider / iOS 您应该使用 UserInfoDataSource 来提供用户信息。
    刷新用户信息后 5 分钟内生效,Push 推送时将显示刷新后的用户信息。

    流程图如下:

    App -> App: 当前用户修改信息 App -> App Server: 当前用户修改信息 App Server -> App Server: 保存修改的用户信息 App Server -> RongCloud API Server: 刷新用户信息

    方法名:/user/refresh

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/refresh.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id,最大长度 64 字节。是用户在 App 中的唯一标识码,必须保证在同一个 App 内不重复,重复的用户 Id 将被当作是同一用户。(必传)
    name String 用户名称,最大长度 128 字节。用来在 Push 推送时,显示用户的名称,刷新用户名称后 5 分钟内生效。(可选,提供即刷新,不提供忽略)
    portraitUri String 用户头像 URI,最大长度 1024 字节。用来在 Push 推送时显示。(可选,提供即刷新,不提供忽略)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /user/refresh.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=jlk456j5&name=newname&portraitUri=http%3A%2F%2Fabc.com%2Fmynewportrait.jpg
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    检查用户在线状态方法

    请不要频繁循环调用此接口,而是选择合适的频率和时机调用,此接口设置了一定的频率限制。

    方法名:/user/checkOnline

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/checkOnline.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    status String 在线状态,1为在线,0为不在线。

    JSON 格式:

    {"code":200,"status":"1"}
    

    XML 格式:

    <xml><code>200</code><status>1</status></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /user/checkOnline.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=jlk456j5
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"status":"1"}
    

    用户封禁服务

    当用户违反 App 中的相关规定时,可根据情况对用户进行封禁处理,封禁时间范围由开发者自行设置,用户在封禁期间不能连接融云服务器,封禁期满后将自动解除封禁,也可以通过调用 /user/unblock 方法解除用户封禁,解除后可正常连接融云服务器。

    封禁用户方法

    方法名:/user/block

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/block.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)
    minute Int 封禁时长,单位为分钟,最大值为43200分钟。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /user/block.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=jlk456j5&minute=10
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    解除用户封禁方法

    方法名:/user/unblock

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/unblock.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /user/unblock.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=jlk456j5
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    获取被封禁用户方法

    方法名:/user/block/query

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/block/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    users String 被封禁用户数组。
    userId String 被封禁用户 ID。
    blockEndTime String 封禁结束时间。

    JSON 格式:

    {"code":200,"users":[{"userId":"jlk456j5","blockEndTime":"2015-01-11 01:28:20"}]}
    

    XML 格式:

    <xml>
      <code>200</code>
      <users>
        <map>
          <entry>
            <string>userId</string>
            <string>jlk456j5</string>
          </entry>
          <entry>
            <string>blockEndTime</string>
            <string>2015-01-11 01:28:20</string>
          </entry>
        </map>
      </users>
    </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /user/block/query.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"users":[{"userId":"jlk456j5","blockEndTime":"2015-01-11 01:28:20"}]}
    

    用户黑名单服务

    在 App 中如果用户不想接收到某一用户的消息或不想被某一用户联系到时,可将此用户加入到黑名单中,应用中的每个用户都可以设置自己的黑名单列表。

    添加用户到黑名单方法

    方法名:/user/blacklist/add

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/blacklist/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)
    blackUserId String 被加黑的用户Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /user/blacklist/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=jlk456j5&blackUserId=jlk454&blackUserId=jlk457
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    移除黑名单中用户方法

    方法名:/user/blacklist/remove

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/blacklist/remove.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)
    blackUserId String 被移除的用户Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /user/blacklist/remove.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=jlk456j5&blackUserId=jlk454
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    获取某用户黑名单列表方法

    方法名:/user/blacklist/query

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/user/blacklist/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    users String[] 黑名单用户数组。

    JSON 格式:

    {"code":200,"users":["jlk454","jlk457"]}
    

    XML 格式:

    <code>200</code>
      <users>
        <string>jlk454</string>
        <string>jlk457</string>
      </users>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /user/blacklist/query.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=jlk456j5
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"users":["jlk454","jlk457"]}
    

    消息发送服务

    内置消息类型表

    融云的内置消息以 JSON 方式进行数据序列化,如果你需要扩展消息可以使用任意方式扩展,不限于 JSON,下表为融云提供的内置消息类型:

    消息 消息标识 示例说明 JSON 说明
    文本消息 RC:TxtMsg {"content":"hello","extra":"helloExtra"} content 表示文本内容,extra 为附加信息(如果开发者自己需要,可以自己在 App 端进行解析)
    图片消息 RC:ImgMsg {"content":"ergaqreg", "imageUri":"http://www.demo.com/1.jpg","extra":"helloExtra"} content 表示图片缩略图,格式为 JPG,大小不超过 30k,注意在 Base64 进行 Encode 后需要将所有 \r\n\r\n 替换成空,imageUri 为图片 Url,extra 为附加信息(如果开发者自己需要,可以自己在 App 端进行解析)
    语音消息 RC:VcMsg {"content":"ergaqreg","duration":3,"extra":"helloExtra"} content 表示语音内容,格式为 AMR,以 Base64 进行 Encode 后需要将所有 \r\n\r\n 替换成空,大小不超过 60k,duration 表示语音长度,最长为 60 秒,extra 为附加信息(如果开发者自己需要,可以自己在 App 端进行解析)
    图文消息 RC:ImgTextMsg {"title":"hellotitle","content":"hello","imageUri":"http://www.demo.com/1.jpg"
    ,"url":"http://www.rongcloud.cn","extra":"helloExtra"}
    title 表示消息的标题,content 是消息文本内容,imageUri 为图片地址,url 为跳转的地址,extra 为附加信息(如果开发者自己需要,可以自己在 App 端进行解析)
    位置消息 RC:LBSMsg {"content":"abcxfeadfbdzdik","latitude":24.114,
    "longitude":334.221,"poi":"北京市朝阳区北苑路北辰泰岳大厦","extra":"helloExtra"}
    content 表示位置图片缩略图,格式为 JPG,以 Base64 进行 Encode 后需要将所有 \r\n\r\n 替换成空,latitude 表示纬度,longitude 表示经度,poi 表示位置的 poi 信息,extra 为附加信息(如果开发者自己需要,可以自己在 App 端进行解析)
    文件消息 RC:FileMsg {"name":"am.ind","size":348014,"type":"ind","fileUrl":"http://www.demo.com/am.ind"} name 文件名称,size 文件大小单位为 byte,type 文件扩展名,fileUrl 文件地址,extra 为附加信息(如果开发者自己需要,可以自己在 App 端进行解析)
    添加联系人消息 RC:ContactNtf {"operation":"op1","sourceUserId":"24","targetUserId":"21","message":"haha"
    ,"extra":"helloExtra"}
    operation 表示操作名,sourceUserId 表示请求者或者响应者的 UserId ,targetUserId 表示被请求者或者被响应者的 UserId ,message 表示请求或者响应消息,如添加理由或拒绝理由,extra 附加信息
    提示条(小灰条)通知消息 RC:InfoNtf {"message":"请在聊天中注意人身财产安全","extra":""} message 为提示条消息内容,extra 为附加信息(如果开发者自己需要,可以自己在 App 端进行解析),此类型消息没有 Push 通知。
    资料通知消息 RC:ProfileNtf {"operation":"Update","data":"{\"nickname\":\"韩梅梅\", \"hometown\":\"beijing\"}","extra":""} operation 为资料通知操作,可以自行定义,data 为操作的数据,extra 为附加信息(如果开发者自己需要,可以自己在 App 端进行解析),此类型消息没有 Push 通知。
    群组通知消息 RC:GrpNtf {"operatorUserId":"4324","operation":"Rename","data":"{\"operatorNickname\":\"李天\",\"targetGroupName\":\"群名\"}","message":"修改本群名为本地生活","extra":""} operatorUserId 为操作人用户 Id,operation 为操作名,data 为操作数据,详见 data 的 JOSN 数据格式,message 为消息内容,extra 可以放置任意的数据内容,也可以去掉此属性
    讨论组通知消息 RC:DizNtf {"type":1,"extension":"3213,4332","operator":"5435"} type 为讨论组操作类型 1:加入讨论组 2:退出讨论组 3:讨论组改名 4:讨论组管理员踢人,extension 为被加入讨论组用户 Id,多个用户 Id 以逗号分割,operator 为当前操作用户 Id。
    通用命令通知消息 RC:CmdNtf {"name":"AtPerson","data":"{\"sourceId\":\"9527\"}"} name 为命令名称,可以自行定义,data 为命令的内容,此类型消息没有 Push 通知。
    命令消息 RC:CmdMsg {"name":"AtPerson","data":"{\"sourceId\":\"9527\"}"} name 为命令名称,可以自行定义,data 为命令的内容,此类型消息没有 Push 通知,与通用命令通知消息的区别是不存储、不计数。

    群组通知消息结构数据说明

    使用 IMKit SDK 进行集成,群组操作通知消息结构 JOSN 格式如下:

    操作 示例说明 JSON 说明
    创建群组 {"operatorUserId":"4324","operation":"Create","data":"{\"operatorNickname\":\"李天\",\"targetGroupName\":\"群名\"}","message":"创建群组","extra":""} operatorUserId 为操作人用户 Id,operation 为操作名,data 数据说明: operatorNickname 为操作者,targetGroupName 为群名称
    修改群名称 {"operatorUserId":"4324","operation":"Rename","data":"{\"operatorNickname\":\"李天\",\"targetGroupName\":\"群名\"}","message":"修改群名称","extra":""} operatorUserId 为操作人用户 Id,operation 为操作名,data 数据说明:operatorNickname 为操作者,targetGroupName 为群名称
    添加群成员 {"operatorUserId":"4324","operation":"Add","data":"{\"operatorNickname\":\"李天\",\"targetUserIds\":[\"wGPkc0VpO\"],\"targetUserDisplayNames\":[\"腾飞\"]}","message":"添加群成员","extra":""} operatorUserId 为操作人用户 Id,operation 为操作名,data 数据说明:operatorNickname 为操作者,targetUserIds 为被加入群的用户 ID ,targetUserDisplayNames 为被加入群的用户与 targetUserIds 相对应。
    移出群成员 {"operatorUserId":"4324","operation":"Kicked","data":"{\"operatorNickname\":\"李天\",\"targetUserIds\":[\"wGPkc0VpO\"],\"targetUserDisplayNames\":[\"腾飞\"]}","message":"移出群成员","extra":""} operatorUserId 为操作人用户 Id,operation 为操作名,data 数据说明:operatorNickname 为操作者,targetUserIds 为被移出群的用户 ID ,targetUserDisplayNames 为被移出群的用户名,与 targetUserIds 相对应。
    退出群组 {"operatorUserId":"4324","operation":"Quit","data":"{\"operatorNickname\":\"李天\",\"targetUserIds\":[\"wGPkc0VpO\"],\"targetUserDisplayNames\":[\"腾飞\"],\"newCreatorId\":\"newCreatorId\"}","message":"退出群组","extra":""} operatorUserId 为操作人用户 Id,operation 为操作名,data 数据说明:operatorNickname 为操作者,targetUserIds 为操作者 ID ,targetUserDisplayNames 为操作者,newCreatorId 如退出群的用户为群创建者则 newCreatorId 为新的群创建者 ID ,否则为 null。
    解散群组 {"operatorUserId":"4324","operation":"Dismiss","data":"{\"operatorNickname\":\"李天\"}","message":"解散群组","extra":""} operatorUserId 为操作人用户 Id,operation 为操作名,data 数据说明:operatorNickname 为操作者。
    如你使用的是 IMLib SDK 进行集成则群组通知消息结构中 data 数据需要自行定义。

    发消息时携带用户信息

    如果您需要在发送消息时携带用户信息并在客户端显示,可以在 JSON 中加入用户数据 user,下面是以文本消息类型为例携带用户信息发送:

    JSON 格式

    {"content":"hello","user":{"id":"4242","name":"Robin","icon":"http://www.demo.com/p1.png"},"extra":"helloExtra"}
    

    user 参数说明

    名称 类型 说明
    id String 发送人用户 Id,需要和 fromUserId 保持一致。
    name String 为发送用户显示名称。
    icon String 为发送用户显示头象。

    发送单聊消息方法

    此方法为原 /message/publish 方法。原 /message/publish 方法仍然可以使用,但是不再有单独的文档进行描述。

    说明:一个用户向另外一个用户发送消息,单条消息最大 128k。

    方法名:/message/private/publish

    发送频率:每分钟最多发送 6000 条信息,每次发送用户上限为 1000 人,如:一次发送 1000 人时,示为 1000 条消息。

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/private/publish.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 发送人用户 Id。(必传)
    toUserId String 接收用户 Id,可以实现向多人发送消息,每次上限为 1000 人。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    content String 发送消息内容,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)
    pushContent String 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。(可选)
    pushData String 针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。(可选)
    count String 针对 iOS 平台,Push 时用来控制未读消息显示数,只有在 toUserId 为一个用户 Id 的时候有效。(可选)
    verifyBlacklist Int 是否过滤发送人黑名单列表,0 表示为不过滤、 1 表示为过滤,默认为 0 不过滤。(可选)
    isPersisted Int 当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行存储,0 表示为不存储、 1 表示为存储,默认为 1 存储消息。(可选)
    isCounted Int 当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行未读消息计数,0 表示为不计数、 1 表示为计数,默认为 1 计数,未读消息数增加 1。(可选)
    isIncludeSender Int 发送用户自己是否接收消息,0 表示为不接收,1 表示为接收,默认为 0 不接收,只有在 toUserId 为一个用户 Id 的时候有效。(可选)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    通过 Server API 发送的消息,不会同步到 fromUserId 登录的客户端上。
    objectName为自定义消息类型时,content需要自己解析呈现。pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。

    示例

    Request:

    POST /message/private/publish.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    content={\"content\":\"c#hello\"}&fromUserId=2191&toUserId=2191&toUserId=2192&objectName=RC:TxtMsg&pushContent=thisisapush&pushData={\"pushData\":\"hello\"}&count=4&verifyBlacklist=0&isPersisted=1&isCounted=1&isIncludeSender=0
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    发送单聊模板消息方法

    说明:一个用户向多个用户发送不同消息内容,单条消息最大 128k。

    方法名:/message/private/publish_template

    发送频率:每分钟最多发送 6000 条信息,每次发送用户上限为 1000 人。

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/private/publish_template.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    请注意:发送请求时 HTTP Request Header 中的 Content-Type 类型必须为 application/json

    示例

    Request:

    POST /message/private/publish_template.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/json
    
    {
        "fromUserId":"fromuser",
        "objectName":"RC:TxtMsg",
        "content":"{\"content\":\"{c}{d}{e}\",\"extra\":\"bb\"}",
        "toUserId":["21","22"],
        "values":[{"{c}":"1","{d}":"2","{e}":"3"},{"{c}":"4","{d}":"5","{e}":"6"}],
        "pushContent":["push{c}","push{c}"],
        "pushData":["pushd","pushd"],
        "verifyBlacklist":0
    }
    

    参数说明

    名称 类型 说明
    fromUserId String 发送人用户 Id。(必传)
    toUserId String[] 接收用户 Id,提供多个本参数可以实现向多人发送消息,上限为 1000 人。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    values String[] 消息内容中,标识位对应内容。(必传)
    content String 发送消息内容,内容中定义标识通过 values 中设置的标识位内容进行替换,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)
    pushContent String[] 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。如果为自定义消息,定义显示的 Push 内容,内容中定义标识通过 values 中设置的标识位内容进行替换。如消息类型为自定义不需要 Push 通知,则对应数组传空值即可。(必传)
    pushData String[] 针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。(可选)
    verifyBlacklist Int 是否过滤发送人黑名单列表,0 为不过滤、 1 为过滤,默认为 0 不过滤。(可选)
    上面示例中用户 Id 为 21 的用户,收到信息为 123,上面示例中用户 Id 为 22 的用户,收到信息为 456
    注意,如 content 中定义了标识 {d} ,则在 values 中需要对 {d} 进行设置,否则 {d} 会以文本方式随消息一起发送给用户。toUserIdvaluespushContentpushData 的数量必须相等。

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    通过 Server API 发送的消息,不会同步到 fromUserId 登录的客户端上。
    objectName为自定义消息类型时,content需要自己解析呈现。pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。

    发送系统消息方法

    说明:一个用户向一个或多个用户发送系统消息,单条消息最大 128k,会话类型为 SYSTEM。

    方法名:/message/system/publish

    发送频率:每秒钟最多发送 100 条消息,每次最多同时向 100 人发送,如:一次发送 100 人时,示为 100 条消息。

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/system/publish.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 发送人用户 Id。(必传)
    toUserId String 接收用户Id,提供多个本参数可以实现向多用户发送系统消息,上限为 100 人。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    content String 发送消息内容,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)
    pushContent String 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。(可选)
    pushData String 针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。(可选)
    isPersisted Int 当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行存储,0 表示为不存储、 1 表示为存储,默认为 1 存储消息。(可选)
    isCounted Int 当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行未读消息计数,0 表示为不计数、 1 表示为计数,默认为 1 计数,未读消息数增加 1。(可选)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    objectName为自定义消息类型时,content需要自己解析呈现。pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。

    示例

    Request:

    POST /message/system/publish.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    content={\"content\":\"c#hello\"}&fromUserId=2191&toUserId=2191&toUserId=2192&objectName=RC:TxtMsg&pushContent=thisisapush&pushData={\"pushData\":\"hello\"}
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    发送系统模板消息方法

    说明:一个用户向一个或多个用户发送系统消息,单条消息最大 128k,会话类型为 SYSTEM。

    方法名:/message/system/publish_template

    发送频率:每秒钟最多发送 100 条消息,每次最多同时向 100 人发送,如:一次发送 100 人时,示为 100 条消息。

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/system/publish_template.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    请注意:发送请求时 HTTP Request Header 中的 Content-Type 类型必须为 application/json

    示例

    Request:

    POST /message/system/publish_template.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/json
    
    {
        "fromUserId":"fromuser",
        "objectName":"RC:TxtMsg",
        "content":"{\"content\":\"{c}{d}{e}\",\"extra\":\"bb\"}",
        "toUserId":["21","22"],
        "values":[{"{c}":"1","{d}":"2","{e}":"3"},{"{c}":"4","{d}":"5","{e}":"6"}],
        "pushContent":["push{c}","push{c}"],
        "pushData":["pushd","pushd"]
    }
    

    参数说明

    名称 类型 说明
    fromUserId String 发送人用户 Id。(必传)
    toUserId String 接收用户 Id,提供多个本参数可以实现向多人发送消息,上限为 100 人。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    values String 消息内容中,标识位对应内容。(必传)
    content String 发送消息内容,内容中定义标识通过 values 中设置的标识位内容进行替换,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)
    pushContent String 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。如果为自定义消息,定义显示的 Push 内容,内容中定义标识通过 values 中设置的标识位内容进行替换。如消息类型为自定义不需要 Push 通知,则对应数组传空值即可。(必传)
    pushData String 针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。(可选)
    上面示例中用户 Id 为 21 的用户,收到信息为 123,上面示例中用户 Id 为 22 的用户,收到信息为 456
    注意,如 content 中定义了标识 {d} ,则在 values 中需要对 {d} 进行设置,否则 {d} 会以文本方式随消息一起发送给用户。toUserIdvaluespushContentpushData 的数量必须相等。

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    objectName为自定义消息类型时,content需要自己解析呈现。pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。

    发送群组消息方法

    说明:以一个用户身份向群组发送消息,单条消息最大 128k。

    方法名:/message/group/publish

    发送频率:每秒钟最多发送 20 条消息,每次最多向 3 个群组发送,如:一次向 3 个群组发送消息,示为 3 条消息。

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/group/publish.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 发送人用户 Id 。(必传)
    toGroupId String 接收群Id,提供多个本参数可以实现向多群发送消息,最多不超过 3 个群组。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    content String 发送消息内容,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)
    pushContent String 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。(可选)
    pushData String 针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。(可选)
    isPersisted Int 当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行存储,0 表示为不存储、 1 表示为存储,默认为 1 存储消息。(可选)
    isCounted Int 当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行未读消息计数,0 表示为不计数、 1 表示为计数,默认为 1 计数,未读消息数增加 1。(可选)
    isIncludeSender Int 发送用户自己是否接收消息,0 表示为不接收,1 表示为接收,默认为 0 不接收。(可选)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    通过 Server API 发送的消息,不会同步到 fromUserId 登录的客户端上。
    objectName为自定义消息类型时,content需要自己解析呈现。pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。

    示例

    Request:

    POST /message/group/publish.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    content={\"content\":\"c#hello\"}&fromUserId=2191&toGroupId=2193&toGroupId=2192&objectName=RC:TxtMsg&pushContent=thisisapush&pushData={\"pushData\":\"hello\"}&isPersisted=1&isCounted=1&isIncludeSender=0
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    发送讨论组消息方法

    说明:以一个用户身份向讨论组发送消息,单条消息最大 128k,每秒钟最多发送 20 条消息。

    方法名:/message/discussion/publish

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/discussion/publish.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 发送人用户 Id。(必传)
    toDiscussionId String 接收讨论组 Id 。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    content String 发送消息内容,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)
    pushContent String 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。(可选)
    pushData String 针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。(可选)
    isPersisted Int 当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行存储,0 表示为不存储、 1 表示为存储,默认为 1 存储消息。(可选)
    isCounted Int 当前版本有新的自定义消息,而老版本没有该自定义消息时,老版本客户端收到消息后是否进行未读消息计数,0 表示为不计数、 1 表示为计数,默认为 1 计数,未读消息数增加 1。(可选)
    isIncludeSender Int 发送用户自己是否接收消息,0 表示为不接收,1 表示为接收,默认为 0 不接收。(可选)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    通过 Server API 发送的消息,不会同步到 fromUserId 登录的客户端上。
    objectName为自定义消息类型时,content需要自己解析呈现。pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。

    示例

    Request:

    POST /message/discussion/publish.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    content={\"content\":\"c#hello\"}&fromUserId=2191&toDiscussionId=2193&objectName=RC:TxtMsg&pushContent=thisisapush&pushData={\"pushData\":\"hello\"}&isPersisted=1&isCounted=1&isIncludeSender=0
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    发送聊天室消息方法

    说明:一个用户向聊天室发送消息,单条消息最大 128k。

    方法名:/message/chatroom/publish

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/chatroom/publish.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 发送人用户 Id。(必传)
    toChatroomId String 接收聊天室Id,提供多个本参数可以实现向多个聊天室发送消息,建议最多不超过 10 个聊天室。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    content String 发送消息内容,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    通过 Server API 发送的消息,不会同步到 fromUserId 登录的客户端上。
    objectName为自定义消息类型时,content需要自己解析呈现。

    示例

    Request:

    POST /message/chatroom/publish.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    content={\"content\":\"c#hello\"}&fromUserId=2191&toChatroomId=2192&toChatroomId=2193&objectName=RC:TxtMsg
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    发送聊天室广播消息方法

    说明:向应用中的所有聊天室发送一条消息,单条消息最大 128k。

    此服务须开通专有云的情况下,才能申请开通,详细请联系商务,电话:13161856839。

    方法名:/message/chatroom/broadcast

    调用频率:每秒最多调用 1 次。

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/chatroom/broadcast.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 发送人用户 Id。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    content String 发送消息内容,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    Request:

    POST /message/chatroom/broadcast.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    content={\"content\":\"c#hello\"}&fromUserId=2191&objectName=RC:TxtMsg
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    发送广播消息方法

    说明:向 App 中的所有用户发送一条消息,单条消息最大 128k,会话类型为 SYSTEM。

    该功能开发环境下可免费使用。生产环境下,您需要登录开发者后台,在“应用/IM 服务/高级功能设置”中开通公有云专业版后,在“广播消息和推送”中,开启后才能使用。
    为满足开发者更多的发送要求,广播消息方法进行了升级,建议使用广播推送服务中的广播消息方法进行推送,/message/broadcast 方法仍然可以使用。

    方法名:/message/broadcast

    调用频率:每小时只能发送 2 次,每天最多发送 3 次。

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/broadcast.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 发送人用户 Id。(必传)
    objectName String 消息类型,参考融云消息类型表.消息标志;可自定义消息类型,长度不超过 32 个字符,您在自定义消息时需要注意,不要以 "RC:" 开头,以避免与融云系统内置消息的 ObjectName 重名。(必传)
    content String 发送消息内容,参考融云消息类型表.示例说明;如果 objectName 为自定义消息类型,该参数可自定义格式。(必传)
    pushContent String 定义显示的 Push 内容,如果 objectName 为融云内置消息类型时,则发送后用户一定会收到 Push 信息。 如果为自定义消息,则 pushContent 为自定义消息显示的 Push 内容,如果不传则用户不会收到 Push 通知。(可选)
    pushData String 针对 iOS 平台为 Push 通知时附加到 payload 中,Android 客户端收到推送消息时对应字段名为 pushData。(可选)
    os String 针对操作系统发送 Push,值为 iOS 表示对 iOS 手机用户发送 Push ,为 Android 时表示对 Android 手机用户发送 Push ,如对所有用户发送 Push 信息,则不需要传 os 参数。(可选)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    objectName 为自定义消息类型时,content 需要自己解析呈现,需要 Push 时 pushContent 必须填写。

    示例

    Request:

    POST /message/broadcast.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    content={\"content\":\"c#hello\"}&fromUserId=2191&objectName=RC:TxtMsg&pushContent=thisisapush&pushData={\"pushData\":\"hello\"}&os=iOS
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    消息撤回服务

    支持撤回单聊、群聊、讨论组中用户发送的消息,如开通了单群聊消息云存储功能,则云存储中的消息数据也将被删除。

    因为消息撤回服务中所使用的参数,需要通过服务端实时消息路由来获取,所以在使用此服务前需要在开发者管理后台开通公有云专业版后,开启服务端实时消息路由功能。

    注意:不要对一条消息撤回多次,如果 Server 端对一条消息发送多次撤回请求,客户端将收到多个撤回消息,当客户端未进行处理时可能会造成显示上的错误。

    方法名:/message/recall

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/recall.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 消息发送人用户 Id。(必传)
    conversationType Int 会话类型,二人会话是 1 、讨论组会话是 2 、群组会话是 3 。(必传)
    targetId String 目标 Id,根据不同的 ConversationType,可能是用户 Id、讨论组 Id、群组 Id。(必传)
    messageUID String 消息唯一标识,可通过服务端实时消息路由获取,对应名称为 msgUID。(必传)
    sentTime Long 消息发送时间,可通过服务端实时消息路由获取,对应名称为 msgTimestamp。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml>
      <code>200</code>
    </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /message/recall.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    fromUserId=fDR2cVpxxR5zSMUNh3yAwh&targetId=MersNRhaKwJkRV9mJR5JXY&conversationType=1&messageUID=5FGT-7VA9-G4DD-4V5P&sentTime=1507778882124
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    敏感词服务

    设置敏感词后,App 中用户不会收到含有敏感词的消息内容,默认最多设置 50 个敏感词,设置后 2 小时内生效,目前只支持融云内置消息类型文本消息的敏感词过滤、替换功能,通过 Server API 发送的消息默认不支持敏感词过滤、替换,如果需要过滤敏感词请提交工单申请开通。

    敏感词过滤方式有两种:屏蔽包含敏感词的消息和替换敏感词,详细请查看屏蔽包含敏感词的消息与替换敏感词功能说明

    添加敏感词方法

    敏感词服务已升级,原敏感词服务的添加方法 /wordfilter/add 仍然可以使用,但是不再有单独的文档进行描述。

    方法名:/sensitiveword/add

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/sensitiveword/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    word String 敏感词,最长不超过 32 个字符,格式为汉字、数字、字母。(必传)
    replaceWord String 需要替换的敏感词,最长不超过 32 个字符,(非必传)。如未设置替换的敏感词,当消息中含有敏感词时,消息将被屏蔽,用户不会收到消息。如设置了替换敏感词,当消息中含有敏感词时,将被替换为指定的字符进行发送。敏感词替换目前只支持单聊、群聊、聊天室会话。

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /sensitiveword/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    word=money&replaceWord=****
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    
    融云敏感词服务过滤规则如下:
    1、支持对中文简体、繁体自动智能过滤。
    即:设置中文简体敏感词后,对应繁体敏感词也会自动识别过滤。
    2、智能忽略标点符号,匹配敏感词功能。
    敏感词中间含有标点符号时,会忽略中间的标点符号,对敏感词进行过滤,如:设置敏感词“反动”,当出现“反、动”中间含有标点符号的聊天信息时,会自动过滤。
    3、英文、数字敏感词,支持全角、半角,大、小写自动匹配,对英文单词进行智能识别过滤功能。如:设置敏感词 “AV”,当出现含有 “Java” 的聊天信息时,因为 “Java” 为英文单词,所以不会对单词中包含的 “av” 进行过滤。
    4、Server API 发送的消息不走敏感词过滤。

    移除敏感词方法

    敏感词服务已升级,原敏感词服务的移除方法 /wordfilter/delete 仍然可以使用,但是不再有单独的文档进行描述。

    说明:从敏感词列表中,移除某一敏感词,移除后 2 小时内生效。

    方法名:/sensitiveword/delete

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/sensitiveword/delete.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    word String 敏感词,最长不超过 32 个字符。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /sensitiveword/delete.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    word=money
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    批量移除敏感词方法

    说明:从敏感词列表中,批量移除某些敏感词,一次最多移除敏感词不超过 50 个,移除后 2 小时内生效。

    方法名:/sensitiveword/batch/delete

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/sensitiveword/batch/delete.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    words String[] 敏感词数组,一次最多移除 50 个敏感词。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /sensitiveword/batch/delete.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    words=money&words=aaa&words=bbb
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询敏感词列表方法

    敏感词服务已升级,原敏感词服务的移除方法 /wordfilter/list 仍然可以使用,但是不再有单独的文档进行描述。

    方法名:/sensitiveword/list

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/sensitiveword/list.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    type String 查询敏感词的类型,0 为查询替换敏感词,1 为查询屏蔽敏感词,2 为查询全部敏感词。默认为 1。(非必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    word String 敏感词内容。
    replaceWord String 替换敏感词的内容,为空时对应 Word 敏感词类型为屏蔽敏感词。

    JSON 格式:

    {"code":200,"words":[{"type":"0","word":"黄赌毒","replaceWord":"***"},{"type":"1","word":"qqq","replaceWord":""}]}
    

    返回值请参考 API 方法返回值说明

    获取屏蔽敏感词示例

    HTTP 请求:

    POST /sensitiveword/list.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    type=1
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"words":[{"word":"环保"},{"word":"承诺"}]}
    

    获取替换敏感词示例

    HTTP 请求:

    POST /sensitiveword/list.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    type=0
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"words":[{"type":"0","word":"黄赌毒","replaceWord":"***"},{"type":"0","word":"qqq","replaceWord":"ddd"}]}
    

    获取全部敏感词示例

    HTTP 请求:

    POST /sensitiveword/list.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    type=2
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"words":[{"type":"0","word":"黄赌毒","replaceWord":"***"},{"type":"1","word":"qqq","replaceWord":""}]}
    

    服务端实时消息路由

    同步消息方法

    说明:
    1、融云服务器可以将消息数据同步给开发者的应用服务器,开发者应用服务器接收所有在你的 App 下聊天的实时数据(目前支持二人会话数据、讨论组数据、群聊数据、聊天室数据、客服会话数据),接收数据前需要在开发者后台提交接收地址,设置后 2 小时内生效,点击查看详细
    2、为了验证数据有效性并确保调用者为融云 Server,我们会在每个请求前添加数据签名,详细签名方法参见“API 调用签名规则”,签名信息参数在接收地址的 URL 上提供。
    3、调用 Server API 接口发送的消息,不会通过消息路由服务。
    4、默认消息中包含屏蔽敏感词时,用户不会收到该条消息,也不会同步到应用服务器,如果含有替换敏感词时,会将消息中的敏感词替换成指定的内容进行发送,同时同步到应用服务器。如需要将含有屏蔽敏感词的消息也路由到应用服务器,可提交工单申请开通。
    5、路由的消息为图片、视频类消息时,开发者如果需要获取图片、视频等文件信息,可通过地址进行下载,融云文件存储有效期为 6 个月。
    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

    签名方法:请参考 通用 API 接口签名规则

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    fromUserId String 发送用户 Id。
    toUserId String 接收用户 Id,即为客户端 targetId
    objectName String 消息类型,文本消息 RC:TxtMsg 、 图片消息 RC:ImgMsg 、语音消息 RC:VcMsg 、图文消息 RC:ImgTextMsg 、位置消息 RC:LBSMsg 、添加联系人消息 RC:ContactNtf 、提示条通知消息 RC:InfoNtf 、资料通知消息 RC:ProfileNtf 、通用命令通知消息 RC:CmdNtf 、客服握手消息 RC:HsMsg 、客服挂断消息 RC:SpMsg,详细请参见消息类型说明文档
    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 不代表任何意义。开通后可通过该属性判断消息中是否含有敏感词。目前支持单聊、群聊、聊天室会话类型,其他会话类型默认为 0 ,开通后含有屏蔽敏感词的消息也不会进行下发,只会进行消息路由。
    source Int 标识消息的发送源头,包括:iOS、Android、Websocket。目前支持单聊、群聊会话类型,其他会话类型为空。
    同步消息时都需要你的服务提供应答 200,只要有应答,就表示消息已经同步,如果应答超时 5 秒,融云会再尝试推送 2 次,如果仍然失败,融云将不再推送此消息,如短时间内有大面积超时,将暂停推送,1 分钟后会继续推送。

    示例

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

    Request:

    POST /receive_message.php?signTimestamp=1408706337&nonce=14314&signature=45beb7cc7307889a8e711219a47b7cf6a5b000e8 HTTP/1.1
    Host: demo.com.cn
    Content-Type: application/x-www-form-urlencoded
    
    fromUserId=123&toUserId=456&objectName=RC%3ATxtMsg&content=%7B"content"%3A"hello"%7D&channelType=PERSON&msgTimestamp=1408710653491&msgUID=596E-P5PG-4FS2-7OJK
    

    融云提供了详细的消息路由调试工具使用说明,方便开发者调试使用。

    消息历史记录服务

    消息历史记录下载地址获取方法

    说明:免费获取 APP 内指定某天某小时内的所有会话消息记录的下载地址(目前支持二人会话、讨论组、群组、聊天室、客服、系统通知消息历史记录下载。),消息记录以日志文件方式提供,并对文件进行 ZIP 压缩。

    方法名:/message/history

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/history.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    date String 指定北京时间某天某小时,格式为2014010101,表示获取 2014 年 1 月 1 日凌晨 1 点至 2 点的数据。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    url String 历史记录下载地址,如没有消息记录数据时,则 url 值为空。
    date String 历史记录时间。

    JSON 格式:

    {"code":200,"url":"http://aa.com/1/c6720eea-452b-4f93-8159-7af3046611f1.zip","date":"2014010101"}
    

    XML 格式:

    <xml><code>200</code><url>http://aa.com/1/c6720eea-452b-4f93-8159-7af3046611f1.zip</url><date>2014010101</date></xml>
    
    消息记录以日志方式提供,并对文件进行 ZIP 压缩,通过该接口返回消息记录文件下载地址后,请自行下载
    消息记录数据每小时产生一次,例如 10 点的数据,在 11 点以后才能调用该接口获取到下载地址,在获取时可能会出现延迟,请尝试多次获取,最晚 1 小时即可获取到下载地址。
    消息记录日志文件,我们为您在服务器端保存 3 天,无论是否下载过,3 天后都将从服务器删除。
    开发者如果需要获取图片、视频等文件信息,可通过消息中地址进行下载,融云文件存储有效期为 6 个月。

    日志文件中,消息格式为 json

    {
        "appId": "8w7jv4qb7k5wy",
        "fromUserId": "99921",
        "targetId": "4974",
        "targetType": 3,
        "GroupId": "4971",
        "classname": "RC:TxtMsg",
        "content": {
            "content": "求帮助"
        },
        "dateTime": "2015-05-27 08:18:30.709",
        "source":"iOS",
        "isDiscard":"false",
        "isSensitiveWord":"false",
        "isForbidden":"false",
        "isNotForward":"false",
        "msgUID": "596E-P5PG-4FS2-7OJK"
    }
    

    格式说明

    名称 类型 说明
    appId String App Key。
    fromUserId String 发送者 Id
    targetId String 接受者 Id,在消息路由中为 toUserId
    targetType Int 会话类型,二人会话是 1 、讨论组会话是 2 、群组会话是 3 、聊天室会话是 4 、客服会话是 5 、 系统通知是 6 、应用公众服务是 7 、公众服务是 8targetType 在 SDK 中为 ConversationType
    GroupId String 根据不同的 targetType,可能是讨论组 Id、群组 Id 或聊天室 Id ,如 targetType 为 1 时可忽略 GroupId。
    classname String 消息类型:文本消息 RC:TxtMsg 、 图片消息 RC:ImgMsg 、语音消息 RC:VcMsg 、图文消息 RC:ImgTextMsg 、位置消息 RC:LBSMsg 、添加联系人消息 RC:ContactNtf 、提示条通知消息 RC:InfoNtf 、资料通知消息 RC:ProfileNtf 、通用命令通知消息 RC:CmdNtf 、客服握手消息 RC:HsMsg 、客服挂断消息 RC:SpMsg,详细请参见消息类型说明文档
    content String 消息内容
    dateTime String 消息时间
    source String 消息来源,包括:iOS、Android、Websocket。
    isDiscard String 是否被丢弃,true 为是,false 为否,只针对聊天室会话类型存在。
    isSensitiveWord String 是否含有敏感词,true 为含有敏感词、false 为不含有敏感词,只针对聊天室会话类型存在。
    isForbidden String 是否为被禁言后发送的消息,只针对聊天室会话类型存在。
    isNotForward String 消息是否不分发,true 为不分发、false 为分发,只针对聊天室会话类型存在。
    msgUID String 可通过 msgUID 确定消息唯一。

    示例

    Request:

    POST /message/history.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    date=2014010101
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"url":"http://aa.com/1/c6720eea-452b-4f93-8159-7af3046611f1.gz","date":"2014010101"}
    

    消息历史记录删除方法

    说明:删除服务端消息记录日志文件,文件内容为 APP 内指定某天某小时内的所有会话消息记录,删除后文件将在随后的 5-10 分钟内被永久删除。开通单群聊消息云存储功能后存储在云端的数据不会被删除,只是无法再通过“消息历史记录下载地址获取方法”获取消息日志文件。

    方法名:/message/history/delete

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/message/history/delete.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    date String 指定北京时间某天某小时,格式为2014010101,表示:2014年1月1日凌晨1点。返回成功后,消息记录文件将在随后的 5-10 分钟内被永久删除。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    Request:

    POST /message/history/delete.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    date=2014010101
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    群组服务

    同步用户所属群组方法

    如果在集成融云前 App Server 已有群组数据,可使用此服务进行同步,当第一次连接融云服务器时,需要向融云服务器提交 userId 对应的用户当前所加入的所有群组,此接口主要为防止应用中用户群信息同融云已知的用户所属群信息不同步。

    方法名:/group/sync

    调用频率:每秒钟限 100 次

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/sync.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 被同步群信息的用户 Id。(必传)
    group[id]=name String 该用户的群信息,如群 Id 已经存在,则不会刷新对应群组名称,如果想刷新群组名称请调用刷新群组信息方法
    当不提交group[id]=name参数时,表示删除userId对应的群信息;此参数可传多个,参见下面示例。

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    Request:

    POST /group/sync.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2014&group[10001]=TestGroup1&group[10002]=TestGroup2&group[10003]=TestGroup3
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    创建群组方法

    创建群组,并将用户加入该群组,用户将可以收到该群的消息,同一用户最多可加入 500 个群,每个群最大至 3000 人,App 内的群组数量没有限制。注:其实本方法是加入群组方法 /group/join 的别名。

    方法名:/group/create

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/create.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 要加入群的用户 Id。(必传)
    groupId String 创建群组 Id。(必传)
    groupName String 群组 Id 对应的名称。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    提交多个userId参数时,表示创建群组,并将多个用户加入该群组,用户将可以收到该群的消息;参见下面示例

    示例

    Request:

    POST /group/create.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    userId=1&userId=2&groupId=123&groupName=TestGroup
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    加入群组方法

    将用户加入指定群组,用户将可以收到该群的消息,同一用户最多可加入 500 个群,每个群最大至 3000 人。

    方法名:/group/join

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/join.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 要加入群的用户 Id,可提交多个,最多不超过 1000 个。(必传)
    groupId String 要加入的群 Id。(必传)
    groupName String 要加入的群 Id 对应的名称。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    提交多个 userId参数时,表示将多个用户加入指定群组,用户将可以收到该群的消息;参见下面示例

    示例

    Request:

    POST /group/join.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    userId=1&userId=2&groupId=123&groupName=TestGroup
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    退出群组方法

    将用户从群中移除,不再接收该群组的消息。

    方法名:/group/quit

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/quit.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 要退出群的用户 Id。(必传)
    groupId String 要退出的群 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    提交多个userId参数时,表示将多个用户从群中移除,不再接收该群组的消息;参见下面示例

    示例

    Request:

    POST /group/quit.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    userId=1&userId=2&groupId=123
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    解散群组方法

    将该群解散,所有用户都无法再接收该群的消息。

    方法名:/group/dismiss

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/dismiss.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 操作解散群的用户 Id,可以为任何用户 Id ,非群组创建者也可以解散群组。(必传)
    groupId String 要解散的群 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    Request:

    POST /group/dismiss.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    userId=1&groupId=123
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    刷新群组信息方法

    方法名:/group/refresh

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/refresh.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    groupId String 群组 Id。(必传)
    groupName String 群组名称。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /group/refresh.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    groupId=123&groupName=new
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询群成员方法

    方法名:/group/user/query

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/user/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    groupId String 群 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    users String 群成员数组。
    id String 群成员 ID。

    JSON 格式:

     {"code":200,"users":[{"id":"10001"},{"id":"10002"},{"id":"10000"},{"id":"10003"}]}
    

    XML 格式:

     <xml>
         <code>200</code>
         <users>
             <concurrent-hash-map>
                 <entry>
                     <string>id</string>
                     <string>10001</string>
                 </entry>
                 <entry>
                     <string>id</string>
                     <string>10002</string>
                 </entry>
                 <entry>
                     <string>id</string>
                     <string>10003</string>
                 </entry>
             </concurrent-hash-map>
         </users >
     </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

     POST /group/user/query.json HTTP/1.1
     Host: api.cn.ronghub.com
     App-Key: uwd1c0sxdlx2
     Nonce: 14314
     Timestamp: 1408706337
     Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
     Content-Type: application/x-www-form-urlencoded
    
     groupId=123
    

    HTTP 响应:

     HTTP/1.1 200 OK
     Content-Type: application/json; charset=utf-8
    
     {"code":200,"users":[{"id":"10001"},{"id":"10002"},{"id":"10000"},{"id":"10003"}]}
    

    群组成员禁言服务

    在 App 中如果不想让某一用户在群中发言时,可将此用户在群组中禁言,被禁言用户可以接收查看群组中用户聊天信息,但不能发送消息。

    添加禁言群成员方法

    方法名:/group/user/gag/add

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/user/gag/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)
    groupId String 群组 Id。(必传)
    minute String 禁言时长,以分钟为单位,最大值为43200分钟,为 0 表示永久禁言。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    当提交多个 userId 参数时,表示将群组中多个用户禁言,每次最多设置 20 个用户;参见下面示例。

    示例

    HTTP 请求:

    POST /group/user/gag/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2582&userId=2583&groupId=16&minute=1
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    移除禁言群成员方法

    方法名:/group/user/gag/rollback

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/user/gag/rollback.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id,支持同时移除多个群成员。(必传)
    groupId String 群组 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    当提交多个 userId 参数时,表示将群组中多个用户解禁,每次最多解禁 20 个用户;参见下面示例。

    示例

    HTTP 请求:

    POST /group/user/gag/rollback.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2582&userId=2583&groupId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询被禁言群成员方法

    方法名:/group/user/gag/list

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/group/user/gag/list.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    groupId String 群组 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    time String 解禁时间。
    userId String 群成员 Id。

    JSON 格式:

    {"code":200,"users":[{"time":"2015-09-25 16:12:38","userId":"2582"}]}
    

    XML 格式:

    <code>200</code>
    <users>
     <map>
       <entry>
         <string>time</string>
         <string>2015-09-25 16:12:38</string>
       </entry>
       <entry>
         <string>userId</string>
         <string>2582</string>
       </entry>
     </map>
    </users>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /group/user/gag/list.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    groupId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"users":[{"time":"2015-09-25 16:12:38","userId":"2582"}]}
    

    聊天室服务

    Server 端聊天室消息处理机制

    1、 对于同一个聊天室,只存储该聊天室的 50 条最新消息,也就是说移动端用户进入聊天室时,最多能够拉取到最新的 50 条消息。

    2、 High Level 和 Low Level 的消息:当聊天室中消息并发量很高时,可以将不重要的消息设置为 Low Level 的消息,消息默认全是 High Level 的消息。High Level 和 Low Level 的消息的区别在于,当服务器负载高时 Low Level 的消息优先被丢弃,这样可以让出资源给 High Level 的消息。 通过聊天室消息优先级服务设置 Low Level 消息,设置好后两小时生效。

    创建聊天室方法

    方法名:/chatroom/create

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/create.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroom[id]=name String id:要创建的聊天室的id;name:要创建的聊天室的name。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    提交参数 chatroom[id]=name 多个时表示创建多个聊天室,参见下面示例

    示例

    Request:

    POST /chatroom/create.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    chatroom[10001]=name1&chatroom[10002]=name2&chatroom[10003]=name3
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    
    目前有三种方式创建聊天室:
    1、调用 Server API 创建聊天室接口。
    2、向不存在的聊天室中发送消息时,会自动创建聊天室。
    3、调用移动端 SDK 中 joinChatRoom 接口加入一个不存在的聊天室时,会自动创建聊天室。

    销毁聊天室方法

    方法名:/chatroom/destroy

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/destroy.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 要销毁的聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    提交参数 chatroomId 多个时表示销毁多个聊天室,参见下面示例

    示例

    Request:

    POST /chatroom/destroy.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    chatroomId=10001&chatroomId=10002
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    
    注:聊天室 1 个小时内没有人说话,同时没有人加入聊天室时,会把聊天室内所有成员踢出聊天室并销毁聊天室。

    查询聊天室信息方法

    方法名:/chatroom/query

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 要查询的聊天室id(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    chatRooms String[] 聊天室信息数组。
    chrmId String 聊天室 ID。
    name String 聊天室名称。
    time String 聊天室创建时间。

    JSON 格式:

    {"code":200,"chatRooms":[{"chrmId":"10001","name":"name1","time":"2014-11-11 11:3:34"}]}
    

    XML 格式:

    <xml>
        <code>200</code>
        <chatrooms>
            <concurrent-hash-map>
                <entry>
                    <string>chrmId</string>
                    <string>10001</string>
                </entry>
                <entry>
                    <string>name</string>
                    <string>name1</string>
                </entry>
                <entry>
                    <string>time</string>
                    <string>2014-11-11 11:1:31</string>
                </entry>
            </concurrent-hash-map>
        </chatrooms>
    </xml>
    

    返回值请参考 API 方法返回值说明

    提交多个时表示查询多个聊天室,参见下面示例

    示例

    Request:

    POST /chatroom/query.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    chatroomId=10001&chatroomId=10002
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"chatRooms":[{"chatroomId":"10001","name":"name1","time":"2014-01-01 1:1:1"},{"chatroomId":"10002","name":"name2","time":"2014-01-01 1:1:2"}]}
    

    查询聊天室内用户方法

    方法名:/chatroom/user/query

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 要查询的聊天室 ID(必传)
    count String 要获取的聊天室成员信息数,最多返回 500 个成员信息(必传)
    order String 加入聊天室的先后顺序, 1 为加入时间正序, 2 为加入时间倒序(必传)

    返回值

    名称 类型 说明
    code Int 200:成功。
    total Int 当前聊天室中用户数。
    users String[] 聊天室成员数组,最多为 500 个。
    id String 用户 Id。
    time String 加入聊天室时间。

    JSON 格式:

    {"code":200,"total":1000,"users":[{"id":"uid1","time":"2015-09-10 16:38:26"},{"id":"uid2","time":"2015-09-10 16:38:26"}]}
    

    XML 格式:

    <xml>
        <code>200</code>
        <total>1000</total>
        <users>
            <concurrent-hash-map>
                <entry>
                    <string>id</string>
                    <string>uid1</string>
                </entry>
                <entry>
                    <string>time</string>
                    <string>2015-09-10 16:38:26</string>
                </entry>
            </concurrent-hash-map>
        </users>
    </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    Request:

    POST /chatroom/user/query.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    chatroomId=10001&count=2&order=1
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"total":500,"users":[{"id":"uid1","time":"2015-09-10 16:38:26"},{"id":"uid2","time":"2015-09-10 16:38:26"}]}
    

    查询用户是否在聊天室方法

    方法名:/chatroom/user/exist

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/exist.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 要查询的聊天室 ID(必传)
    userId String 要查询的用户 ID(必传)

    返回值

    名称 类型 说明
    code Int 200:成功。
    isInChrm Boolean 用户是否在聊天室中,true 表示在聊天室中,false 表示不在聊天室中。

    JSON 格式:

    {"code":200,"isInChrm":true}
    

    XML 格式:

    <xml>
        <code>200</code>
        <isInChrm>true</isInChrm>
    </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    Request:

    POST /chatroom/user/exist.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce: 14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    chatroomId=10001&userId=5
    

    Response:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"isInChrm":true}
    

    聊天室成员禁言服务

    在 App 中如果不想让某一用户在聊天室中发言时,可将此用户在聊天室中禁言,被禁言用户可以接收查看聊天室中用户聊天信息,但不能发送消息。

    添加禁言聊天室成员方法

    方法名:/chatroom/user/gag/add

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/gag/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)
    chatroomId String 聊天室 Id。(必传)
    minute String 禁言时长,以分钟为单位,最大值为43200分钟。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/gag/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2582&chatroomId=16&minute=1
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    移除禁言聊天室成员方法

    方法名:/chatroom/user/gag/rollback

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/gag/rollback.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/gag/rollback.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2582&chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询被禁言聊天室成员方法

    方法名:/chatroom/user/gag/list

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/gag/list.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    users String 被禁言用户数组。
    time String 解禁时间。
    userId String 被禁言用户 Id。

    JSON 格式:

    {"code":200,"users":[{"time":"2015-09-25 16:12:38","userId":"2582"}]}
    

    XML 格式:

    <code>200</code>
    <users>
     <map>
       <entry>
         <string>time</string>
         <string>2015-09-25 16:12:38</string>
       </entry>
       <entry>
         <string>userId</string>
         <string>2582</string>
       </entry>
     </map>
    </users>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/gag/list.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"users":[{"time":"2015-09-25 16:12:38","userId":"2582"}]}
    

    聊天室全局禁言

    如果不想让某一用户在所有聊天室中发言时,可将此用户添加到聊天室全局禁言中,被禁言用户可以接收查看聊天室中用户聊天信息,但不能发送消息。

    此服务须开通专有云的情况下,才能申请开通,详细请联系商务,电话:13161856839。

    添加聊天室全局禁言方法

    方法名:/chatroom/user/ban/add

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/ban/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id,可同时禁言多个用户,建议最多不超过 20 个。(必传)
    minute String 禁言时长,以分钟为单位,最大值为 43200 分钟。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/ban/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2582&userId=2583&minute=1
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    移除聊天室全局禁言方法

    方法名:/chatroom/user/ban/remove

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/ban/remove.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id,可同时移除多个用户,建议最多不超过 20 个。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/ban/remove.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2582
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询聊天室全局禁言用户方法

    方法名:/chatroom/user/ban/query

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/ban/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    users String 被禁言用户数组。
    time String 解禁时间。
    userId String 被禁言用户 Id。

    JSON 格式:

    {"code":200,"users":[{"time":"2015-09-25 16:12:38","userId":"2582"}]}
    

    XML 格式:

    <code>200</code>
    <users>
     <map>
       <entry>
         <string>time</string>
         <string>2015-09-25 16:12:38</string>
       </entry>
       <entry>
         <string>userId</string>
         <string>2582</string>
       </entry>
     </map>
    </users>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/ban/query.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"users":[{"time":"2015-09-25 16:12:38","userId":"2582"}]}
    

    聊天室封禁服务

    在 App 中如果想将某一用户踢出聊天室并在一段时间内不允许再进入聊天室时,可实现将用户对指定的聊天室做封禁处理,被封禁用户将被踢出聊天室,并在设定的时间内不能再进入聊天室中。

    添加封禁聊天室成员方法

    方法名:/chatroom/user/block/add

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/block/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)
    chatroomId String 聊天室 Id。(必传)
    minute String 封禁时长,以分钟为单位,最大值为43200分钟。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/block/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2582&chatroomId=16&minute=1
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    移除封禁聊天室成员方法

    方法名:/chatroom/user/block/rollback

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/block/rollback.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userId String 用户 Id。(必传)
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <xml><code>200</code></xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/block/rollback.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    userId=2582&chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询被封禁聊天室成员方法

    方法名:/chatroom/user/block/list

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/block/list.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    users String 被封禁用户数组。
    time String 解禁时间。
    userId String 被封禁用户 Id。

    JSON 格式:

    {"code":200,"users":[{"time":"2015-09-25 16:12:38","userId":"2582"}]}
    

    XML 格式:

    <code>200</code>
    <users>
     <map>
       <entry>
         <string>time</string>
         <string>2015-09-25 16:12:38</string>
       </entry>
       <entry>
         <string>userId</string>
         <string>2582</string>
       </entry>
     </map>
    </users>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/block/list.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"users":[{"time":"2015-09-25 16:12:38","userId":"2582"}]}
    

    聊天室消息分发服务

    可实现控制对聊天室中消息是否进行分发,停止分发后聊天室中用户发送的消息,融云服务端不会再将消息发送给聊天室中其他用户。

    聊天室消息停止分发方法

    方法名:/chatroom/message/stopDistribution

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/message/stopDistribution.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/message/stopDistribution.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    聊天室消息恢复分发方法

    方法名:/chatroom/message/resumeDistribution

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/message/resumeDistribution.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/message/resumeDistribution.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    聊天室消息优先级服务

    通过聊天室消息优先级接口,设置的消息类型为 Low Level 的消息,默认情况下全部为 High Level 的消息,当服务器负载高时 Low Level 的消息优先被丢弃,这样可以让出资源给 High Level 的消息,确保重要的消息不被丢弃,设置后 2 小时生效。

    此服务须开通专有云的情况下,才能申请开通,详细请联系商务,电话:13161856839。

    添加聊天室消息优先级方法

    方法名:/chatroom/message/priority/add

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/message/priority/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    objectName String 低优先级的消息类型,每次最多提交 5 个,设置的消息类型最多不超过 20 个。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/message/priority/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce:14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    objectName=RC:VcMsg&objectName=RC:ImgTextMsg&objectName=RC:ImgMsg
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    移除聊天室消息优先级方法

    方法名:/chatroom/message/priority/remove

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/message/priority/remove.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    objectName String 低优先级的消息类型,每次最多提交 5 个

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/message/priority/remove.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce:14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    
    objectName=RC:VcMsg&objectName=RC:ImgMsg
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询聊天室消息优先级方法

    方法名:/chatroom/message/priority/query

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/message/priority/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    objectNames String[] 消息类型数组。

    JSON 格式:

    {"code":200,"objectNames":["RC:ImgMsg","RC:ImgTextMsg","RC:VcMsg"]}
    

    XML 格式:

    <xml>
      <code>200</code>
      <objectNames>
        <string>RC:ImgMsg</string>
        <string>RC:ImgTextMsg</string>
        <string>RC:VcMsg</string>
      </objectNames>
    </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/message/priority/query.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Timestamp: 1408706337
    Nonce:14314
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: Application/x-www-form-urlencoded
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"objectNames":["RC:ImgMsg","RC:ImgTextMsg","RC:VcMsg"]}
    

    聊天室用户白名单服务

    现在聊天室中用户在离线 30 秒后或离线后聊天室中产生 30 条消息时会被自动踢出聊天室。将用户加入到白名单后,用户将处于被保护状态,在以上情况下将不会被自动踢出聊天室。白名单中用户在当前聊天室中发送消息的级别将高于 High Level 。聊天室销毁后,对应白名单也自动销毁。

    建议使用场景:

    • 如您的应用为直播业务,建议将主播用户 ID 加入到聊天室白名单中,以避免主播离线后被自动踢出聊天室。
    • 当您通过 Server API 向聊天室中发送用来触发移动端某些系统行为的命令消息时,可将发送者 ID 加入到白名单中,以避免在高并发情况下消息丢失的情况。
    此服务须开通专有云的情况下,才能申请开通,详细请联系商务,电话:13161856839。

    添加聊天室白名单成员方法

    方法名:/chatroom/user/whitelist/add

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/whitelist/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)
    userId String 聊天室中用户 Id,可提交多个,聊天室中白名单用户最多不超过 5 个。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/whitelist/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16&userId=123&userId=456
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    移除聊天室白名单成员方法

    方法名:/chatroom/user/whitelist/remove

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/whitelist/remove.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)
    userId String 聊天室白名单中用户 Id,可提交多个,最多不超过 5 个。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/whitelist/remove.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16&userId=123&userId=456
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询聊天室白名单成员方法

    方法名:/chatroom/user/whitelist/query

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/user/whitelist/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    users String[] 白名单用户数组。

    JSON 格式:

    {"code":200,"users":["user1","user2"]}
    

    XML 格式:

    <xml>
      <code>200</code>
      <users>
        <string>user1</string>
        <string>user2</string>
      </users>
    </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/user/whitelist/query.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"users":["user1","user2"]}
    

    聊天室保活服务

    当聊天室中 1 小时无人说话,同时没有人加入聊天室时,融云服务端会自动把聊天室内所有成员踢出聊天室并销毁聊天室。如果不希望聊天室自动销毁,可以使用此服务将指定聊天室进行保活处理,保活的聊天室不会被自动销毁,需要调用 API 接口销毁聊天室。

    此服务须开通专有云的情况下,才能申请开通,详细请联系商务,电话:13161856839。

    添加保活聊天室方法

    方法名:/chatroom/keepalive/add

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/keepalive/add.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/keepalive/add.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    移除保活聊天室方法

    方法名:/chatroom/keepalive/remove

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/keepalive/remove.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    chatroomId String 聊天室 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/keepalive/remove.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    chatroomId=16
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询保活聊天室方法

    方法名:/chatroom/keepalive/query

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/chatroom/keepalive/query.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    chatroomIds String[] 保活聊天室数组。

    JSON 格式:

    {"code":200,"chatroomIds":["1000","1001"]}
    

    XML 格式:

    <xml>
      <code>200</code>
      <chatroomIds>
        <string>1000</string>
        <string>1001</string>
      </users>
    </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /chatroom/keepalive/query.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"chatroomIds":"1000","10001"}
    

    在线状态订阅服务

    在线状态订阅方法

    说明:
    1、该服务需要登录开发者后台,在“应用/IM 服务/高级功能设置”中开通公有云专业版后,在“在线状态订阅”中设置订阅地址,开启后才有使用,查看详细
    2、开启服务后,融云服务器可以将用户在线状态同步给开发者的应用服务器,开发者应用服务器接收在你 App 和 Web 中的用户状态(在线、离线、登出)。
    3、为了验证数据有效性并确保调用者为融云 Server,我们会在每个请求前添加数据签名,签名信息参数在接收地址的 URL 上提供。
    4、在开通“多设备消息同步”情况下,默认只有用户最后一个终端离线或登出时,才会进行通知,如果需要每一个终端离线或登出后,都发送状态通知,需要提交工单申请开通。

    签名方法:请参考 通用 API 接口签名规则

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    userid String 用户 Id。
    status String 状态:0:online 在线、1:offline 离线、2:logout 登出。
    os String 操作系统,iOS 、 Android 或 Websocket,用户上线时同步。
    time String 发生时间。

    状态说明:

    • online 在线状态表示 App 已经连接融云服务器,即客户端调用 connect 方法连接成功。
    • offline 离线状态表示 App 已经断开与融云服务器的连接,异常断网情况下离线状态会延迟 5 分钟同步。
    • logout 登出状态表示 App 已经注销登录状态,即客户端调用 logoutdisconnect 方法注消登录,用户注销登录同时也会同步离线状态。
    同步在线状态时都需要你的服务提供应答,只要有应答 200 ,就表示状态已经同步,如果应答超时 5 秒,融云会再尝试推送 2 次,如果仍然失败,融云将不再同步此条状态。如短时间内有大面积超时,将暂停推送,1 分钟后会继续推送。异常断网情况下的在线状态会延迟 5 分钟同步。

    示例

    假设开发者提交的在线状态订阅地址:http://demo.com.cn/online_status.php

    Request:

    POST /online_status.php?timestamp=1408706337&nonce=14314&signature=45beb7cc7307889a8e711219a47b7cf6a5b000e8 HTTP/1.1
    Host: demo.com.cn
    
    [
      {
        "userid": "apert60541",
        "status": "1",
        "os": "iOS",
        "time": "1437982625625"
      },
      {
        "userid": "apert60592",
        "status": "1",
        "os": "Android",
        "time": "1437982625625"
      },
      {
        "userid": "apert60533",
        "status": "2",
        "os": "Android",
        "time": "1437982625625"
      }
    ]
    

    会话消息免打扰服务

    设置会话消息免打扰方法

    设置用户某会话接收新消息时是否进行消息提醒。

    方法名:/conversation/notification/set

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/conversation/notification/set.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    conversationType String 会话类型,二人会话是 1 、讨论组会话是 2 、群组会话是 3 、客服会话是 5 、系统通知是 6 、应用公众服务是 7 、公众服务是 8 。(必传)
    requestId String 设置消息免打扰的用户 Id。(必传)
    targetId String 目标 Id,根据不同的 ConversationType,可能是用户 Id、讨论组 Id、群组 Id、客服 Id、公众号 Id。(必传)
    isMuted Int 消息免打扰设置状态,0 表示为关闭,1 表示为开启。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。

    JSON 格式:

    {"code":200}
    

    XML 格式:

    <code>200</code>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /conversation/notification/set.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    conversationType=1&requestId=b5NwvIrW8&targetId=UAhIaLkR0&isMuted=0
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200}
    

    查询会话消息免打扰方法

    查询用户某一会话消息免打扰的设置状态。

    方法名:/conversation/notification/get

    签名方法:请参考 通用 API 接口签名规则

    URL:http://api.cn.ronghub.com/conversation/notification/get.[format]

    [format] 表示返回格式,可以为 jsonxml,注意不要带 [ ]。

    HTTP 方法:POST

    表单参数

    名称 类型 说明
    conversationType String 会话类型,二人会话是 1 、讨论组会话是 2 、群组会话是 3 、客服会话是 5 、系统通知是 6 、应用公众服务是 7 、公众服务是 8 。(必传)
    requestId String 设置消息免打扰的用户 Id。(必传)
    targetId String 目标 Id,根据不同的 ConversationType,可能是用户 Id、讨论组 Id、群组 Id、客服 Id、公众号 Id。(必传)

    返回值

    名称 类型 说明
    code Int 返回码,200 为正常。
    isMuted Int 消息免打扰设置状态,0 表示为关闭,1 表示为开启。

    JSON 格式:

    {"code":200,"isMuted":0}
    

    XML 格式:

    <xml>
      <code>200</code>
      <isMuted>0</isMuted>
    </xml>
    

    返回值请参考 API 方法返回值说明

    示例

    HTTP 请求:

    POST /conversation/notification/get.json HTTP/1.1
    Host: api.cn.ronghub.com
    App-Key: uwd1c0sxdlx2
    Nonce: 14314
    Timestamp: 1408706337
    Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
    Content-Type: application/x-www-form-urlencoded
    
    conversationType=2&requestId=b5NwvIrW8&targetId=2MqOJa1Un
    

    HTTP 响应:

    HTTP/1.1 200 OK
    Content-Type: application/json; charset=utf-8
    
    {"code":200,"isMuted":0}
    

    API 方法返回值说明

    HTTP 状态码

    code 描述 详细解释
    200 成功 成功
    400 错误请求 该请求是无效的,详细的错误信息会说明原因
    401 未授权 验证失败,详细的错误信息会说明原因
    403 服务器拒绝请求 被拒绝调用,详细的错误信息会说明原因
    404 未找到 服务器找不到请求的地址
    405 方法禁用 群容量超出上限,禁止调用
    429 太多的请求 超出了调用频率限制,详细的错误信息会说明原因
    500 服务器内部错误 服务器内部出错了,请联系我们尽快解决问题
    504 网关超时 服务器在运行,本次请求响应超时,请稍后重试

    业务返回码

    code 描述 详细解释 HTTP 状态码
    404 未找到 服务器找不到请求的地址 404
    1000 服务内部错误 服务器端内部逻辑错误,请稍后重试 500
    1001 App Secret 错误 App Key 与 App Secret 不匹配 401
    1002 参数错误 参数错误,详细的描述信息会说明 400
    1003 无 POST 数据 没有 POST 任何数据 400
    1004 验证签名错误 验证签名错误 401
    1005 参数长度超限 参数长度超限,详细的描述信息会说明 400
    1006 App 被锁定或删除 App 被锁定或删除 401
    1007 被限制调用 该方法被限制调用,详细的描述信息会说明 401
    1008 调用频率超限 调用频率超限,详细的描述信息会说明,广播消息未开通时也会返回此状态码。 429
    1009 服务未开通 未开通该服务,请到开发者管理后台开通或提交工单申请。 430
    1015 删除的数据不存在 要删除的保活聊天室 ID 不存在。 200
    1016 设置保活聊天室个数超限 设置的保活聊天室个数超限。 403
    1050 内部服务超时 内部服务响应超时 504
    2007 测试用户数量超限 测试用户数量超限 403