POST /token/validate
Advertising Token が指定されたハッシュ化された、またはハッシュ化されていないメールアドレスまたは電話番号と一致するかどうかを検証します。
Used by: このエンドポイントは、主にパブリッシャーが使用します。
このエンドポイントは、主に新しいインテグレーションのテストとトラブルシューティングのために用意されています。
Request Format
POST '{environment}/v2/token/validate'
認証の詳細は、 Authentication and Authorization を参照してください。
すべてのリクエストを秘密鍵で暗号化する必要があります。詳細といくつかのプログラミング言語でのコードの例は、リクエストの暗号化とレスポンスの復号化 を参照してください。
Path Parameters
Path Parameter | Data Type | Attribute | Description |
---|---|---|---|
{environment} | string | 必須 | テスト (インテグレーション) 環境: https://operator-integ.uidapi.com 本番環境: https://prod.uidapi.com リージョンごとのオペレーターを含む全リストは Environments を参照してください。 |
インテグレーション環境と本番環境では、異なる API Key が必要です。各環境の認証情報を取得する方法については、Getting Your Credentials を参照してください。
Unencrypted JSON Body Parameters
- 次の4つの有効なオプションのいずれかを、Body Parameter テーブルに記載されているように、1つだけ含めます:
email
、email_hash
、phone
、またはphone_hash
。 - 暗号化する際に、必要なボディパラメータをリクエストの JSON ボディ内のキーと値のペアとして含めます。
Body Parameter | Data Type | Attribute | Description |
---|---|---|---|
token | string | Required | POST /token/generate レスポンスが返す Advertising Token です。 |
email | string | Conditionally Required | トークン検証用のメールアドレスです。 有効な値は validate@email.com だけです。 |
email_hash | string | Conditionally Required | トークン検証用の 正規化された メールアドレス(validate@email.com ) の Base64-encoded SHA-256 ハッシュです。有効な値は ntI244ZRTXwAwpki6/M5cyBYW7h/Wq576lnN3l9+W/c= だけです。 |
phone | string | Conditionally Required | トークンを生成するための 正規化された 電話番号です。 有効な値は +12345678901 だけです。 |
phone_hash | string | Conditionally Required | 正規化された 電話番号の Base64-encoded SHA-256 ハッシュです。 有効な値は EObwtHBUqDNZR33LNSMdtt5cafsYFuGmuY4ZLenlue4= だけです。 |
Request Examples
以下は、各パラメータの暗号化されていない JSON リクエストボディの例で、トークン検証のリクエストに含める必要があります:
以下の例の Advertising Token は、説明のみを目的とした架空のものです。提供された値は実際の値ではありません。
{
"token": "AdvertisingTokenmZ4dZgeuXXl6DhoXqbRXQbHlHhA96leN94U1uavZVspwKXlfWETZ3b%2FbesPFFvJxNLLySg4QEYHUAiyUrNncgnm7ppu0mi6wU2CW6hssiuEkKfstbo9XWgRUbWNTM%2BewMzXXM8G9j8Q%3D",
"email": "validate@example.com"
}
{
"token": "AdvertisingTokenmZ4dZgeuXXl6DhoXqbRXQbHlHhA96leN94U1uavZVspwKXlfWETZ3b%2FbesPFFvJxNLLySg4QEYHUAiyUrNncgnm7ppu0mi6wU2CW6hssiuEkKfstbo9XWgRUbWNTM%2BewMzXXM8G9j8Q%3D",
"email_hash": "ntI244ZRTXwAwpki6/M5cyBYW7h/Wq576lnN3l9+W/c="
}
{
"token": "AdvertisingTokenmZ4dZgeuXXl6DhoXqbRXQbHlHhA96leN94U1uavZVspwKXlfWETZ3b%2FbesPFFvJxNLLySg4QEYHUAiyUrNncgnm7ppu0mi6wU2CW6hssiuEkKfstbo9XWgRUbWNTM%2BewMzXXM8G9j8Q%3D",
"phone": "+12345678901"
}
{
"token": "AdvertisingTokenmZ4dZgeuXXl6DhoXqbRXQbHlHhA96leN94U1uavZVspwKXlfWETZ3b%2FbesPFFvJxNLLySg4QEYHUAiyUrNncgnm7ppu0mi6wU2CW6hssiuEkKfstbo9XWgRUbWNTM%2BewMzXXM8G9j8Q%3D",
"phone_hash": "EObwtHBUqDNZR33LNSMdtt5cafsYFuGmuY4ZLenlue4="
}
以下は、メールアドレスハッシュの暗号化トークン検証リクエストの例です:
echo '{"token": "AdvertisingTokenmZ4dZgeuXXl6DhoXqbRXQbHlHhA96leN94U1uavZVspwKXlfWETZ3b%2FbesPFFvJxNLLySg4QEYHUAiyUrNncgnm7ppu0mi6wU2CW6hssiuEkKfstbo9XWgRUbWNTM%2BewMzXXM8G9j8Q%3D", "email_hash": "LdhtUlMQ58ZZy5YUqGPRQw5xUMS5dXG5ocJHYJHbAKI="}' | python3 uid2_request.py https://prod.uidapi.com/v2/token/validate [Your-Client-API-Key] [Your-Client-Secret]
詳細といくつかのプログラミング言語でのコードの例は、リクエストの暗号化とレスポンスの復号化 を参照してください。
Decrypted JSON Response Format
レスポンスは、HTTP ステータスコードが 200 の場合のみ暗号化されます。それ以外の場合、レスポンスは暗号化されません。
復号化に成功したレスポンスは、以下の例に示すように、指定された Advertising Token の検証結果を示す論理値を返します。
{
"body": true,
"status": "success"
}
Body Response Properties
Property | Data Type | Description |
---|---|---|
body | boolean | true の値は、リクエストで指定されたメールアドレス、電話番号、またはそれぞれのハッシュが、Advertising Token を生成するために使用されたものと同じであることを示します。false の値は、次のいずれかを示します:- リクエストに無効な Advertising Token が含まれていました。 - リクエストに指定されたメールアドレス、電話番号、またはそれぞれのハッシュが、暗号化されていないJSONボディパラメータ テーブルで指定された4つの有効な値のうちの1つではありません。 |
Response Status Codes
次の表は、status
プロパティの値と、それに対応する HTTP ステータスコードの一覧です。
Status | HTTP Status Code | Description |
---|---|---|
success | 200 | リクエストは成功しました。レスポンスは暗号化されています。 |
client_error | 400 | リクエストに不足している、または無効なパラメータがありました。 |
unauthorized | 401 | クエストにベアラートークンが含まれていない、無効なベアラートークンが含まれている、またはリクエストされた操作を実行するのに許可されていないベアラートークンが含まれていました。 |
status
の値が success
以外であれば、message
フィールドにその問題に関する追加情報が表示されます。
Using POST /token/validate to Test
このエンドポイントを使用して、POST /token/generate で送信する DII が有効かどうかをテストできます。以下の手順に従ってください。
-
DII がハッシュ化されたメールアドレスか、ハッシュ化されていないメールアドレスか、電話番号かに応じて、Unencrypted JSON Body Parameters の表に記載されている4つの有効なオプションのいずれかを使用して、POST /token/generate リクエストを送信します。表に記載されている対応する値 -
email
、email_hash
、phone
、phone_hash
- を使用します。 -
返された
advertising_token
の値を次のステップで使用するために保存します。 -
Step 1 で送信した
email
、email_hash
、phone
、phone_hash
の値と、Step 2 で保存したadvertising_token
をtoken
プロパティの値として、POST /token/validate
リクエストを送信します。 -
POST /token/validate
リクエストに対するレスポンスを確認します。結果は以下のように、処理の成功を示しています:true
のレスポンスは、Step 1 でリクエストとして送った DII が、Step 1 のレスポンスで受け取ったトークンと一致していることを示します。false
のレスポンスは、メールアドレス、電話番号、またはそれぞれのハッシュを送信する方法に問題があるかもしれないことを示します。