こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。
今日は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実装支援サービスも行っております。
お問い合わせはこちらから
ブログへの記事リクエストはこちらまで





