全部文档

聊天室状态同步

# 功能描述

1、订阅后应用下聊天室发生状态变化时,将实时同步到开发者的应用服务器,目前支持的同步状态包括:创建、销毁、成员加入、成员退出聊天室。便于对应用下的聊天室进行数据统计及其他业务逻辑处理。

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

3、开发者如需使用此功能,请在开发者后台免费基础功能中开通。

# 参数说明

参数 类型 说明
chatRoomId String 聊天室 Id。
userIds String[] 用户 Id 数据。
status Int 操作状态:
0:直接调用接口
1:触发融云退出聊天室机制将用户踢出(聊天室中用户在离线 30 秒后有新消息产生时或离线后聊天室中产生 30 条消息时会被自动退出聊天室,此状态需要聊天室中有新消息时才会进行同步)
2:用户被封禁
3:触发融云销毁聊天室机制自动销毁
type Int 聊天室事件类型:0 创建聊天室、1 加入聊天室、2 退出聊天室、3 销毁聊天室
time Long 发生时间。

同步状态时需要服务提供应答 200,只要有 HTTP 应答码 200 ,融云会认为状态已经同步,如果应答超时 5 秒,融云会再尝试推送 2 次,如果仍然失败,将不再同步此条状态。如短时间内有大面积超时,将暂停推送,1 分钟后会继续推送。异常断网情况下的会延迟 5 分钟同步。

# 示例代码

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

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

请求方法: POST

Request:

POST /chatroom_status_sync.php?signTimestamp=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

文档是否解决您的问题 ?

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