ユーザー・データAPI

ユーザー・データAPIを使用して、Oracle Data Cloudプラットフォームにユーザー・データをプログラマティックにオンボーディングして、そのデータを自分のサイトに戻します。ユーザー・データAPIは、オフライン・データ、タクソノミ、Webサイトおよびモバイル・アプリの間の常に動いているパイプとして機能します。

ユーザー・データAPIを使用して、ユーザーが分類されているカテゴリに関する情報を取得することもできます。この情報を使用して、ユーザーからのプライバシ関連のリクエストを満たすことができます。

EUデータ。所在地が欧州連合(EU)であるユーザー・プロファイルのデータを収集および受信するには、オラクル社の一般データ保護規則(GDPR)の契約に署名している必要があります。この契約を取得して署名するには、オラクル社のアカウント担当者にお問い合せください。

ユーザー・データAPIでは、最大1,000コール/秒で、ユーザー当たり1コールがサポートされます。データを収集または配信する対象のユーザーごとに、個別のAPIコールを実行する必要があります。バルクAPIを使用して、1つのHTTPS POSTリクエストの本文で、個々のユーザー・データAPIコールをバッチ処理できます。バルクAPIを使用すると、レイテンシが短縮され、スループットが最大化されます。バルクAPIへのアクセスをリクエストするには、My Oracle Support (MOS)にお問い合せください。リクエストに、1日当たりのサブリクエストの最大数と任意のカスタム要件を含めます。MOSスペシャリストが、該当するWebサービス・キーでバルクAPIコールを実行できるようにします。

ユーザー・データAPIレスポンスは、通常、APIリクエストが米国から行われる場合は300 ms以内、米国外から行われる場合は500-600 msで配信されます。

このトピックの内容  

APIリファレンス

次の埋込み参照ドキュメントでは、各メソッドのパラメータについて説明し、コール用のテンプレートを提供しています。ただし、ツールからライブAPIコールを実行することはできません。

次のリンクを新しいタブで開くと、ドキュメントが3つのペインの形式で表示されます。

userdataapi1.docs.apiary.io

このAPIの詳細は、My Oracle Support (MOS)にお問い合せください。

ベース・パス

https://api.tags.bluekai.com/getdata/siteID/v1.2/...

サポートされているIDタイプ

オンボーディングおよび配信するデータは、次の表で説明するいくつかのIDタイプにリンクできます。

IDタイプ パラメータ IDスペース 説明
BKUUID userid プライマリID (デスクトップおよびモバイルWeb) IDスワップ、SDT配信またはJSONリターン・タグを介して受信した、難読化されたOracle Data Cloudの一意のユーザーID (BKUUID)。
PUUID

puserid

セカンダリID (BKUUIDにリンクされます。デスクトップおよびモバイルWeb)

 

電子メール・ハッシュ、アカウントIDハッシュ、Cookie IDなどの識別子になる、パートナベースの一意のユーザーID (PUUID)。渡すPUUIDは、BKUUIDにIDスワップされる必要があり、IDスワップされない場合は、ユーザーが見つからなかったことを示す404エラーが表示されます。詳細は、IDスワップを参照してください。

PUUIDを渡す場合、ユーザー・データAPIコールに含めるサイトIDが有効になっている必要があり、有効になっていない場合は、ユーザーが見つからなかったことを示す404エラーが表示されます。これを行うには、MOSチケットをオープンし、パートナ名、パートナID、IDスワップ・サイトID、およびユーザー・データAPIコールで渡すサイトIDを含めて、ユーザー・データAPIのpuseridアクセスをリクエストします。

phintを介して、IDスワップされたPUUIDを渡す場合(たとえば、Oracle Data Cloudコア・タグを使用してIDスワップを実行する場合)、pfieldパラメータでキーを渡す必要があります(たとえば、myid=ABC123の場合は、myidがキーです)。pfieldパラメータによって、システムのPUUIDが一意に識別されます。MOSチケットをオープンし、パートナ名、パートナID、IDスワップ・サイトIDおよびキーを含めて、ユーザー・データAPIのpfieldアクセスをリクエストします。
pfieldが指定されていないか、プラットフォームで有効になっていない場合に、ユーザー・データAPIでphintスワップされたPUUIDを渡すと、404エラーが発生します。

ID同期の設定の詳細は、IDスワップを参照してください。

