用户退房回调

最近更新时间:2023-07-28 14:30:52

我的收藏

功能说明

您的 App 后台可以通过该回调实时查看用户退房的信息,包括: App 后台用户退房成功通知时,可以据此进行数据同步等操作。

注意事项

要启用回调,必须配置回调 URL,并打开本条命令字的开关,请参考 回调命令字的创建
回调的方向是即时通信 IM 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。

可能触发该回调的场景

App 用户通过客户端用户退房成功。

回调的发生时机

用户退房成功之后。

接口说明

请求URL

以下示例中 App 配置的回调 URL 为 https://www.example.com示例:
$http://www.example.com?sdkappid=$sdkappid&command=$command&contenttype=json&clientip=$clientip&optplatform=$optplatform

请求参数说明

参数
说明
http
请求协议为 HTTPS 或 HTTP,请求方式为 POST
回调 URL
sdkappid
创建应用时在即时通信 IM 控制台分配的 SDKAppID
command
固定为 exitRoom
contenttype
固定值为 json
clientip
客户端 IP,格式如:127.0.0.1, 如果是 RestApi 调用地址为0.0.0.0
optplatform
客户端平台,可能是 Android、iOS、Windows、MacOS、Unknown,若 RestApi 发送的请求,optplatform 为rest_api
具体的回调内容在 HTTP 请求包体中,参见下文回调示例。

回调示例

回调请求示例:
POST /?sdkappid=8888888&command=exitRoom&contenttype=json&clientip=127.0.0.1&optplatform=iOS HTTP/1.1
Host: www.example.com
Content-Length: 337
{
"MemberCount": 15,
"UserId": "Alice",
"UserRole": 0,
"RoomId": "Alice's Room",
"ExitReason": "user timeout offline system exit room",
"EventTime": 1682415761579
}

请求包字段说明

字段
类型
说明
UserId
String
操作的用户 ID
UserRole
Integer
角色类型:0为房主,1为管理员,2为普通成员,具体请参见:角色
RoomId
String
操作的房间 ID
ExitReason
String
用户退出的原因:
1. user timeout offline system exit room
2. roomkit sdk exit room
3. rest api exit room
MemberCount
Integer
当前房间成员数量
EventTime
Integer
事件触发时间戳(毫秒)

回调应答示例:

App 后台同步数据后,发送回调应答包。
{
"ErrorCode": 0, // 0 为成功,其余为失败
"ErrorMessage": "Success", // 失败原因
}