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

›RESTful API

新手入门

  • 简介
  • 名词解释
  • 创建第一个应用

规则说明

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

场景方案

    教育行业

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

快速接入

  • 简介
  • 音视频

    • Windows (C++)
    • iOS (Objective-C)
    • Android (Java)
    • Web
    • Electron
    • Flutter
    • React Native
    • Unity

    白板

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

高级功能(RTC)

  • 简介
  • 屏幕共享
  • 分组讨论
  • 状态回调
  • 设备诊断
  • 音量指示
  • 控制声音
  • 声卡操作
  • 混音/伴音
  • 混响
  • 耳返
  • 变声
  • 美颜
  • 音视频数据回调
  • 音视频外部采集
  • 收发多路视频
  • 多窗口渲染
  • 性能检测
  • 截图
  • 反馈

高级功能(RTS)

  • 简介
  • 白板

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

    标注

    • 视频标注
    • 共享标注
    • 外部标注

    消息

    • 消息服务

    远程控制

    • 远程控制

操作实践

  • 切换大小屏

RESTful API

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

SDK API

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

    • 浏览器兼容性
    • RtcEngine
    • GroupManager
    • RtcWhiteboard
    • RtsService
    • RtcMessage
    • Annotation
    • Constants

更新记录

  • 简介
  • Windows
  • macOS
  • iOS
  • Android
  • Electron
  • Flutter
  • React Native
  • Unity
  • Web(全功能SDK)
  • Web(RTS SDK)
  • Web(IE专用音视频SDK)

帮助

  • FAQ
  • 更多帮助

服务端消息通知

简介

开发者应用服务器(AppServer)调用Pano服务端API,以及客户端app和Pano服务器交互时,都会产生若干事件。Pano服务器可以将相关的事件消息通知回调给开发者服务器,以便开发者按需处理。

需要先申请开通Webhook回调,才可以接收相应事件通知,请向技术支持了解详情。

基本格式

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回调地址是在Pano控制台的「应用管理」模块里面配置的,出于安全考虑,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 2022/4/28
← 消息服务SDK接口说明 →
  • 简介
  • 基本格式
  • 验证签名
  • 消息可靠性
  • 消息列表
浙ICP备20002645号 ©2019-2022 Pano拍乐云