Skip to main content

Webhooks

Webhooks 让 VoiceCheap 能够在发生情况时立即通知您的服务器,因此您可以停止轮询 GET /v1/translate/{projectId}/status.
交付尝试 一次。目前还没有重试机制,因此请保留轮询作为安全网,以应对 任何您不能错过的内容。计划支持指数退避重试。

设置

  1. 在您的 VoiceCheap 账户中打开 API 页面
  2. Webhooks 中,选择 生成签名密钥。该密钥以 whsec_ 开头,仅显示 一次 — 请复制并将其存储在您的服务器上。
  3. 输入您的 端点 URL 并保存。它必须使用 https
就是这样。从那时起,您启动的每个项目都会向该端点发送事件。

按请求覆盖端点

POST /v1/translatePOST /v1/projects 接受一个可选的 webhookUrl 字段,该字段仅覆盖 该项目的账户端点。这对于将暂存流量发送到其他地方非常方便:
签名密钥始终是账户密钥;只有目标会发生变化。

事件

没有单独的转录事件。转录在项目创建过程中运行,而项目 仅在转录内容存储后才存在——因此 project.created 已经意味着转录内容 已准备好通过 POST /v1/projects/{projectId}/transcript 获取。

有效载荷

每次交付都是一个带有 JSON 主体的 POST
有效载荷特意保持精简。请调用 REST API 获取内容本身。

验证签名

每次交付都带有以下标头: 签名涵盖了 <timestamp>.<raw body>,因此在每次交付时都不同,并证明了 请求来自 VoiceCheap 且主体在传输过程中未被修改。
在信任交付之前验证签名。您的端点是一个公共 URL,而签名是 区分真实的 VoiceCheap 事件与到达该端点的任何其他内容的依据。

响应

回复任何 2xx 状态以进行确认。请在 10 秒内 回复 — 先确认并 在之后执行工作,而不是在回复之前进行处理。 非 2xx 响应或超时将被记录为交付失败,目前不会重试。

轮换密钥

在 API 页面上选择 轮换 (Rotate) 以生成新密钥。之前的密钥会立即 停止工作,因此请在轮换后尽快将新密钥部署到您的服务器。 删除 webhook 会同时移除端点和密钥,交付将停止。