文档导航
server
API 版本:  v1
公告:融云新文档中心已上线,欢迎到新文档中心阅读 IM 服务端文档

聊天室状态同步

更新时间:2024-02-02 PDF

聊天室状态同步是即时通讯服务提供的回调服务,支持将应用下聊天室的状态变化实时同步到指定的应用服务器地址。目前支持同步以下状态:

  • 创建聊天室
  • 销毁聊天室
  • 成员加入聊天室
  • 成员退出聊天室
提示

不支持同一用户多端同时在线情况下的聊天室状态同步。

开通服务

使用聊天室状态同步 功能前,请确认已为当前 App Key 开通相关服务。详见聊天室服务配置

开通服务时,请配置可正常访问的回调接收地址。如果您的网络有 IP 访问限制,请务必配置 IP 白名单,否则无法正常接收服务端回调。

回调方法

请求方法: POST

数据格式application/json

即时通讯服务端会在 POST 请求 URL 中添加签名参数,您可通过签名验证调用者身份和数据有效性,详细参见 服务端回调签名

正文参数

该回调服务的 HTTP 请求正文数据格式为 application/json,包含具有以下结构的 JSON 对象:

参数 类型 说明
chatRoomId String 聊天室 ID。
userIds String[] 用户 ID 数据。
status Int 操作状态取值如下:
  • 0:操作者主动调用了聊天室事件类型(见 type 字段)对应的客户端或服务端接口。
  • 1:聊天室自动退出机制被触发,导致用户退出聊天室(被踢出聊天室)。
    • 聊天室成员在离线 30 秒后有新消息产生时,或离线后聊天室中产生 30 条消息时会被自动退出聊天室。
    • 此状态的同步需要在聊天室中有新消息时才会进行触发。
  • 2:用户被封禁。
  • 3:聊天室自动销毁机制被触发。
type Int 聊天室事件类型取值如下:0 为创建聊天室、1 加入聊天室、2 退出聊天室、3 销毁聊天室。
time Int 发生时间。

回调代码示例

以下示例假设您在开通服务页面配置的回调接收地址为 http://example.com/chatroom_status_sync.php

POST /chatroom_status_sync.php?appKey=someappKey&timestamp=1408710653491&nonce=14314&signature=45beb7cc7307889a8e711219a47b7cf6a5b000e8 HTTP/1.1
Host: example.com
Content-Type: application/json

[
  {
    "chatRoomId":"destory_11",
    "userIds":["gggg"],
    "status":0,
    "type":1,
    "time":1574476797772
  },
  {
    "chatRoomId":"destory_12",
    "userIds":[],
    "status":0,
    "type":0,
    "time":1574476797772
  }
]
              
已复制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

响应回调请求

提示
  • 只要有 HTTP 200 OK 成功响应,服务端会认为状态已经同步。
  • 如果应答超时 5 秒,服务端会再尝试推送 2 次,如果仍然失败,将不再同步此条状态。
  • 如短时间内有大面积超时,将暂时停止请求您的服务器,1 分钟后会继续发送回调请求。异常断网情况下的会延迟 5 分钟同步。
文档反馈
意见反馈

您的改进建议

意见反馈

问题类型

联系我们

提交工单

技术支持|集成使用|产品方案


商务咨询

7 x 24 小时

为您解答方案与报价问题

131 6185 6839

文档反馈