Webhook
Webhookを使用すると、何かが発生した瞬間にVoiceCheapがサーバーに通知できるため、ポーリングを停止できますGET /v1/translate/{projectId}/status.
配信は1回だけ試行され、再試行はありません。見逃せないイベントについては、ステータスのポーリングも続けてください。
セットアップ
- VoiceCheapアカウントでAPIページを開きます。
- Webhookで署名シークレットを生成を選びます。
whsec_で始まるシークレットは一度だけ表示されるため、コピーしてサーバーに保存してください。 - エンドポイント URLに
httpsのURLを入力し、保存を選びます。
Webhook URL はポート 443 の HTTPS を使用し、公開ネットワークアドレスに名前解決される必要があります。認証情報やフラグメントを含む
URL、プライベートアドレスや予約済みアドレス、リダイレクトは拒否されます。これはアカウントのエンドポイントとプロジェクトごとの上書き URL
の両方に適用されます。
webhooks_get、webhooks_update、webhooks_delete を使用できます。webhooks_create_secret は REST アクション API のみで使用してください。返された署名シークレットは安全に保存してください。MCP では、このアクションの実行も結果のポーリングもできません。
リクエストごとにエンドポイントを上書きする
POST /v1/translateおよびPOST /v1/projectsは、オプションのwebhookUrlフィールドを受け入れます。これは、
そのプロジェクトのアカウントエンドポイントのみを上書きします。ステージングトラフィックを別の場所に送信する場合に便利です。
既存のプロジェクトの送信先は、POST /v1/projects/{projectId}/dubでwebhookUrlを指定して変更することもできます。
イベント
文字起こし専用のイベントはありません。プロジェクト作成の応答は文字起こしの完了前に返ります。
project.createdは文字起こしが保存された後にのみ送信され、その後でPOST /v1/projects/{projectId}/transcriptから取得できます。ペイロード
すべての配信は、JSONボディを含むPOSTです:
ペイロードは意図的に軽量化されています。コンテンツそのものについてはREST APIを呼び出してください。
署名の検証
すべての配信には以下のヘッダーが含まれます:
署名は
<timestamp>.<raw body> をカバーしているため、配信ごとに異なり、以下の両方を証明します。
リクエストが VoiceCheap から送信されたこと、および転送中に本文が改ざんされていないこと。
応答
2xxステータスで応答して確認してください。10秒以内に回答してください。処理を先に行うのではなく、まず確認の応答を返してから作業を行ってください。
処理を先に行うのではなく、まず確認の応答を返してから作業を行ってください。
2xx以外の応答またはタイムアウトは配信失敗として記録され、現時点では再試行されません。

