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. dbtCloud使ってみた
  2. ChainlitでのOAuth認証にスコープを追加する方法
  3. Snowflake無料トライアルの始め方
  4. TROCCO入門
  5. コンポーザブルCDPにおけるSnowflakeのマルチモーダ…
  1. IT用語集

    ECサイト(Electronic Commerce Site)って何?
  2. IT用語集

    カスタマージャーニー(Customer Journey)って何?
  3. Google Cloud Platform

    Vertex AI Embeddings for Text によるテキストエンベ…
  4. Adobe Analytics

    Adobe AEP SDK: リバースプロキシを使ったアプリ計測検証方法
  5. Adobe Launch

    DTMからAdobe Launchへの移行:4段階のアプローチ
PAGE TOP