概述

当事件(Event)发生时,开放平台会通过 https post 的方式将事件推送到开发者配置好的回调地址。通过 Webhooks 机制可以方便开发者第一时间获取到关注的事件变化,减少轮询调用带来的流量和 Quota 的消耗。

用户授权

webhook 是用户事件触发反向通知的机制,所以首先确保用户已经授权了该事件对应的 scope

回调地址校验

管理中心 Webhooks 页填写你要配置的请求网址。完成请求网址编辑后,点击保存按钮时,开放平台会向你配置的网址推送一个 application/json 格式的 POST 请求, 该请求用于验证你配置的网址的合法性。 通过开放平台验证的请求网址才能配置成功,请求网址配置成功后,你才可以进一步订阅你的应用关心的事件。

开放平台发送的验证请求示例:

{
  "event": "verify_webhook",
  "client_key": "",
  "content": {
    "challenge": 12345
  }
}

当你收到开放平台 POST 验证请求时,你需要解析出 challenge 值,并立即返回该 challenge 值作为响应。

需要注意:返回内容需要放入 ResponseBody 里,不能直接返回;并且返回内容为 text 格式的 json 数据。

{
  "challenge": 12345
}

事件订阅

开发者可通过管理中心事件管理 openapi订阅需要通知的事件,注意:需要在管理中心打开该事件的订阅才可收到通知。

如果开发者服务器长时间未响应事件推送请求,可能会取消开发者的订阅状态,开发者需重新订阅

重试机制

抖音服务器会 POST 消息到开发者的 Callback 域名,连接超过 5s 会自动断开,共重试 3 次

用户可通过请求头中的 Msg-Id 进行去重

消息来源验证

用户可通过请求 header 中的 X-Douyin-Signature 字段判断该消息是否来自抖音开放平台。 抖音服务端会将应用的(client secret + 消息体)使用 sha1 哈希作为 X-Douyin-Signature header 的 value。您可以自行使用 client secret 和收到的消息体进行 sha1 哈希,与该请求头进行比对。

诚邀您对本文档易读易用性进行评价
好用
不好用