MAID adid
idfa
プライマリID、モバイル・アプリ adidまたはidfaを渡すと、このMobile Advertising IDにリンクされたデータ(プライマリIDスペースで動作する)を送信および取得できます(送信または取得するデータは、BKUUIDにはリンクされません)。

国の識別メソッド: MAIDにリンクされたデータをオンボーディングする場合、ユーザー・データAPIコールで国コードを渡して、ユーザーの国の場所を指定する必要があります。ただし、ユーザーの国を識別できないシナリオに対応するために、同じMOSチケットで、ユーザーの国の場所を分類する次のメソッドのいずれかを指定できます(国コードを渡さず、かつこれらのいずれかのメソッドを選択しない場合は、国コードが指定されていないことを示す400エラーが表示されます)。

  • デフォルトの国。デフォルトの国を使用してユーザーを分類します。これは、常に同じ1つの国にユーザーを分類することを予定している場合、または国データを提供できない場合に便利です。
  • 未指定の国。(DMPユーザーのみ)ユーザーがまだ国に分類されていない場合、その国の場所は未指定として分類されます。この場合、これらのユーザーのターゲットには、オーディエンス・ビルダーの国フィルタリングは使用できません。

    ノート: このオプションはデータ・プロバイダでは使用できません。

デフォルトまたは未指定の国のメソッドをリクエストするには、ユーザー・データAPIのSITES_DEFAULT_CCODEをリクエストして、パートナ名、パートナIDおよび分類サイトIDを含めて、(a)使用するデフォルトの国または(b)ユーザーの国の場所を未指定としてマークすることを指定します。

データ収集

ユーザー・データAPIを使用すると、データ・ウェアハウス、CRMデータベース、またはその他のオフライン・ソースに格納されているユーザー・データを、いつでも個別にオンボーディングしてアクティブ化できます。これにより、必要な場合にいつでも、オフライン・ソースでモデルとアナリティクスを実行してユーザーをセグメント化し、その属性をタクソノミに直接インポートできます。ユーザー・データは、すぐにタクソノミに追加されて、アクティブ化の準備が整います。

データをオンボーディングするには、まず、プラットフォームのUIを使用するか、コンテナ(サイト) API、カテゴリAPIおよびルールAPIを使用して、サイトIDカテゴリおよびルールを作成する必要があります。

リクエスト

api.tags.bluekai.com/getdata/{siteid}/v1.2?{idType}={userId}&phint={key}={value}&bkuid={Web Service Key}&bksig={Method Signature}に対して、次のコンポーネントを指定してGETリクエストを送信することで、データをオンボーディングするためのユーザー・データAPIコールを実行できます。

  • サイトID。作成して、ルールに含めたサイトID。
  • IDタイプユーザーID。BKUUID (userid)、PUUID (puserid)またはMAID (adidまたはidfa)のIDタイプと、実際のID。MAIDは8-4-4-4-12の形式で渡す必要があります。
  • phint。ルールに含めた、ユーザーの属性と行動を表すキーと値のペア。Oracle Data Cloudプラットフォームでは、ルール内のサイトIDとphintが評価されて、ユーザーが追加されるカテゴリが決定します。
  • Webサービス・キー。Oracle Data Cloud APIコールを実行するためのキー。これを取得するには、シートにログインして、「Tools」→「Web Service Key Tool」をクリックします。Webサービス・キーの取得の詳細は、ここをクリックしてください。
  • メソッドの署名。HTTP_METHOD、URI_PATH、QUERY_ARG_VALUESおよびPOST_DATAを文字列バイト配列に暗号化し、Webサービスの秘密キーで結果の文字列を署名することによって生成された、リクエストの署名(bksig)。ユーザー・データAPIコールの認証の詳細は、ここをクリックしてください。

MAIDまたは他の非Cookie IDタイプにリンクされたデータをオンボーディングする場合は、ユーザーのデータが取得された場所の2文字のISO 3166-1 alpha-2の国コードに設定されたccodeパラメータを渡し、create_profileフラグを1に設定する必要もあります。これにより、IDスペースの新しいユーザー・プロファイルをプロファイル・ストアに追加できます。プロファイルがすでに存在する場合、phintパラメータで渡すユーザー属性のみが、ユーザーのプロファイルに追加されます。
したがって、MAIDのユーザー・データAPIコールの構文は、次のようになります。api.tags.bluekai.com/getdata/{siteid}/v1.2?idfa|adid={8-4-4-4-12}&phint={key}={value}&ccode={countryCode}&create_profile=1&bkuid={Web Service Key}&bksig={Method Signature}

