即时通讯
  • iOS : Objective-C
  • Android
  • macOS
  • Windows
  • Web
  • 小程序
  • Flutter
  • Unity3D
  • uni-app
  • React Native
  • 产品简介
  • 下载
  • 快速开始
    • 跑通示例源码
    • 实现基本消息收发
  • 用户相关
  • 房间相关
  • 群组相关
  • 消息相关
  • 呼叫邀请
  • 会话管理
  • 离线推送
  • 常见错误码
  • 服务端 API
  • 客户端 API
  • 常见问题

呼叫取消回调

更新时间:2023-03-23 15:12

描述

当出现以下情况时,业务后台可以接收 ZIM 服务端的呼叫取消回调,用于确定呼叫状态:

  • 呼叫发起用户成功取消呼叫
  • 呼叫发起用户在成功创建呼叫后主动登出或心跳超时后为登出态

当呼叫取消时,若呼叫对象登出了,呼叫取消回调的 user_ids 仍会返回该呼叫对象。

回调说明

  • 请求方法:支持POST/JSON 。
  • 请求地址:请在 ZEGO 控制台 上配置回调地址。
  • 传输协议:HTTPS/HTTP,建议使用 HTTPS。

回调参数

参数 类型 说明
appid String APP 的唯一标识。
event String 回调事件,此回调返回值为 call_cancel。
nonce String 随机数。
signature String 检验串,详情见 检验说明
timestamp Int 服务器当前时间,Unix 时间戳。
call_id String 呼叫 ID。
user_ids Array 呼叫对象用户 ID 列表。
reason String 取消的原因:
  • 主动取消(caller_cancel)
  • 超时取消(timeout_cancel)
payload String 呼叫取消填充的扩展字段。

建议您将部分参数转换为 Int 进行逻辑处理,相关字段包括 appidnonce

数据示例

  • POST/JSON
{
    "appid": "1",
    "event": "call_cancel",
    "nonce": "350176",
    "signature": "signature",
    "timestamp": 1499676978,
    "call_id": "3501761173612493269",
    "user_ids": ["abc","def"],
    "reason": "caller_cancel",
    "payload": "payload",
}

返回响应

返回 HTTP status code 为 2XX (例如 200)表示成功,其他响应都表示失败。

回调重试策略

如果 ZEGO 服务器没有收到响应,会在 2s 后进行重试,共进行 5 次重试,且下一次重试与上一次重试间隔时间分别为 4s、8s、16s、32s。若第 5 次重试后,仍然失败,将不再重试,该回调丢失。