Pano开发者中心
  • 文档中心
  • 下载中心

›RESTful API

新手入门

  • 简介
  • 名词解释
  • 账号注册指南
  • 创建第一个应用

规则说明

  • Channel ID命名规则
  • 权限控制
  • 计费说明
  • 最长通话时长说明
  • 每月一万分钟免费说明
  • 布局参数说明

场景方案

    教育行业

    • 1vN互动小班课
    • 互动直播大班课

快速接入

  • 简介
  • 音视频

    • Windows (C++)
    • Android (Java)
    • iOS (Objective-C)
    • Web
    • Electron

    白板

    • Android (Java)
    • iOS (Objective-C)
    • Web

高级功能

  • 简介
  • 音视频

    • 屏幕共享
    • 状态回调
    • 音量指示
    • 混音/伴音
    • 混响
    • 耳返
    • 美颜
    • 音视频数据回调
    • 音视频外部采集
    • 收发多路视频
    • 设备诊断
    • 反馈

    白板

    • Android (Java)
    • iOS (Objective-C)
    • Web

操作实践

  • 切换大小屏

RESTful API

  • 基本格式
  • 获取Token
  • 频道管理
  • 云端录制
  • CDN推流
  • 文档转码
  • 服务端消息通知API

SDK API

  • SDK接口说明
  • Windows (C++)
  • Android (Java)
  • iOS/macOS (Objective-C)
  • Web SDK(IE)
  • Web SDK

    • PanoRtc 参考
    • RtcEngine
    • RtcWhiteboard
    • Constants

更新记录

  • 简介
  • SDK

    • Windows
    • macOS
    • iOS
    • Android
    • Electron
    • Flutter
    • React Native
    • Web
    • Web SDK(IE)
    • Web Whiteboard

    Demo-PanoVideoCall

    • Windows、Mac和Web
    • iOS
    • Android

    Demo-PanoAudioChat

    • iOS
    • Android

帮助

  • FAQ
  • 更多帮助

服务端消息通知API

客户可以在控制台里的应用管理模块配置webhook回调地址URL,这样可以接收Pano的回调。如有需要,请联系销售为你开通要关注的事件。

基本格式

Webhook回调本质上就是客户按照本文档的格式定义实现了一个RESTful API,Pano会按照本文档定义的格式发起相应的RESTful调用。webhook的请求格式与Pano提供的RESTful API请求格式类似,下面是一个请求示例:

POST /path/to/resource
Host: api.example.com
Content-Type: application/json
Authorization: PanoSign <PanoSign>
Tracking-Id: ef9b2acc8e1f4d598090eb6d9cbe8596

{
  "eventId": "dg9b2acc8e1f4d598090eb6d9cbe3689",
  "eventType": 1,
  "notifyTime": 1586938251235,
  "eventData": {
    //JSON
  }
}

webhook回调地址URL由你在控制台里的应用管理模块配置,为了安全起见,Pano建议将回调地址配置为HTTPS。

相关字段说明:

  • HTTP method - 固定为POST
  • Content-Type - 固定为application/json,表示请求和响应都为JSON数据格式
  • Authorization - 为保证安全,Pano在所有的请求里都会带上Authorization请求头,类型为PanoSign,后面带上具体的PanoSign值,方便接收端验证请求的合法性。
  • Tracking ID - Pano会带上Tracking-Id头方便后续问题排查,值为UUID
  • HTTP Body - 请求消息体,JSON对象:
    • eventId - 事件的唯一标识
    • eventType - 事件的类型
    • notifyTime - webhook消息发生的实际时间,UNIX时间戳,单位为毫秒
    • eventData - 事件的具体内容,格式为JSON对象,不同的事件类型会有不同的内容

验证签名

PanoSign由三部分组成,用.拼接在一起,格式为<appId>.<timestamp>.<signature>,各字段含义如下:

  • <appId> - 你的App ID,请登录 控制台 后在应用管理模块查看你的App ID
  • <timestamp> - 当前UTC时间戳(精确到秒)
  • <signature> - 签名,由Http响应内容的原始字符串、当前UTC时间戳、App Secret计算获得,详细算法如下:

signature = base64(HmacSHA256(响应内容的原始字符串+timestamp,appSecret))

  • 首先,将响应的原始字符串拼接作为签名内容,appSecret作为签名key
  • 然后,通过HmacSHA256哈希算法以App Secret作为秘钥计算得到一个hash值
  • 最后,将hash值经过base64编码
  • 关于PanoSign的格式和校验详情请参考权限控制

消息可靠性

Pano在回调时会尝试3次,然后按照间隔1分钟、2分钟、4分钟、8分钟、16分钟继续尝试5次。Pano在接收到HTTP返回状态码为200的时候认为通知成功。

消息列表

详细消息格式请联系技术支持。

Last updated on 12/18/2020
← 文档转码SDK接口说明 →
  • 基本格式
  • 验证签名
  • 消息可靠性
  • 消息列表
浙ICP备20002645号 Copyright ©2020 拍乐云. All Rights Reserved