Callback after Member Changed
功能说明
App 后台可以通过该回调实时查看通话成员状态变更。
注意事项
要启用回调,必须通过 REST API 配置回调 URL,并打开本条回调协议对应的开关,配置方法详见 设置回调配置 文档。
回调的方向是 Call 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
可能触发该回调的场景
App 用户通过客户端 接通、挂断 等操作导致的成员状态变更都会触发该回调。
回调发生时机
通话成员状态变更之后。
接口说明
请求 URL 示例
以下示例中 App 配置的回调 URL 为
https://www.example.com
。示例:
https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform
请求参数说明
参数 | 说明 |
https | 请求协议为 HTTPS,请求方式为 POST |
www.example.com | 回调 URL |
SdkAppid | 创建应用时在即时通信 IM 控制台分配的 SDKAppID |
CallbackCommand | 固定为 Call.CallbackAfterMemberChanged |
contenttype | 固定值为 json |
ClientIP | 客户端 IP,格式如: 127.0.0.1 |
OptPlatform |
请求包示例
{"CallbackCommand":"Call.CallbackAfterMemberChanged","CallId":"055662e1-bc8a-469c-a334-1126c8c17d58","UserList":[{"User_Account":"user1","Status":"Calling"},{"User_Account":"user2","Status":"Calling"}],"ChangedUserList":[{"User_Account":"user2","ActionType":"Accept" // Accept:接听; Reject:拒绝; NotAnswer:未接听; Hangup:挂断; Join:主动加入; Offline:离线(心跳过期); Invite:邀请; Cancel_Invite:取消邀请;}]"EventTime":1740464128807}
请求包字段说明
字段 | 类型 | 说明 |
CallbackCommand | String | 回调命令 |
CallId | String | 通话 ID |
UserList | Array | 通话成员列表 |
User_Account | String | 通话用户 ID |
Status | String | 通话状态: Calling :通话中Waiting :等待接通 |
ChangedUserList | Array | 变成成员列表 |
ChangedUserList.User_Account | String | 发生状态变更成员的用户 ID |
ActionType | String | 导致变更的操作: Accept :接听Reject :拒绝NotAnswer :未接听HangUp :挂断Join :主动加入通话Offline :离线Invite :被邀请加入通话Cancel_Invite : 主叫取消邀请 |
EventTime | Integer | 事件触发的毫秒级别时间戳 |
应答包示例
App 后台同步数据后,发送回调应答包。
{"ActionStatus": "OK","ErrorInfo": "","ErrorCode": 0 // 忽略回调结果}
应答包字段说明
字段 | 类型 | 属性 | 说明 |
ActionStatus | String | 必填 | 请求处理的结果,OK 表示处理成功,FAIL 表示失败 |
ErrorInfo | String | 必填 | 错误信息 |
ErrorCode | Integer | 必填 | 错误码,此处填0表示忽略应答结果 |
参考
第三方回调简介
REST API:获取实时通话状态