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. 最速で理解したい人のためのIT用語集

最近の記事

  1. 【GA4/GTM】dataLayerを使ってカスタムイベント…
  2. 【GA4/GTM】dataLayerを活用しよう
  3. ジャーニーマップをデジタルマーケティングの視点で
  4. ChatGPT ProからClaude3 Proへ移行した話…
  5. その分析、やり方あってる?記述統計と推測統計の違い
  1. Google Analytics

    Google Analytics: ユニバーサルアナリティクスの拡張Eコマース用…
  2. Tableau

    Tableau Tips〜WINDOW関数〜
  3. Excel

    Google Analytics URLクエリパラメータ 簡単削除方法
  4. Amazon Web Services

    セキュリティグループ vs ネットワークACL
  5. Tableau

    Tableau ServerとTableau Onlineの違い【管理者向け】
PAGE TOP