ユーザー・データAPIでデータを送信するときに含めることができるすべてのパラメータの詳細は、パラメータを参照してください。

リクエストの例

次の例は、BKUUID、PUUIDおよびMAIDにリンクされたデータをオンボーディングするために、ユーザー・データAPIリクエストを実行する方法を示しています。それぞれの例で、サイトID 50838purchaser=smartphoneのphintがコールに渡されています。

BKUUID

https://api.tags.bluekai.com/getdata/50838/v1.2?userid=3PR/ef6y99YlryOu&phint=purchase=smartphone&bkuid=a3c18b227976ad07da5d679c7259f726631d39cf49252926407dc05c3e8be643&bksig=uBtWOAzM6cduAbEeaQoU6%2BkNUL87%2Brxudio2DC00Y5c%3D

PUUID

https://api.tags.bluekai.com/getdata/58038/v1.2?puserid=z0OgPvTRj990wQs&phint=purchase=smartphone&bkuid=a3c18b227976ad07da5d679c7259f726631d39cf49252926407dc05c3e8be643&bksig=uBtWOAzM6cduAbEeaQoU6%2BkNUL87%2Brxudio2DC00Y5c%3D

MAID

https://api.tags.bluekai.com/getdata/58038/v1.2?adid=6D92078A-8246-4BA4-AE5B-76104861E7DC&phint=purchase=smartphone&ccode=US&create_profile=1&bkuid=a3c18b227976ad07da5d679c7259f726631d39cf49252926407dc05c3e8be643&bksig=uBtWOAzM6cduAbEeaQoU6%2BkNUL87%2Brxudio2DC00Y5c%3D

レスポンス

ユーザー・プロファイルが見つかったか、作成された場合、ユーザー・データAPIは200コードを返します。ユーザーが存在しないか、Cookieに対してIDが同期されていない場合は、ユーザーが見つからなかったことを示す404エラーが返されます。正常なレスポンスの場合、ユーザー・データAPIは、次のような場合にもユーザーIDを返します。

  • BKUUID (userid)にリンクされたデータをオンボーディングする場合は、レスポンスにユーザーの難読化されたBKUUIDが含まれます。
  • PUUIDにリンクされたデータについては、レスポンスに、ユーザーのPUUID (puserid)と難読化されたBKUUIDが含まれます。
  • MAIDにリンクされたデータについては、レスポンスにはユーザーのidfaまたはadidは含まれません。

レスポンスの例

次の例は、PUUIDにリンクされたユーザー・データをオンボーディングするための、ユーザー・データAPIリクエストに対するレスポンスを示しています。

{
	"status": 200,
	"msg": "ok",
	"userid": "3PR/ef6y99YlryOu",
	"puserid": "z0OgPvTRj990wQs",
	"categories": []
}	
        

データ配信

ユーザー・データAPIを使用して、ユーザー・データをWebサイトまたは内部システムに配信できます。このAPIでは、オーディエンスでターゲットになっているユーザーのカテゴリIDを返すことができます。これにより、顧客の属性と行動に基づく最適なサイト・コンテンツと広告を使用して、顧客をターゲットできます。

ユーザー・データAPIでデータを配信する場合に考慮する必要のある制限事項は次のとおりです。

  • APIコールでは、ユーザーのすべての履歴カテゴリは取得されません。
  • PUUIDに関連付けられたデータに対してAPIを使用する場合、コールではPUUIDにリンクされたすべてのプロファイルは取得されません。最初に作成されたプロファイルのみが取得されます。
  • PUUIDにリンクされたすべてのIDを更新するようにAPIコンテナが構成されている場合は、ユーザー情報を取得するコールではプロファイルが返されません。

データを配信するには、プラットフォームUIを使用するか、オーディエンスAPIおよびキャンペーンAPIを使用して、最初にオーディエンスを作成および配信する必要があります。データ配信を構成する場合、配信メソッドとしてJSONリターンを指定し、ユーザー・データAPIコールで使用するのと同じサイトIDを指定します。

リクエスト

GETリクエストの送信により、データを配信するユーザー・データAPIコールを実行できます

api.tags.bluekai.com/getdata/{siteid}/v1.2?{idType}={userId}&bkuid={Web Service Key}&bksig={Method Signature}

