事件类型

更新时间不可用

查看微呼叫的事件类型,了解关键概念、参数说明、使用限制和接入注意事项。

开通声网消息通知后,声网通知服务器以 HTTPS POST 请求方法向你的服务器发送频道事件通知回调。

数据格式为 JSON,字符编码为 UTF-8,签名算法为 HMAC/SHA1 或 HMAC/SHA256。

本页介绍频道事件回调中返回的各事件类型及含义。

请求 Header

字段名值
Content-Typeapplication/json
Agora-Signature声网用密钥(secret)和 HMAC/SHA1 算法生成的签名值。你需要使用密钥(secret)和 HMAC/SHA1 算法来验证该签名值。详见验证签名。
Agora-Signature-V2声网用密钥(secret)和 HMAC/SHA256 算法生成的签名值。你需要使用密钥(secret)和 HMAC/SHA256 算法来验证该签名值。 详见验证签名。
表格内容超出当前宽度,可横向滚动查看更多列。

请求 Body

请求 Body 的示例如下:

JSON
{
  "appId": "xxxxxskdsakm",
  "sid": "C86646scxsc87",
  "noticeId": "xxx",
  "eventType": 1,
  "eventName": "CALLING",
  "payload": {
    // ...
  }
}
字段类型描述
appIdString你的声网项目的 App ID。
sidString触发该事件的请求 ID,和响应中返回的 taskId 一致。你可以使用该字段定位出现异常的请求。
noticeIdString通知 ID,标识来自声网业务服务器的一次事件通知。
eventTypeNumber事件类型。
eventNameString事件名称。
payloadJson Object通知事件的具体内容。详见事件类型。
表格内容超出当前宽度,可横向滚动查看更多列。

事件类型

01 CALLING

eventType 为 01 表示通话正在拨打中,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 1,
  "detail": "device call wechat",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}

02 CANCEL_CALLING

eventType 为 02 表示通话拨打的时候被取消或拒绝,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
wechatObject

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraObject

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "detail": "calling is cancelled or rejected",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}

03 TALKING

eventType 为 03 表示正在通话中,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
wechatObject

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraObject

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 1,
  "detail": "talking",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}

04 HANGUP

eventType 为 04 表示通话被挂断,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
hangupDirectNumber

挂断方向:

  • 1:设备挂断
  • 2:小程序挂断
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "detail": "hangup by xxx",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}",
  "hangupDirect": 1
}

05 TALKING_WX_ERROR

eventType 为 05 表示通话中微信端发生错误,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "detail": "wx error during talking",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}

06 BUSY

eventType 为 06 表示被叫处于忙碌状态无法接通,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "detail": "xxx is busy",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}

07 TIMEOUT

eventType 为 07 表示呼叫超时,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "detail": "timeout of calling",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}

08 TRANSCODE_INFO

eventType 为 08 表示通话中收到视频转码信息,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
transcodeInfoString

视频转码信息,包含如下字段:

  • source:表示源视频。
  • target:表示转码后的视频。
  • sourceHeight:源视频高度。
  • sourceWidth:源视频宽度。
  • targetHeight:转码后的视频高度。
  • targetWidth:转码后的视频宽度。
  • targetFrameRate:转码后的视频帧率。
  • targetBitra:转码后的视频码率。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}",
  "transcodeInfo": "{\"source\":\"xxx\",\"target\":\"xxx\",\"sourceHeight\":\"240\",\"sourceWidth\":\"220\",\"targetHeight\":\"480\",\"targetWidth\":\"400\",\"taregtFrameRate\":\"7\",\"targetBItra\":\"172\"}"
}

97 WX_CONFIG_ERROR

eventType 为 97 表示呼叫初始化时微信配置错误,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
errorCodeuint64错误码。
errorDetailString具体的错误信息。
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "detail": "wx config error and cannot init call",
  "errorCode": xxx,
  "errorDetail": "xxx",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}

98 API_ERROR

eventType 为 98 表示 API 调用发生错误,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
errorCodeuint64

错误码:

  • 1000:请求参数异常、账号未绑定、请求微信失败等。
  • 1001:License 校验成功。
  • 1002:License 校验失败。
errorDetailString具体的错误信息。
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "detail": "api error",
  "errorCode": xxx,
  "errorDetail": "xxx",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}

99 AGORA_CONFIG_ERROR

eventType 为 99 表示声网相关配置错误,payload 中包含以下字段:

字段类型含义
directNumber

呼叫方向:

  • 1:设备拨打小程序
  • 2:小程序拨打设备
detailString该事件类型代表的具体含义。
errorCodeuint64错误码。
errorDetailString具体的错误信息。
wechatString

微信小程序相关配置项,包含如下字段:

  • deviceId:设备 ID。
  • openId:小程序用户的唯一 ID。
  • appId:微信小程序的 App ID。
agoraString

声网相关配置项,包含如下字段:

  • channelName:设备端加入的 RTC 频道名。
  • robotUID:微呼叫服务加入 RTC 频道时使用的 UID。
  • deviceUID:设备端加入 RTC 频道时使用的 UID。
  • appId:声网项目的 App ID。
表格内容超出当前宽度,可横向滚动查看更多列。

payload 示例:

JSON
{
  "direct": 2,
  "detail": "agora config error",
  "errorCode": xxx,
  "errorDetail": "xxx",
  "wechat": "{\"appId\":\"xxx\",\"deviceId\":\"xxx\",\"openId\":\"xxx\"}",
  "agora": "{\"channelName\":\"xxx\",\"appId\":\"xxx\",\"robotUID\":\"xxx\",\"deviceUID\":\"xxx\"}"
}