コールバック

署名されたサーバー間通知と完了した非同期結果を受信します。

コールバック

でコールバック URL を構成します プロファイル → コールバックと非同期結果。 Model Gate は HTTPS を送信します POST 有効なアカウント通知と完了した非同期推論リクエストのリクエスト。

コールバック URL

パブリックにアクセス可能な HTTPS エンドポイントを使用します。エンドポイントは、生のリクエスト本文を読み取り、署名を検証し、イベントを冪等に処理して、HTTP を返す必要があります。 200 イベントが承認され次第。

イベント

コールバックには次のものが含まれる場合があります。

  • 完了した非同期推論結果。
  • 有効になっている場合、アカウント残高不足の通知。
  • API キーの使用制限通知が有効になっている場合。
  • 有効になっている場合、キーグループの支出制限通知。

非同期結果配信は、コールバック URL が設定されるたびに有効になります。プロファイルの通知チェックボックスは、対応する残高および制限アラートのみを制御します。

リクエストフォーマット

POST /model-gate/callback HTTP/1.1
Content-Type: application/json
X-Model-Gate-Signature: t=1710000000,v1=hex_hmac_sha256

非同期結果ペイロードの例:

{
  "event":"async.completed",
  "request_id":"01J...",
  "status":"completed",
  "response":{"id":"msg_...","type":"message"}
}

ペイロード フィールドは時間の経過とともに拡張できます。不明なフィールドは無視してください。

署名の検証

署名ヘッダーの形式は次のとおりです。

X-Model-Gate-Signature: t=<unix>,v1=<hmac_sha256>

正確な文字列に対して HMAC-SHA256 を計算します。 <timestamp>.<raw_body> プロファイルに示されているコールバック シークレットを使用します。 16 進数の署名を定数時間の比較と比較し、受け入れられた再生ウィンドウ外のタイムスタンプを拒否します。

配信と再試行

HTTPを返す 200 イベントを無事に受け入れた後。 2xx 以外の応答と接続の失敗は再試行される可能性があります。したがって、エンドポイントは冪等である必要があります。使用 request_id と共に event 重複排除キーとして。

応答する前に長時間実行される作業を実行しないでください。イベントを内部でキューに入れて返す 200、非同期的に処理します。

関連ドキュメント