次のコンポーネントを使用:

  • サイトID。作成して、ルールに含めたサイトID。
  • IDタイプユーザーID。BKUUID (userid)、PUUID (puserid)またはMAID (adidまたはidfa)のIDタイプと、実際のID。
  • Webサービス・キー。Oracle Data Cloud APIコールを実行するためのキー。
  • メソッドの署名。生成されたリクエストの署名。

ユーザー・データAPIでデータを取得する際に含めることができるすべてのパラメータの詳細は、APIリファレンスドキュメントを参照してください。リクエストでphintを渡して、データのオンボーディングと配信を同時に実行することもできます。

filterbycampidsパラメータでキャンペーンIDのカンマ区切りリストを渡すことで、ユーザー・データAPIによって返されるカテゴリIDをフィルタできます。これにより、ユーザー・データAPIで、1つ以上の特定のキャンペーンによってターゲットおよび獲得されたカテゴリのみを返すことができます。デフォルトでは、ユーザー・データAPIでは、すべてのキャンペーンによってターゲットおよび獲得されているカテゴリが返されます。

レスポンス

ユーザー・データAPIでは、ターゲットされて配信されているユーザーのプロファイルにリンクされたカテゴリID、ユーザーが最後にカテゴリでタグ付けされた時間、およびカテゴリでタグ付けされた回数が返されます。ユーザーが存在しないか、Cookieに対してIDが同期されていない場合は、ユーザーが見つからなかったことを示す404エラーが返されます。

次の例は、ユーザー・データAPIのデータ配信リクエストに対するレスポンスを示しています。

{
	"status": 200,
	"msg": "ok",
	"userid": "3PR/ef6y99YlryOu",
	"categories": 
	[
		{
		"id": 1211430,
		"count": 3,
		"lastmodified": 1520881959
		}
	]
}
			
		

サンプルのユーザー・データAPIレスポンス - 成功(カテゴリを含む)

{
	"status": 200,
	"msg": "ok",
	"userid": "<BlueKai_UUID>",
	"puserid": "<Partner_UUID>",
	"categories": [{
		"id": 123,
		"count": 1,
		"lastmodified": 1342722630
	}, {
		"id": 323,
		"count": 3,
		"lastmodified": 1342722400
	}]
}

サンプルのユーザー・データAPIレスポンス - 成功(カテゴリを含まない)

{
	"status": 200,
	"msg": "ok",
	"userid": "ABCD",
	"puserid": "XYZ123",
	"categories": {}
}

サンプルのユーザー・データAPIのエラー・レスポンス

{
	"status": 400,
	"msg": "user id is empty",
	"userid": "",
	"puserid": "",
	"categories": {}
}

レジストリ・リクエスト

ユーザー・データAPIを使用して、ユーザーが分類されているカテゴリを見つけることができます。たとえば、ユーザーが自分について収集されたデータを確認するためにプライバシ・リクエストを送信した場合は、GETコールを使用して、ユーザーに適用されるカテゴリのリストを取得できます。これらのレジストリ・コールには、個別のエンドポイント(api.tags.bluekai.com/getregistrydata)があります。次の構文を使用します。

api.tags.bluekai.com/getregistrydata/{siteID} /v1.2?{idType}={userID}&bkuid={Web Service Key}&bksig= {Method Signature}

次のコンポーネントを使用:

  • サイトID。作成して、ルールに含めたサイトID。
  • IDタイプユーザーID。BKUUID (userid)、PUUID (puserid)またはMAID (adidまたはidfa)のIDタイプと、実際のID。
  • Webサービス・キー。Oracle Data Cloud APIコールを実行するためのキー。
  • メソッドの署名。生成されたリクエストの署名。

レスポンス

ユーザー・データAPIは、ユーザーのプロファイルにリンクされているカテゴリIDを返します。次の例は、レジストリ・リクエストへのレスポンスを示しています。

