Caputchin
ホスト型認証

Webhook ペイロードリファレンス

送信が検証をクリアすると、フォワーダーは設定済みの webhook URL へ 1 つの POST を送ります。このページは、そのリクエストの正確な契約です。設定の手順については ホスト型認証を設定する を、概念については バックエンドなしで検証する を参照してください。

リクエストラインとヘッダー

フォワーダーは JSON のボディと、これらのヘッダーを伴う POST を送ります:

ヘッダー
content-typeapplication/json
acceptapplication/json
user-agentCaputchin-Forwarder/0.1
x-caputchin-test1、ダッシュボードの 配信をテスト でのみ存在。本物の送信にはなし

呼び出しはリダイレクトを無効にし、数秒のタイムアウトで送られます。リクエストは署名されません。それを認証するのは webhook URL の秘匿性です。

ボディ

ボディは、2 つのトップレベルキー、caputchin(Caputchin が加える検証メタデータ)と form(あなたが送信したフィールド)を持つ JSON オブジェクトです:

{
  "caputchin": {
    "site_key": "cpt_pub_...",
    "session_id": "...",
    "game_id": "caputchin/games/leaf-memory",
    "score": 847,
    "duration_ms": 4200,
    "verified_at": 1748640000000
  },
  "form": {
    "email": "visitor@example.com",
    "message": "Hello!"
  }
}

caputchin オブジェクト

フィールド意味
site_keystring送信が来た公開 cpt_pub_... キー。
session_idstring不透明な検証セッション id。相関や重複排除に役立ちます。テスト配信では test_ が接頭につきます。
game_idstring または null訪問者が遊んだゲーム。検証がゲームなしで走ったときは null。
scorenumber または nullゲームのスコア。分析のためのクライアントが申告するメタデータで、決して信頼のシグナルではありません。該当しないときは null。
duration_msnumber または null訪問者がゲームを遊んだ時間、ミリ秒で。クライアントが申告するもので、信頼のシグナルではありません。該当しないときは null(たとえばゲームのない検証)。
verified_atnumberCaputchin がトークンを検証したとき、ミリ秒の Unix エポックで。
testboolean(任意)ダッシュボードのテスト配信でのみ存在し true。本物の送信にはなし。

game_idscoreduration_ms は本物の送信でそれぞれ null になり得るので、読む前に null を防いでください。caputchin のフィールドのどれも信頼の判断ではありません。信頼は、リクエストがそもそも届いたことです。検証に失敗する送信は決して転送されないからです。

form オブジェクト

form は、あなたが送信したフィールドの、文字列キーと文字列値の、ちょうどポストされたとおりのフラットなオブジェクトです。ただ 1 つの変更があります。caputchin-token フィールドは配信の前に取り除かれるので、ここには決して現れません。フォワーダーはテキストフィールドだけを受け付けます。ファイルアップロードを運ぶ送信は、いかなる配信の前にも拒否されます。

あなたのハンドラーが返すべきもの

受領を確認するには、どの 2xx ステータスでも返してください。フォワーダーは、非 2xx の応答、タイムアウト、または接続失敗を、失敗した配信として扱い、失敗した配信は再試行されません。配信の健全性は 統計 ページで追ってください。

あわせて読む

このページの内容