年齢確認 [開発者向けプレビュー]
「年齢確認」インサイトは、Applicationsがユーザーの年齢を最小限の手間で確認できるようにすることで、規制順守と未成年者の保護という2つの課題を解決します。これは、従来の年齢確認方法では容易に回避されたり、プライバシーを侵害するような書類のスキャンが必要になったりするという欠点を解消するものです。 このAPIは、通信事業者や信頼できる第三者データソースが安全に管理する検証済みのユーザーデータを活用し、ユーザーが所定の年齢基準を満たしているかどうかを確認することで、これを実現しています。
年齢確認が有益となる最も一般的な利用事例としては、以下のようなものがあります:
- 年齢制限のあるアクセス(本人確認が不要、または簡易なサイトの場合): 年齢確認機能により、通常は最小限の登録情報しか求めないプラットフォーム(例:ソーシャルネットワーク)でも、アクセスプロセスに安全な年齢確認機能を組み込むことが可能になります。この措置により、未成年者が不適切なコンテンツやセンシティブなコンテンツにアクセスすることを防ぎ、プラットフォームの安全性を高めることができます。
- オンボーディングプロセスにおける年齢確認: この機能により、企業はユーザー登録時に信頼性の高い年齢確認を実施できるようになり、銀行業務や賭博などのサービスに関する法的要件を遵守できるほか、特定の利用者層がオンライン上で年齢制限のある商品を購入することを防ぐことも可能になります。
- 年齢に基づくコンテンツの制限: 年齢確認機能により、企業はApplicationsやプラットフォーム上で、ユーザーの年齢に応じて表示されるコンテンツの種類を調整・制限することができます。この機能を活用することで、脆弱なユーザーを、その年齢層に適さないメディアから保護できるほか、必要な規制への準拠も図ることができます。
- 年齢に基づく広告の制限: 年齢確認機能を活用することで、企業は未成年と判定されたユーザーへの年齢制限付き広告の配信を防止し、正確かつ規制に準拠したデジタル広告を実現できます。これにより、規制の遵守が確保されるとともに、法的に広告を閲覧できる対象者のみにターゲティングを行うことで、広告費を最適化することができます。
前提条件
Identity Insights を使用するには、アカウントが正しく設定されていることを確認する必要があります。 はじめに のガイドを参照されたい:
- アカウントの作成
- Identity Insights API で使用する Vonage アプリケーションの作成、
- 利用可能なさまざまな環境と、それらを使用するためのアカウントの設定方法、
- また、Dashboard Getting Started UIを使用して、コードを書かずにAPIを使用する方法も紹介します。
このガイドでは、cURL を使用して「Age Verification Insight」をプログラムから利用する方法について説明します。
Identity Insights API は、複数の地域のエンドポイントから利用できる。本ガイドの例では EU エンドポイントを使用していますが、全リストは以下を参照してください。 技術詳細.
APIを呼び出す
Identity Insights API の認証は、コンパクトで自己完結型の JSON トークンである JWT を介して行われます。JWT を生成するには、当社の オンラインジェネレーターあるいは Vonage CLI.JWTを生成するには、アプリケーションIDと秘密鍵が必要です。JWTを取得したら、APIにリクエストを送信できます。
この例では、指定された電話番号に関連付けられた加入者が18歳以上であるかどうかを確認するための「年齢確認インサイト」に対するcURLリクエストを示しています。これは、 age_threshold パラメータ。この値は0から120年の間で任意に設定できます:
curl -X POST https://api-eu.vonage.com/identity-insights/v1/requests \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "14040000000",
"purpose": "FraudPreventionAndDetection",
"insights": {
"age_verification": {
"age_threshold": 18,
"id_document": "66666666q",
"name": "Federica Sanchez Arjona",
"given_name": "Federica",
"family_name": "Sanchez Arjona",
"middle_names": "Sanchez",
"family_name_at_birth": "YYYY",
"birthdate": "1978-08-22",
"email": "federicaSanchez.Arjona@example.com",
"include_content_lock": true,
"include_parental_control": true
}
}
}
}'
米国の Numbers: given_name そして family_name 以下の場合は、 phone_number Zumigoに登録されています。
その後、APIは、特定の携帯電話ユーザーに関連付けられた情報を、そのユーザーの通信事業者が保有する(かつ検証済みの)記録と照合し、指定された閾値に基づいた年齢の確認結果、提供された本人確認属性に対する総合的な本人確認スコア、および該当する場合は、設定されたコンテンツやペアレンタルコントロールの制限に関する情報を返します:
{
"request_id": "f41087de-b9fc-4081-ab85-9d6475a19706",
"insights": {
"age_verification": {
"is_age_threshold_met": "TRUE",
"is_verified": true,
"identity_match_score": 90,
"content_lock": "TRUE",
"parental_control": "TRUE",
"status": {
"code": "OK",
"message": "Success"
}
}
}
}
以下のフィールドが age_verification オブジェクトがある:
ここでは status オブジェクトは、指定された電話番号について返された情報のステータスを示します:
| フィールド | 説明 |
|---|---|
status.code |
リクエストのステータスを示すコード。のいずれかでなければならない: NO_COVERAGE:国またはモバイルネットワークは、利用可能なサプライヤーによってサポートされていません。 INVALID_PURPOSE:使用された目的は、このインサイトで有効または許可されていません。 UNAUTHORIZED:アプリケーション、サプライヤー、電話番号の組み合わせでは、リクエストを承認できませんでした。 INTERNAL_ERROR:リクエストの処理中に内部エラーが発生しました。 SUPPLIER_ERROR:サプライヤーがリクエスト処理中にエラーを返しました。 NOT_FOUND:このインサイトの電話番号が見つかりません。 UNSUPPORTED_NETWORK_TYPE:このインサイトでは、ネットワークタイプはサポートされていません。 INVALID_NUMBER_FORMAT:電話番号フォーマットは、キャリアからユーザーへの割り当てには無効です。 OK:インサイトは正常に処理されました。 |
status.message |
より詳細なステータスの説明。 |
もし status.code 応答は OKまた、下表のフィールドが表示されることもある。必須」の欄で「はい」とマークされているフィールドは、ステータスが「OK」の場合、常に返される。フィールドが「No」とマークされている場合、そのフィールドは返される場合と返されない場合がある。
| 名称 | 説明 | 必須 |
|---|---|---|
is_age_threshold_met |
列挙型: "TRUE" "FALSE", "DATA_UNAVAILABLE" 指定する TRUE ユーザーの年齢が年齢基準値以上である場合(年齢 ≧ 年齢基準値)、かつ FALSE そうでない場合(年齢 < 年齢閾値)。APIプロバイダーが検証を行うのに十分な情報を持っていない場合、 DATA_UNAVAILABLE が返される。 |
はい |
is_verified |
指定する "TRUE" 提供された情報が、年齢確認書類として法的に認められている身分証明書(注)に基づく情報と照合された場合は、その旨を明記し、そうでない場合はその旨を明記すること "FALSE". |
いいえ |
identity_match_score |
APIプロバイダーで利用可能なID情報の総合スコアです。APIプロバイダーがID一致スコアを返すかどうかは任意です。 最小値: 0, マックス: 100 |
いいえ |
content_lock |
指定する "TRUE"その電話番号に関連付けられた契約に何らかのコンテンツ制限(例えば、特定のウェブコンテンツがブロックされているなど)が設定されており、かつ "FALSE" そうでない場合は。APIプロバイダーが、その情報を取得するための情報を保有していない場合は、 content_lock 値、 DATA_UNAVAILABLE が返される。 |
いいえ |
parental_control |
指定する "TRUE" その電話番号に関連付けられたサブスクリプションで、何らかのペアレンタルコントロールが有効になっている場合、および "FALSE" そうでない場合は。APIプロバイダーが、 parental_control 値、 DATA_UNAVAILABLE が返される。 |
いいえ |
さらに読む
- Identity Insights API の詳細については、以下を参照してください。 APIリファレンス.
- ご不明な点がございましたら、下記までお問い合わせください。 VonageコミュニティSlack.