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. System Managerを利用したVPC内Redshif…
  2. Amazon Redshift ビルド168まとめ
  3. Tableauのテスト自動化を実現する Wiiisdom O…
  4. Databricksが買収した8080Labのbambool…
  5. databricksのnotebookを使ってみよう その2…
  1. Adobe Analytics

    GTMのdataLayerをAdobeAnalyticsの「s」オブジェクトにコ…
  2. Azure

    Google Cloud StorageとAzure Blob Storage間…
  3. 海外情報

    【TC19ブログ】Tableau Conference 2019 3日目レポート…
  4. Google BigQuery

    Big QueryでWindow関数を用いて、累積和を計算する
  5. Linux

    Linux技術者資格のLPIC-3試験に合格しました
PAGE TOP