Adobe Audience Manager

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

こんにちは、エクスチュアCTOの権です。

今日は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. Google Compute EngineのUbuntu V…
  2. Firebase Analyticsの新しいBigQuery…
  3. Adobe Cloud Platform Auditor (…
  4. Google Analytics Standardのデータを…
  5. Google Tag Manager上でGoogle Ana…
  1. Adobe Analytics

    Adobe Analytics: VisitorAPIでSafariでもクロスド…
  2. Adobe Analytics

    Adobe Analytics: データフィードをGoogle Compute …
  3. Adobe Analytics

    Adobe Analytics: BigQueryにロードしたデータフィードをD…
  4. Adobe Analytics

    Adobe Analytics: Legacy s_code.jsからAppMe…
  5. Mouseflow

    Mouseflow:検索の仕様
PAGE TOP