ロケーション検証

Location Verifyインサイトを使用すると、指定したエリア内のエンドユーザーデバイスの位置を検証できます。携帯電話ネットワークの測位技術を使用してデバイスの位置を特定するため、GPS測位に比べて以下のような利点があります:

  • 安全で信頼できる: セルラーネットワーク測位は、携帯電話事業者のネットワークからの情報を直接使用するため、GPSスプーフィングやVPNによる迂回のリスクがありません。
  • 統合の簡素化: Identity Insights はアプリケーションに簡単に統合でき、ソフトウェア開発の複雑さと労力を軽減します。

位置確認が役立つ詐欺防止ユースケースの一部:

  • Eコマースのユーザー認証: Eコマースやコンテンツのプラットフォームは、ユーザーがサービスやコンテンツ、ライセンスを認可された地域外で消費するという課題に直面しています。Location Verifyインサイトにより、これらのプラットフォームは、エンドユーザーの所在地がサービス、コンテンツ、ライセンスの認可地域内にあるかどうかを検証することができます。
  • 販売時点での検証: ユーザーがお店でクレジットカードや銀行カードを使って買い物をするとき、金融機関がその取引が詐欺的なものであるかどうかを確認したいと思うことがあります。位置情報の確認は、銀行アプリケーションに入力された電話番号を使って、取引が開始された場所を照会し、ユーザーがその場所にいることを確認することができる。
  • ロケーションベースのコンテンツ: スポーツイベントやコンサート中にユーザーの位置情報をVerifyし、ゴールリプレイや別アングル、役立つ情報など、カスタムコンテンツでユーザーの体験を豊かにします。

前提条件

Identity Insights を使用するには、アカウントが正しく設定されていることを確認する必要があります。 はじめに のガイドを参照されたい:

  • アカウントの作成
  • Identity Insights API で使用する Vonage アプリケーションの作成、
  • 利用可能なさまざまな環境と、それらを使用するためのアカウントの設定方法、
  • また、Dashboard Getting Started UIを使用して、コードを書かずにAPIを使用する方法も紹介します。

このガイドでは、cURLを使用してプログラムでロケーション検証インサイトを使用する方法を説明します。

Identity Insights API は、複数の地域のエンドポイントから利用できる。本ガイドの例では EU エンドポイントを使用していますが、全リストは以下を参照してください。 技術詳細.

APIを呼び出す

Identity Insights API の認証は、コンパクトで自己完結型の JSON トークンである JWT を介して行われます。JWT を生成するには、当社の オンラインジェネレーターあるいは Vonage CLI.JWTを生成するには、アプリケーションIDと秘密鍵が必要です。JWTを取得したら、APIにリクエストを送信できます。

この例では、特定のユーザーデバイスの位置が指定された領域内にあるかどうかを チェックするための、位置検証インサイトに対するcURLリクエストを示す:

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": {
      "location_verification": {
         "location": {
            "type": "CIRCLE",
            "radius": 3000,
            "center": {
               "latitude": -90,
               "longitude": -180
                }
            }
          }
        }
    }'

APIは次に、特定の携帯電話ユーザーのために入力として提供されたエリアを、携帯電話ユーザーのオペレータ自身のシステムで利用可能なロケーションと比較し、それらが一致する場合には確認を返す:

{
  "request_id": "c2cc7a65-9b10-493f-9c0a-1c86751a91c4",
  "insights": {
    "location_verification": {
        "is_verified": "TRUE",
        "latest_location_at": "2024-07-08T09:30:27.504Z",
        "match_rate": 1,
        "status": {
          "code": "OK",
          "message": "Success"
        }
    }
  }
}

以下のフィールドが location_verification 配列である:

フィールド 説明
is_verified 検証リクエストの結果:

TRUEネットワークが要求されたエリア内でデバイスを見つけたとき。
FALSE要求されたエリアが、ネットワークがデバイスを特定するエリアと一致しない場合。
UNKNOWNネットワークがデバイスを見つけられない場合。
PARTIAL要求されたエリアが、ネットワークがデバイスを特定するエリアと部分的に一致する場合。A match_rate を返答に含めることができる。
latest_location_at 日付と時刻(UTC ISO 8601 最後の場所の
match_rate リクエストのエリア(R)と、ネットワークがデバイスの位置を特定するエリア(N)の一致率の推定。 (R ∩ N) / N * 100.Verifyされた場合のみ含まれる。 PARTIAL.
status 指定された電話番号について返された情報のステータスを示す。
code リクエストのステータスを示すコード。のいずれかでなければならない:

NO_COVERAGE:国またはモバイルネットワークは、利用可能なサプライヤーによってサポートされていません。
INVALID_PURPOSE:使用された目的は、このインサイトで有効または許可されていません。
UNAUTHORIZED:アプリケーション、サプライヤー、電話番号の組み合わせでは、リクエストを承認できませんでした。
INTERNAL_ERROR:リクエストの処理中に内部エラーが発生しました。
SUPPLIER_ERROR:サプライヤーがリクエスト処理中にエラーを返しました。
NOT_FOUND:このインサイトの電話番号が見つかりません。
INVALID_NUMBER_FORMAT:電話番号フォーマットは、キャリアからユーザーへの割り当てには無効です。
OK:インサイトは正常に処理されました。
message より詳細なステータスの説明。

さらに読む