服务端 API v2
  • API 概览
  • 快速开始
  • 调用方式
  • 房间信令接口
  • 混流转码接口
  • 媒体服务接口
  • 媒体文件接口
  • 音视频流审核接口
  • 场景服务接口
  • 回调说明
  • 全局返回码
  • 使用 Postman 调试
  • 文档中心
  • 服务端 API v2
  • 回调说明
  • 流关闭回调

流关闭回调

更新时间:2024-04-15 16:34

1 描述

当开发者有维护直播列表的需求时,APP 在流媒体服务器有流关闭时,将会以 POST 的形式对回调地址进行请求。

2 回调说明

  • 请求方法:POST/JSON。

    回调数据需要 UrlDecode 解码。

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

3 回调参数

公共参数 类型 描述
event
String
回调事件,此回调返回值为 stream_close
appid
String
AppId。
timestamp
String
服务器当前时间,Unix 时间戳。
nonce
String
随机数。
signature
String
检验串,请参考 回调说明 - 检验说明
业务参数 类型 描述
room_id
String
房间 ID,对应客户端的 RoomID,同 channel_id 意义相同,不超过 127 字节。
room_session_id
String
房间生命周期唯一标识,在该房间的整个生命周期中保持不变。
user_id
String
用户 ID,不超过 255 字节。
user_name
String
用户昵称,不超过 255 字节。
channel_id
String
频道 ID,对应客户端的 RoomID,不超过 127 字节。
type
String
关闭类型。
  • 0:正常关闭(用户调用 SDK 的 stopPublishingStream 接口停止推流)。
  • 非 0 为异常关闭:
    • 1:用户心跳超时关闭。
    • 2:用户重复登录同一个房间,关闭上次登录会话的流。
    • 3:服务端接口 kickout 用户,关闭用户创建的流。
    • 4:tcp 掉线关闭流(可配置通知时间)。
    • 5:房间被清除关闭流。
    • 100:调用服务端接口 DeleteStream 关闭流。
stream_alias
String
流名,对应客户端的 StreamID,不超过 255 字节。
stream_id
String
流 ID,对应客户端的 StreamID,同 stream_alias 意义相同。
stream_sid
String
流 server ID, 流的唯一标识,由 ZEGO 后台生成,开发者可不关注。
stream_seq
String
服务器流列表变更的 seq,每次流变更都会加 1。
third_define_data
String
客户自定义数据。
create_time_ms
String
流创建时间,单位:毫秒。
destroy_timemillis
String
流关闭时间,单位:毫秒。

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

4 数据示例

{
    "event": "stream_close",
    "appid": "1",
    "timestamp": "1666786067",
    "nonce": "7266888922840654370",
    "signature": "xxx",
    "room_id": "room1",
    "room_session_id": "123456789",
    "user_id": "user1",
    "user_name": "user1_name",
    "channel_id": "0xb-0x1",
    "type": "0",
    "stream_alias": "aaa",
    "stream_id": "stream_id",
    "stream_sid": "s-115205136669740000000000104",
    "stream_seq": "700",
    "third_define_data": "{\"u\":\"S1lxOUxMN2tRZ3lIY0JMSUs3VlMxZz09\"}",
    "create_time_ms": "1666786067353",
    "destroy_timemillis": "1666986067248"
}

5 返回响应

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

6 回调重试策略

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

本篇目录