こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。
今日はAdobe Audience ManagerのREST APIについてです。
Adobe Audience ManagerではTraitと呼ばれる「オーディエンスの振る舞いを示すパラメータ群」を作成しておいて、各Traitの組み合わせでオーディエンンスセグメントを作ります。
で、管理画面UIからTraitをチマチマ作るのも良いのですが、大量に作る必要がある場合はAudience Manager REST APIを使って、一気にTraitを作るとセグメント作成が捗ります。
REST APIのドキュメントはここにあります。
https://marketing.adobe.com/resources/help/en_US/aam/c_rest_api_main.html
認証はOAuth方式ですね。
まずトークンを取得して、以降のリクエストはトークンをヘッダに付与して送信するやりかたです。
OAuth Authentication
利用するためには、Audience Manager管理画面のログインID/パスワードの他、REST APIを使うためのClientIDとClientSecretが必要で、Adobeから発行してもらう必要があります。
トークンを手に入れたらそれをヘッダにセットして、目的のAPIを叩きます。
Make Authenticated API Requests
で、今回はAPIでTraitを作成するのが目標。
Create a New Rules-based Trait
そしてこれらの処理をNode.jsで実装したらこうなりました。
requestモジュールを使うので、npm install request –saveでインストールしておいてください。
/* * OAuthトークンを取得するためのリクエストを作成する。 * Basic認証が掛かっているので、 * authパラメータのuserにclientId、passwordにclientSecretをセットする */ var request = require('request'); /* * ヘッダー */ var headers = { 'Content-Type' : 'application/x-www-form-urlencoded' }; var options = { //OAuth認証API url : 'https://api.demdex.com/oauth/token', method : 'POST', headers : headers, auth : { user : "hoge", // clientId password : "fuga" // clientSecret }, json : true, form : { // grant_type=password&username=<AAMログインID>&password=<AAMパスワード> 'grant_type' : 'password', 'username' : 'piyo', // AAMログインID 'password' : 'foobar' // AAMログインID } }; request(options, function (error, response, body) { /* * レスポンスJSON内のaccess_tokenの値を取得する。 */ var token = body.access_token; /* * Trait作成リクエストをJSONで作成する * 先ほど取得したトークンをヘッダーにセット */ headers = { 'Authorization' : 'Bearer ' + token, 'Content-Type' : 'application/json' }; options = { //Trait作成API url : 'https://api.demdex.com/v1/traits/', method : 'POST', headers : headers, json : { 'traitType': 'RULE_BASED_TRAIT', 'name' : 'Traitテスト1', 'description' : 'Traitの概要です1', 'comments' : '備考など1', 'traitRule' : 'c_eVar1 == "abcd"', 'dataSourceId' : '1234', 'folderId' : '5678' } }; request(options, function (error2, response2, body2) { /* * TODO: レスポンスの内容をログに残したり、標準出力にリダイレクトするなど */ console.log(body2); }); });
弊社ではAdobe Audience Managerの実装支援や、Adobe Marketing Cloud関連のAPI実装支援サービスも行っております。
お問い合わせはこちらから
ブログへの記事リクエストはこちらまで