顔画像をセルフィーと照合する
const url = 'https://api.trust.supa.ai/v1/verification-sessions/example/face-match';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"imageBase64":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.trust.supa.ai/v1/verification-sessions/example/face-match \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "imageBase64": "example" }'送った顔画像を、そのセッションで利用者が本人確認のときに撮ったセルフィーと比べ、類似度(similarity)と同一人物かどうか(isSamePerson)を返す。同一人物の判定はテナントの顔照合しきい値(管理画面の設定)で決まる。利用者がセルフィーを終える前は 409。送った画像は保存しない。照合は記録される。画像は個人情報なので、送る側でもログに出さない
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
照合したい顔画像(JPEG か PNG)を base64(RFC 4648 の標準アルファベット・末尾の = あり)にした文字列。data URL(data:image/jpeg;base64,…)の形でもよい。上限 7,000,000 文字(元の画像で約 5MB)。個人情報 — ログに出さない
Examplegenerated
{ "imageBase64": "example"}Responses
Section titled “Responses”送った顔画像と、本人確認で撮ったセルフィーの照合結果。送った画像は保存しない。照合は記録される
object
同一人物と判定したか。similarity がテナントの顔照合しきい値(管理画面の設定)以上なら true
Success = 両方の顔を比べられた / no_face_in_selfie = 本人確認時のセルフィーに顔が見つからない / no_face_in_image = 送った画像に顔が見つからない。success 以外は similarity 0・isSamePerson false
Example
{ "similarity": 0.97, "status": "success"}送った画像が顔照合に使えない。reason を見て画像を直す
object
Invalid_image_format = JPEG / PNG として読めない(base64 の中身を確かめる) / image_too_large = 画像が大きすぎる(縮小して送る)
Example
{ "_tag": "FaceMatchImageInvalid", "reason": "invalid_image_format"}API キーが無い・正しくない・失効している(理由は区別しない)。Authorization: Bearer <API キー> を確かめる
object
Example
{ "_tag": "Unauthorized"}テナントの IP 許可リストに無いアドレスからの呼び出し。API キーは有効。許可リストの設定を確かめる
object
Example
{ "_tag": "IpNotAllowed"}セッションが無い。他テナントのセッション・形式が正しくない ID も同じく 404(個人情報を消去済みのセッションは 404 にならない)
object
Example
{ "_tag": "SessionNotFound"}今の状態では顔照合できない。reason で対処が分かれる(liveness_not_completed = 利用者の手続きを待つ / purged = 二度とできない)
object
Liveness_not_completed = 利用者がまだ顔の確認(セルフィー)を終えていない。終えてからやり直す / purged = 個人情報を消去済みで、セルフィーも消えている。照合はもうできない
Example
{ "_tag": "FaceMatchNotAllowed", "reason": "liveness_not_completed"}