Adobe Audience Manager

Adobe Audience Manager: REST APIを使ってTraitを作成する

こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。

今日は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実装支援サービスも行っております。
お問い合わせはこちらから

ブログへの記事リクエストはこちらまで

最近の記事

  1. ELB (ALB・NLB・CLB) をサクッと学ぶ
  2. Direct Connect vs Site to Site…
  3. パブリックサブネット vs プライベートサブネット
  4. セキュリティグループ vs ネットワークACL
  5. IAM (Identity and Access Manag…
  1. Cloud Dataflow

    Firebase AnalyticsのデータをフラットなCSVに変換する …
  2. Firebase Analytics

    Firebase AnalyticsのデータをフラットなCSVに変換するETL処…
  3. GA 360 Suite

    Google Analytics 360: BigQueryを使ってアトリビュー…
  4. Adobe Analytics

    Adobe AnalyticsとGoogle Analyticsの違い① セグメ…
  5. Adobe Analytics

    Adobe Analytics: Mobile SDK 4.x でアプリ計測する…
PAGE TOP