Skip to main content

概要

Webhookを使用すると、組織内で重要なイベントが発生した際にHTTP通知を受け取ることができます。APIをポーリングする代わりに、URLを登録すると、Jinba Toolboxがリアルタイムでイベントペイロードをプッシュします。 Webhookは組織ごとに設定され、1つ以上のイベントタイプをサブスクライブできます。

イベントタイプ

Webhookの設定

1

Webhookエンドポイントを作成する

サーバー上にPOSTリクエストを受信できるHTTPエンドポイントを設定します。エンドポイントは受信確認として 2xx ステータスコードを返す必要があります。
2

Webhookを登録する

APIまたはWebコンソールを使用して、エンドポイントURLを登録し、サブスクライブするイベントを選択します。
3

署名シークレットを保存する

Webhookを作成すると、署名シークレットが生成されます。安全に保存してください。受信ペイロードの検証に使用します。
4

テストイベントを送信する

テストイベントを送信して、エンドポイントが正しく動作することを確認します:

Webhook設定

各Webhookには以下のプロパティがあります:

ペイロード形式

すべてのWebhook配信は、以下の構造のJSONペイロードを送信します:

イベント固有のペイロード

tool.run.completed
tool.run.failed
toolset.published
member.added

署名の検証

すべてのWebhookリクエストには、Webhook署名シークレットを使用してリクエストボディから計算されたHMAC-SHA256署名を含む X-Webhook-Signature ヘッダーが付与されます。
ペイロードが改ざんされていないことを確認するために、サーバー側で署名を検証してください:

Webhook管理API

リトライ動作

エンドポイントが 2xx ステータスコードを返さない場合、Jinba Toolboxは配信をリトライします: 3回連続で失敗すると、Webhookは自動的に無効化されます。根本的な問題が解決されたら、WebコンソールまたはAPIから手動で再有効化できます。

ベストプラクティス

  • ペイロードを処理する前に必ず署名を検証する — 改ざんを防止するためです。
  • 200 ステータスを速やかに返す — Webhookの確認応答後に、重い処理は非同期で実行してください。
  • 冪等な処理を実装する — リトライにより、Webhook配信が複数回届く可能性があります。runId やイベントタイムスタンプを使用して重複排除してください。
  • Webhookの健全性を監視する — 無効化されたWebhookは速やかに再有効化し、配信失敗を調査してください。
  • 必要なイベントのみサブスクライブする — 統合に必要なイベントだけを選択して、ノイズを減らしてください。

関連ドキュメント