Show Menu
トピック×

adobe.target.getOffer(options)

この関数は、Target オファーを取得するリクエストを実行します。
adobe.target.applyOffer() と併用して、応答を処理するか、独自の成功処理を使用します。options パラメーターは必須で、以下の構造を持ちます。
キー
タイプ
必須
説明
mbox
文字列
mbox 名
params
オブジェクト
×
mbox パラメーター。次の構造を持つキーと値のペアのオブジェクト。
{ "param1": "value1", "param2": "value2"}
success
関数
サーバーから応答を受け取ると、コールバックが実行されます。success コールバック関数は、オファーオブジェクトの配列を表す単一のパラメーターを受け取ります。以下に、成功コールバックの例を示します。
function handleSuccess(response){......}
詳細については、以下の「応答」を参照してください。
error
関数
エラーを受け取ると、コールバックが実行されます。エラーと見なされる状況がいくつかあります。
  • HTTP ステータスコードが 200 OK ではない
  • 応答が解析できない。例えば、脆弱な構造の JSON や、JSON ではなく HTML など。
  • 応答には「エラー」キーが含まれます。例えば、危険にさらされて例外がスローされ、リクエストが適切に処理されない可能性があります。mbox がブロックされ、そのコンテンツを取得できないなどの場合にエラーが発生する可能性があります。error コールバック関数は、status と error の 2 つのパラメーターを受け取ります。次に error コールバックの例を示します。 function handleError(status, error){......}
詳しくは、以下の「エラー応答」を参照してください。
timeout
数値
×
タイムアウト(ミリ秒)。指定しない場合は、at.js のデフォルトのタイムアウトが使用されます。
デフォルトのタイムアウトは、 Target 管理/実装の下の UIから設定できます。

getOffer() でパラメーターを追加し、成功処理に applyOffer() を使用します。
adobe.target.getOffer({   
  "mbox": "target-global-mbox", 
  "params": { 
     "a": 1, 
     "b": 2 
  }, 
  "success": function(offer) {           
        adobe.target.applyOffer( {  
           "mbox": "target-global-mbox", 
           "offer": offer  
        } ); 
  },   
  "error": function(status, error) {           
      console.log('Error', status, error); 
  } 
});

getOffer() でパラメーターとプロファイルパラメーターを追加し、成功処理に applyOffer() を使用します。
adobe.target.getOffer({   
  "mbox": "target-global-mbox", 
  "params": { 
     "a": 1, 
     "b": 2, 
     "profile.age": 27, 
     "profile.gender": "male" 
  }, 
  "success": function(offer) {           
        adobe.target.applyOffer( {  
           "mbox": "target-global-mbox", 
           "offer": offer  
        } ); 
  },   
  "error": function(status, error) {           
      console.log('Error', status, error); 
  } 
});

getOffer() でカスタムタイムアウトとカスタム成功処理を使用します。
「YOUR_OWN_CUSTOM_HANDLING_FUNCTION」は、お客様が定義する関数のプレースホルダーです。
adobe.target.getOffer({     
  "mbox": "target-global-mbox",   
  "success": function(offer) { 
    YOUR_OWN_CUSTOM_HANDLING_FUNCTION(offer);   
  }, 
  "error": function(status, error) {                 
    console.log('Error', status, error);   
  },   
  "timeout": 2000 
});

応答

success コールバックに渡された応答パラメーターはアクションの配列になります。アクションは、通常は次の形式のオブジェクトです。
名前
タイプ
説明
action
文字列
識別された要素に適用されるアクションの種類。
selector
文字列
Sizzle セレクターを表します。
cssSelector
文字列
要素を事前に非表示にするために使用される、ネイティブな DOM セレクター。
content
文字列
識別された要素に適用されるコンテンツ。

{ 
    "sessionId": "1444512212156-384616", 
    "tntId": "1444512212156-384616.17_35", 
    "offers": [{ 
        "plugins": ["<script type=\"text/javascript\">\r\n/*mboxHighlight+ (1of2) v1 ==> Response Plugin*/\r\nwindow.ttMETA=(typeof(window.ttMETA)!='undefined')?window.ttMETA:[];window.ttMETA.push({'mbox':'target-global-mbox','campaign':'at: redirect ootb','experience':'Experience B','offer':'/at_redirect_ootb/experiences/1/pages/0/1442082890250'});window.ttMBX=function(x){var mbxList=[];for(i=0;i<ttMETA.length;i++){if(ttMETA[i].mbox==x.getName()){mbxList.push(ttMETA[i])}}return mbxList[x.getId()]}\r\n</script>"], 
        "actions": { 
            "content": [{ 
                "passMboxSession": false, 
                "selector": "body", 
                "action": "redirect", 
                "url": "https://example.com/04.html", 
                "includeAllUrlParameters": true 
            }] 
        } 
    }] 
}

エラー応答

error コールバックに渡される「status」および「error」パラメーターは、次の形式を持ちます。
名前
タイプ
説明
status
文字列
エラーの状態を表します。このパラメーターは次の値を持つことができます。
  • timeout:リクエストがタイムアウトしたことを示します。
  • parseerror:例えば、JSON ではなく HTML またはプレーンテキストを受け取るなど、応答が解析できなかったことを示します。
  • error:200 OK ではない HTTP ステータスを受け取ったなど、一般的なエラーを示します。
error
文字列
例外メッセージやその他トラブルシューティングに役立つ可能性のある、追加のデータが含まれています。