SDK for Python Reference Guide
Server-Side で Python SDK を使用すると、UID2 を使用してクライアント ID を生成または確立するプロセス、ビッドストリームでの Advertising Token の取得、UID2 Token の自動リフレッシュを容易にすることができます。適用可能な権限がある 場合、共有のために暗号化および復号化、DII を raw UID2 にマッピング、およびローテーションされたソルトバケットの監視も行うことができます。
Functionality
この SDK は、Server-Sideのコーディングに Python を使用している DSP または UID2 Sharers のために、UID2 とのインテグレーションを簡素化します。次の表に、この SDK がサポートする機能を示します。
Encrypt Raw UID2 to UID2 Token for Sharing | Decrypt UID2 Token to Raw UID2 | Generate UID2 Token from DII | Refresh UID2 Token | Map DII to Raw UID2s | Monitor Rotated Salt Buckets |
---|---|---|---|---|---|
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
API Permissions
この SDK を使用するには、Account Setup ページに記載されている手順に従って、UID2 アカウントのセットアップを完了する必要があります。
SDK が提供する特定の機能の使用許可が与えられ、そのアクセス用の認証情報が与えられます。SDK には、使用する権限を持たない機能があるかもしれないことに留意してください。例えば、パブリッシャーはトークンの生成と更新のために特定の API Permissions を取得しますが、SDK は共有などの他のアクティビティをサポートするかもしれません。
詳細は API Permissions を参照してください。
Version
この SDK には Python 3.6 以降が必要です。
GitHub Repository/Package
この SDK は以下のオープンソースの GitHub リポジトリにあります:
パッケージは以下で公開されています:
Installation
SDK をインストールするには、Pip パッケージマネージャを使用します。
pip install uid2-client
Initialization
初期化ステップは、次の表に示すように役割によって異なります。
Role | Create Instance of Class | Link to Instructions |
---|---|---|
Publisher | Uid2PublisherClient | Usage for Publishers |
Advertiser/Data Provider | IdentityMapClient | Usage for Advertisers/Data Providers |
DSP | BidstreamClient | Usage for DSPs |
Sharer | SharingClient | Usage for Sharers |
SDK が UID2 Service と通信するために必要な値を提供する必要があります。
Parameter | Description |
---|---|
base_url | UID2 Service のエンドポイント。Environments を参照してください。 |
auth_key | API Key。UID2 Credentials を参照してください。 |
secret_key | Cient Secret。UID2 Credentials を参照してください。 |
Interface
BidstreamClient
クラスを利用すると UID2 Token を raw UID2 に復号化できます。
ユーザーのオプトアウトを処理する入札ロジックの詳細は DSP Integration Guide を参照してください。
SharingClient
クラスを利用すると、raw UID2 を UID2 Token に暗号化し、UID2 Token を raw UID2 に復号化することができます。
SDK を使用すると、復号化キーを保存または管理する必要がありません。
Encryption Response Content
SharingClient
を使用して暗号化すると、SDK が次の表に示す情報を返します。
Property | Description |
---|---|
status | 暗号化結果のステータス。取り得る値のリストと定義については、Encryption Response Statuses を参照してください。 |
encrypted_data | 暗号化された UID2 Token。 |
Encryption Response Statuses
暗号化のレスポンスコードとその意味は、次の表に示します。
Value | Description |
---|---|
SUCCESS | raw UID2 は正常に暗号化され、UID2 Token が返されました。 |
NOT_AUTHORIZED_FOR_KEY | 呼び出し元は 暗号化キー を使用する権限を持っていません。 |
NOT_AUTHORIZED_FOR_MASTER_KEY | 呼び出し元はマスターキーを使用する権限を持っていません。 |
NOT_INITIALIZED | クライアントライブラリは初期化待ちです。 |
KEYS_NOT_SYNCED | クライアントが UID2 Service からの鍵の同期に失敗しました。 |
ENCRYPTION_FAILURE | 一般的な暗号化に失敗しました。 |
Decryption Response Content
BidstreamClient
または SharingClient
を使用して復号化すると、SDK が次の表に示す情報を返します。
Property | Description |
---|---|
status | 復号結果のステータス。取り得る値のリストと定義につては、Decryption Response Statuses を参照してください。 |
uid | UID2 Token に対応する raw UID2。 |
established | ユーザーがパブリッシャーと最初に UID2 を確立した時のタイムスタンプ。 |
Decryption Response Statuses
Decryption response codes, and their meanings, are shown in the following table.
Value | Description |
---|---|
SUCCESS | UID2 Token は正常に複合化され、raw UID2 が返されました。 |
NOT_AUTHORIZED_FOR_KEY | 呼び出し元は、この UID2 Token を複合化する権限を持っていません。 |
NOT_INITIALIZED | クライアントライブラリは初期化待ちです。 |
INVALID_PAYLOAD | 受信した UID2 Token は有効なペイロードではありません。 |
EXPIRED_TOKEN | 受信した UID2 Token の有効期限が切れています。 |
KEYS_NOT_SYNCED | クライアントが UID2 Service からの鍵の同期に失敗しました。 |
VERSION_NOT_SUPPORTED | クライアントライブ ラリが暗号化トークンのバージョンをサポートしていません。 |
DOMAIN_NAME_CHECK_FAILED | ドメイン名が暗号化されたトークンのドメインと一致しません。 |
INVALID_TOKEN_LIFETIME | トークンのタイムスタンプが無効です。 |
Usage for Publishers
-
Uid2PublisherClient
のインスタンスを作成します:client = Uid2PublisherClient(UID2_BASE_URL, UID2_API_KEY, UID2_SECRET_KEY)
-
ユーザーのメールアドレスまたは電話番号を入力として受け取り、
TokenGenerateResponse
オブジェクトを生成する関数を呼び出します。次の例では、メールアドレスを使用しています:token_generate_response = client.generate_token(TokenGenerateInput.from_email(emailAddress).do_not_generate_tokens_for_opted_out())