FACEIO Webhook APIリファレンス
ユーザーの登録、FACEIO による認証、または Facial ID の削除が行われたときに HTTPS POST 通知を受け取ります。Webhooks を使用して、フロントエンドの状態だけに依存せず、顔認証イベントとバックエンドを同期します。
FACEIO Consoleでアプリケーションを作成または選択し、HTTPSエンドポイントを登録して、アプリケーションに割り当てられたWebhook tokenを取得します。
FACEIO Webhookの概要
FACEIOの登録、認証、Facial ID削除に対応するサーバー側イベント配信
FACEIO Webhooksは、新しい顔の登録、顔の認証成功、またはFacial IDの削除後にバックエンドへ通知します。これらのサーバー側イベントを使用して、アカウント情報とFACEIOの処理結果を整合させます。
イベントが発生すると、FACEIO はHTTPS POST リクエストを、アプリケーションに設定した Webhook endpoint URL へ送信します。JSON payload には、一意の Facial ID、アプリケーションの Public ID、イベント名、クライアント IP アドレス、タイムスタンプ、利用可能な場合の関連 payload、推定年齢や性別などの登録情報が含まれます。
Webhookイベントは、バックエンドの記録更新、監査ログの作成、独自のサーバー側処理の開始に使用できます。payloadを処理する前に受信Webhookを必ず検証し、FACEIOのセキュリティのベストプラクティスに従ってください。
リアルタイム更新
ユーザーの登録、認証、またはFacial ID削除の完了時にイベント通知を受け取ります。
バックエンド同期
ブラウザーのコールバックだけに依存せず、信頼できるサーバー側イベントからアカウント情報を更新します。
FACEIO Webhookを設定
バックエンドへのイベント配信が必要なFACEIOアプリケーションごとにwebhookエンドポイントを設定します。エンドポイントはHTTPS経由のJSONを受け取り、 WWW-Authenticate トークンを検証して、すぐに成功レスポンスを返してください。
FACEIO Consoleを開く
FACEIO Console ↗にログインします。
Application Managerを開く
FACEIO Console のメイン画面からApplication Manager ↗を開きます。
対象アプリケーションを選択
登録、認証、Facial ID削除の通知を送信するFACEIOアプリケーションを選択します。
Webhooksタブを開く
アプリケーションマネージャー画面の WEBHOOKS タブに移動します。
エンドポイントURLを追加
FACEIOの イベントを受け取るwebhookエンドポイントURLを入力し、アプリケーション設定を保存します。
イベントの受信を開始
イベントが発生すると、FACEIO は Webhook URL へ HTTPS POST リクエストを送信します。リクエストには、以下のJSON payload が含まれます。
HTTPリクエストの詳細
Webhookエンドポイントは、イベントが発生するたびにFACEIOから送信されるHTTPSリクエストを処理する必要があります。リクエスト形式は次のとおりです。
セキュリティのベストプラクティス
受信したwebhookリクエストは、WWW-Authenticateヘッダーのトークンとアプリケーションのトークンキーを比較して必ず検証してください。不一致を拒否し、イベントを冪等に処理して、セキュリティのベストプラクティスを確認してから、本番の認可フローでwebhookイベントを使用してください。
POSTリクエスト本文
受信したFACEIO webhookリクエストの本文は JSONオブジェクトです。以下のフィールドでイベントを特定し、FACEIOアプリケーションと照合して、アカウント情報を整合させます。
HTTPヘッダー WWW-Authenticateのトークン値をFACEIO Console ↗から取得し、リクエストの真正性を検証します。
任意フィールド(登録時のみ)
JSON本文の次のフィールドは、 新規ユーザー登録 イベントに含まれます:
イベント
Webhookエンドポイントへ送信される各HTTPS POSTリクエストは、次のFACEIOイベントのいずれかによって発生します。JSON POST payloadのeventNameフィールドに対応するキーが入ります。
実装のヒント
- タイムアウトを避けるため、webhookエンドポイントが6秒以内に応答することを確認してください。
- 必ず
WWW-Authenticateヘッダートークンを検証してください。 - アプリケーションをブロックしないよう、webhookイベントを非同期かつ冪等に処理してください。
- デバッグ、照合、監査に必要なメタデータだけをログに記録してください。
- webhookの受信を確認するため、200 OKステータスコードを返してください。
- イベント後にバックエンドでFacial IDの状態を確認または照合する必要がある場合は、REST APIを使用します。
バックエンド向けにWebhookを設定
FACEIO ConsoleでHTTPS Webhook URLを登録し、サーバーでWebhook tokenを検証して、登録、認証、Facial ID削除イベントをバックエンドで処理します。