{				{
"status": 200,
"msg": "ok",
"userid": "3PR/ef6y99YlryOu",
"categories": [ {
"id": 1211432,
"name": "5-10%",
"path": "Oracle Modeling 360 - private > ExampleCompany > US Default > Visitors > 5-10%
} {
"id": 1211434,
"name": "5-10%",
"path": "Oracle Modeling 360 - private > ExampleCompany > US Default > Visitors > 10-15%
} {
"id": 1211436,
"name": "5-10%",
"path": "Oracle Modeling 360 - private > ExampleCompany > US Default > Visitors > 15-20%
} ] }

 

ユーザー・データAPIリクエストが成功すると、ユーザーがタグ付けされた、すべての新しい適格なカテゴリIDを含むJSON形式のリストが返されます。

パートナ・クリア

パートナ・クリアにより、特定のサイトまたはパートナIDに関連付けられたすべてのサイトのデバイスのすべてのカテゴリが削除されます。カテゴリが削除されると、プロファイルはターゲットされなくなります。このコールは通常、「私のデータを削除してください」リクエストへのレスポンスとして使用されます。

次の構文を使用します。

api.tags.bluekai.com/api/v2/users/{id-type}/{id-value}/tags?

次のコンポーネントを使用:

id-type: パートナID (PUUID)の場合は{id-value}として特別な値id

その他の有効な定義は、IdTypeプッシュのsourceフィールドからです: https://push.bluekai.com/Push/idtype

次に例を示します。

  • パートナID (PUUID)の場合はid
  • BlueKaiのプロファイルIDの場合はbkuuid (難読化されている可能性が高いです)
  • MAIDの場合はidfaまたはadid

次の表は、必要な機能を取得するための様々なHTTPメソッドおよびURLをまとめたものです。

メソッド HTTP本文 URL ヘッダー 機能
DELETE

api.tags.bluekai.com/api/v2/users/id/puuid-example-abcdef/tags?site=2000

または

api.tags.bluekai.com/api/v2/users/id/puuid-example-abcdef/tags

X-SiteID:2000 パートナ・クリア - サイト2000のユーザーのカテゴリを削除します(uri引数のサイトIDは"X -SiteID"と同じである必要があります)
DELETE api.tags.bluekai.com/api/v2/users/idfa/12345678-1234-1234-1234-123456781234/tags?partner=1000   パートナ・クリア - partnerID 1000のユーザーのカテゴリを削除します。これは、そのパートナに関連付けられたすべてのサイトを意味します。

エラー・レスポンスのサマリー

ユーザー・データAPIリクエストが成功しなかった場合は、エラー・コードとメッセージの説明を含むJSON形式のデータを受信します。次の表は、リクエストが失敗した場合に、レスポンスのstatusフィールドとmsgフィールドで返されるエラー・ステータス・コードとメッセージを示しています。

ステータス・コード メッセージ サポートされるバージョン
200 "ok" すべて
400 "user id is empty" すべて
404 "user id not found" すべて
403 "invalid site id in the request" すべて
400 "unsupported version of api specified" すべて
500 "internal server error" すべて
400 "invalid bkuid specified in the request" バージョン1.2
400 "The bkuid specified does not have access to the site" バージョン1.2
400 "signature specified mismatch" バージョン1.2
400 "signature specified is empty" バージョン1.2

Pythonコードの例

サンプルPythonスクリプトは、認証の署名の生成方法、ユーザー・データAPIリクエストURLの構築方法、およびプラットフォームに対するHTTPコールの実行方法を示しています。

次の表は、デスクトップ・ユーザー、モバイル・ユーザーおよびモバイル・アプリ・ユーザーに対してこのスクリプトを実行するために必要となるフィールドと構文を表示しています。

サンプル・スクリプトの必須フィールド

ユーザー・タイプ IDタイプ フィールド
デスクトップ・ユーザーまたはモバイル・ユーザー BKUUID siteid、userid、bkuid、bksecretkey
  • 取得のみ: campids、target
  • 送信のみ: phint
./userDataApi.py -s <siteid> -u <userid> -n <phint> -c <campids> -t <target> -b <bkuid> -k <bksecretkey>
デスクトップ・ユーザーまたはモバイル・ユーザー PUUID siteid、puserid、pfield、bkuid、bksecretkey
  • 取得のみ: campids、target
  • 送信のみ: phint
./userDataApi.py -s <siteid> -p <puserid> -f <pfield>-n <phint> -c <campids> -t <target> -b <bkuid> -k <bksecretkey>
モバイル・アプリ・ユーザー IDFA siteid、idfa、bkuid、bksecretkey
  • 取得のみ: campids、target
  • 送信のみ: phint
./userDataApi.py -s <siteid> -e <idfa> -n <phint> -c <campids> -t <target> -b <bkuid> -k <bksecretkey>
モバイル・アプリ・ユーザー ADID siteid、adid、bkuid、bksecretkey
  • 取得のみ: campids、target
  • 送信のみ: phint
./userDataApi.py -s <siteid> -d <adid> -n <phint> -c <campids> -t <target> -b <bkuid> -k <bksecretkey>

 

さらに学ぶ

バルク収集API

パーセントエンコーディング