adobe.target.getOffer(options)
Den här funktionen utlöser en begäran om att få ett Target-erbjudande.
Använd med adobe.target.applyOffer()
om du vill bearbeta svaret eller använda din egen hantering av lyckade åtgärder. Alternativparametern är obligatorisk och har följande struktur:
Mbox-parametrar. Ett objekt med nyckelvärdepar som har följande struktur:
{ "param1": "value1", "param2": "value2"}
Återanrop som ska köras när vi får ett svar från servern. Callback-funktionen för lyckade försök får en enda parameter som representerar en array med objekt för erbjudanden. Här är ett exempel på lyckad återanrop:
function handleSuccess(response){......}
Mer information finns i Svaren nedan.
Återanrop som ska utföras när ett fel inträffar. Det finns några fall som anses felaktiga:
- HTTP-statuskoden skiljer sig från 200 OK
- Svaret kan inte tolkas. Vi har till exempel dåligt konstruerat JSON eller HTML i stället för JSON.
- Svaret innehåller felnyckeln. Ett undantag utlöstes till exempel på kanten som en begäran inte kunde behandlas korrekt. Ett fel kan uppstå när en mbox är blockerad och vi inte kan hämta något innehåll för den, osv. Återanropsfunktionen för fel får två parametrar: status och fel. Här är ett exempel på ett återanrop:
function handleError(status, error){......}
Mer information finns i Felsvar nedan.
Timeout i millisekunder. Om inget anges används standardtidsgränsen i at.js.
Standardtidsgränsen kan anges från användargränssnittet Target under Administration > Implementation.
Exempel
Lägger till parametrar med getOffer() och använder applyOffer() för lyckad hantering:
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);
}
});
Lägger till parametrar och profilparametrar med getOffer() och använder applyOffer() för lyckad hantering:
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);
}
});
Använder anpassad tidsgräns och anpassad hantering av lyckade åtgärder med getOffer():
"YOUR_OWN_CUSTOM_HANDLING_FUNCTION" är en platshållare för en funktion som kunden skulle definiera.
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
});
Svar
Svarsparametern som skickas till motringningen om att åtgärden lyckades är en array med åtgärder. En åtgärd är ett objekt som vanligtvis har följande format:
Exempel
{
"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
}]
}
}]
}
Felsvar
Parametrarna "status" och "error" som skickas till återanropet har följande format:
Representerar felstatusen. Den här parametern kan ha följande värden:
- timeout: Anger att tidsgränsen för begäran uppnåddes.
- parseerror: Anger att svaret inte kan tolkas, till exempel om vi får HTML eller oformaterad text i stället för JSON.
- fel: Anger ett allmänt fel som om vi fick en annan HTTP-status än 200 OK