Callback after Call Ends

功能说明

App 后台可以通过该回调实时查看通话的结束动态。通话结束5秒后,可以通过查询通话记录接口查询通话详情。

注意事项

要启用回调,必须通过 REST API 配置回调 URL,并打开本条回调协议对应的开关,配置方法详见 设置回调配置 文档。
回调的方向是 Call 后台向 App 后台发起 HTTP POST 请求。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。

可能触发该回调的场景

通话结束。

回调发生时机

通话成员数小于等于1人时,触发通话结束回收。

接口说明

请求 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.CallbackAfterEndCall
contenttype
固定值为 json
ClientIP
客户端 IP,格式如:127.0.0.1
OptPlatform
客户端平台,取值参见 第三方回调简介:回调协议 中 OptPlatform 的参数含义

请求包示例

{
"CallbackCommand":"Call.CallbackAfterEndCall",
"CallRecord": {
"CallId": "055662e1-bc8a-469c-a334-1126c8c17d58",
"Caller_Account": "10001",
"MediaType": "Audio",
"CallType": "SingleCall",
"StartTime": 1741231146,
"EndTime": 1741231296,
"AcceptTime": 0,
"CallResult": "NotAnswer",
"CalleeList_Account": ["10001", "user2"],
"RoomId": "roomid-1434",
"RoomIdType": 2
}
"EventTime":1703589922780
}

请求包字段说明

字段
类型
说明
CallbackCommand
String
回调命令
CallRecord
Struct
通话记录信息
CallId
String
通话 ID
Caller_Account
String
主叫用户 ID
MediaType
String
媒体类型:
Video 视频通话
Audio 音频通话
CallType
String
通话类型:
SingleCall一对一通话
MultiCall 多人通话
StartTime
Integer
通话发起的时间戳(秒级)
EndTime
Integer
通话结束的时间戳(秒级)
AcceptTime
Integer
通话接通的时间戳(秒级)
CallResult
Integer
通话结果:
Cancel取消:主叫方在接通前取消通话
Reject拒接:被叫方拒接
NotAnswer 未接听:被叫方超时未接听
NormalEnd 完成:通话接通并正常结束
CallBusy忙线:通话忙线
Interrupt中断:网络等原因导致通话中断
Offline 离线:服务端检测到心跳过期导致通话结束
CalleeList_Account
Array
通话成员列表
RoomId
String
TRTC 房间 ID
RoomIdType
Integer
RoomId 类型:
1 数字房间号
2 字符串房间号
EventTime
Integer
事件触发的毫秒级别时间戳

应答包示例

App 后台同步数据后,发送回调应答包。
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0 // 忽略回调结果
}

应答包字段说明

字段
类型
属性
说明
ActionStatus
String
必填
请求处理的结果,OK 表示处理成功,FAIL 表示失败
ErrorInfo
String
必填
错误信息
ErrorCode
Integer
必填
错误码,此处填0表示忽略应答结果