Skip to main content

Webhookエンドポイントとは?

Webhookエンドポイント(endpoint)は、ノート・要約・ドキュメントが変わった瞬間に Tiro が HTTP POST リクエストを送信する、お客様のアプリケーションの URL です。Tiro Platformにエンドポイントを一度登録しておくと、Tiro がすべてのイベントをリアルタイムでその宛先へ送信します。API をポーリングする必要はありません。

Webhook とは

Webhook を利用しますと、ワークスペースでイベントが発生した際に、アプリケーションがリアルタイムで通知を受け取れます。API をポーリングする代わりに、何かが起こるたびに Tiro がお客様の endpoint へ HTTP POST リクエストを送信します。

Webhook の仕組み

  1. 設定する: アプリケーションに webhook の endpoint を用意します
  2. 登録する: 受け取りたいイベントを処理するために、endpoint を追加します
  3. 受信する: イベントが発生すると即座に通知が届きます
  4. 処理する: アプリケーションでイベントのデータを処理します

イベントとリソースの構造

Webhook は イベント(Events)リソース(Resources) を中心に構成されています。

イベント

イベントは、ワークスペースで発生したアクションを表します。詳しくは Note EventsNote Document EventsNote Summary EventsFolderNote Events をご覧ください。 Webhook イベントは metadata のみを含めることで、サイズが数百 KB 未満に収まるよう設計されています。transcript や script などの大きなコンテンツは、webhook の信頼性とパフォーマンスを確保するため、別の API を通じてアクセスします。

リソース

リソースは、イベントの対象となる主要なエンティティを表します。現在サポートしているのは以下のとおりです。
  • Note: 個々のノートのリソース
  • NoteDocument: ノートから生成されるテンプレートベースのドキュメント
  • NoteSummary: ノートに対して AI が生成する要約
  • FolderNoteRelation: フォルダとノートの関係

Webhook の payload 構造

すべての webhook イベントは、標準の Event Structure 構造に従います。

セキュリティ

Webhook リクエストは、Authorization ヘッダーに設定された secret key で認証されます。
secret key は webhook の endpoint を設定する際に発行され、受信するリクエストの真正性を検証するために使用します。設定済みの secret と受信した secret を比較するだけで、真正性を確認できます。

検証の例

配信とリトライ

  • Method: HTTP POST
  • Content-Type: application/json
  • Timeout: 60 秒
  • Retries: 最大 5 回のリトライ(合計 6 回の試行)。exponential backoff で実施します
  • Success: 2xx の HTTP ステータスコードであれば成功とみなします

リトライのスケジュール

  1. 15 秒後
  2. 30 秒後
  3. 5 分後
  4. 30 分後
  5. 2 時間後

はじめに

  1. endpoint を用意する: POST リクエストを受信できる HTTP の endpoint を作成します
  2. webhook を設定する: Tiro Platform で webhook の endpoint を登録します
  3. イベントを処理する: アプリケーションで受信した webhook の payload を処理します
webhook の endpoint は Tiro Platform で設定できます。
Webhook の endpoint はワークスペース単位で登録・管理されます。Platform で endpoint を追加すると、現在のワークスペースのイベントがその endpoint に配信されます。複数のワークスペースを運用する場合は、ワークスペースごとに endpoint を登録し、payload 最上位の workspaceGuid でイベントの送信元ワークスペースを判別してください。
ノートイベント(note.*note_summary.*note_document.*)は、ワークスペースの全メンバーに共有されたフォルダのノートのみを配信します。個人フォルダのノートや、どのフォルダにも入れていないノートには、イベントが配信されません。フォルダイベント(folder.note.*)と音声ファイルジョブのイベントは、この範囲の対象外です。この範囲が適用される前に登録された Webhook エンドポイントは、当面これまでの動作を維持し、順次移行される予定です。詳しい範囲はシステムキーが読み取るノートの範囲をご覧ください。
endpoint を登録したら、受信する Event Structure を把握しましょう。そのうえで、本番運用を始める前に Best Practices を読み、リトライ・冪等性・署名検証への対応をご確認ください。