( 最近更新时间:2020-04-28 19:00:00 )
# 功能描述
1、订阅后应用下聊天室发生状态变化时,将实时同步到开发者的应用服务器,目前支持的同步状态包括:创建、销毁、成员加入、成员退出聊天室。便于对应用下的聊天室进行数据统计及其他业务逻辑处理。
2、暂不支持同一用户多端同时在线情况下的聊天室状态同步。
3、开发者如需使用此功能,请在开发者后台免费基础功能 (opens new window)中开通。
# 参数说明
参数 | 类型 | 说明 |
---|---|---|
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20