adobe.target.getOffer(options)
Deze functie activeert een verzoek om een Target voorstel.
Gebruiken met adobe.target.applyOffer()
om de reactie te verwerken of uw eigen succesafhandeling te gebruiken. De parameter options is verplicht en heeft de volgende structuur:
Mbox-parameters. Een object van sleutelwaardeparen met de volgende structuur:
{ "param1": "value1", "param2": "value2"}
Callback die moet worden uitgevoerd wanneer wij een reactie van de server kregen. De succesvolle callback functie zal één enkele parameter ontvangen die een serie van aanbiedingsvoorwerpen vertegenwoordigt. Hier volgt een voorbeeld van een geslaagde callback:
function handleSuccess(response){......}
Zie Reacties hieronder voor meer informatie.
Callback om te worden uitgevoerd wanneer wij een fout hebben. Er zijn een paar gevallen die als onjuist worden beschouwd:
- HTTP-statuscode anders dan 200 OK
- De reactie kan niet worden geparseerd. We hebben bijvoorbeeld slecht JSON of HTML geconstrueerd in plaats van JSON.
- De reactie bevat de "fout"sleutel. Er is bijvoorbeeld een uitzondering op de rand gegenereerd die niet correct kan worden verwerkt. Er kan een fout optreden als een box is geblokkeerd en er geen inhoud voor kan worden opgehaald, enzovoort. De functie callback van de fout zal twee parameters ontvangen: status en fout. Hier volgt een voorbeeld van een callback-fout:
function handleError(status, error){......}
Zie Reacties wegens fouten hieronder voor meer informatie.
Time-out in milliseconden. Als deze niet wordt opgegeven, wordt de standaardtime-out in at.js gebruikt.
De standaardtime-out kan worden ingesteld vanaf de Target UI onder Administration > Implementation.
Voorbeelden
Parameters toevoegen met getOffer() en gebruiken applyOffer() voor succesafhandeling:
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);
}
});
Parameters en profielparameters toevoegen met getOffer() en gebruiken applyOffer() voor succesafhandeling:
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);
}
});
Aangepaste time-out en aangepaste succesverwerking gebruiken met getOffer():
"UW_OWN_CUSTOM_HANDLING_FUNCTION" is een plaatsaanduiding voor een functie die de klant zou definiëren.
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
});
Reacties
De responsparameter die aan de succescallback wordt doorgegeven, is een array met handelingen. Een handeling is een object met doorgaans de volgende indeling:
Voorbeeld
{
"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
}]
}
}]
}
Foutreacties
De parameters "status" en "error" die aan de callback worden doorgegeven, hebben de volgende indeling:
Geeft de foutstatus aan. Deze parameter kan de volgende waarden hebben:
- timeout: Geeft aan dat er een time-out voor de aanvraag is opgetreden.
- parserror: geeft aan dat de reactie niet kan worden geparseerd, bijvoorbeeld als we HTML- of platte tekst ontvangen in plaats van JSON.
- fout: geeft een algemene fout aan als we HTTP-status hebben ontvangen die afwijkt van 200 OK