Show Menu
THEMEN×

adobe.target.getOffer(options)

Diese Funktion löst die Anforderung eines Target-Angebots aus.
Verwenden Sie sie mit adobe.target.applyOffer() , um die Antwort zu verarbeiten, oder verwenden Sie Ihre eigene Methode für die Verarbeitung von „success“. Der Optionsparameter ist obligatorisch und hat die folgende Struktur:
Schlüssel
Typ
Erforderlich
Beschreibung
mbox
Zeichenfolge
Ja
Name der Mbox
params
Objekt
Nein
Mbox-Parameter Ein Objekt aus Schlüssel-Wert-Paaren mit der folgenden Struktur:
{ "param1": "value1", "param2": "value2"}
success
Funktion
Ja
Rückruf wird ausgeführt, wenn eine Antwort vom Server eingegangen ist. Die Rückruffunktion „success“ erhält einen einzelnen Parameter, der ein Array von Angebotsobjekten enthält. Hier ein Beispiel für ein Rückruffunktion bei einem Erfolg:
function handleSuccess(response){......}
Weitere Informationen siehe Antworten unten.
error
Funktion
Ja
Auszuführender Rückruf bei Eingang eines Fehlers Es gibt einige Fälle, die als fehlerhaft angesehen werden:
  • Der HTTP-Status-Code weicht von „200 OK“ ab.
  • Die Antwort kann nicht analysiert werden. Dies kann zum Beispiel bei schlecht programmiertem JSON-Code oder HTML- statt JSON-Code auftreten.
  • Die Antwort enthält den Schlüssel „error“. Dies kann zum Beispiel der Fall sein, wenn eine Ausnahme auf dem Edgeserver auftritt und eine Anforderung nicht richtig verarbeitet werden konnte. Ein Fehler tritt auch dann auf, wenn eine Mbox blockiert ist und dafür keine Inhalte abgerufen werden konnten und so weiter. Die Rückruffunktion „error“ erhält zwei Parameter: „status“ und „error“. Im Folgenden finden Sie ein Beispiel für einen „error“-Rückruf: function handleError(status, error){......}
Details finden Sie unten unter „Fehlermeldungen“.
Zeitüberschreitung
Nummer
Nein
Zeitüberschreitung in Millisekunden Wird kein Wert festgelegt, kommt der Standardwert für die Zeitüberschreitung in at.js zum Einsatz.
Der Standard-Timeout kann in der Target Benutzeroberfläche unter Administration > Implementierungeingestellt werden.

Beispiele

Das Hinzufügen von Parametern mit getOffer() und die Verwendung von applyOffer() für das Erfolgs-Handling:
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); 
  } 
});

Das Hinzufügen von Parametern und Profilparametern mit getOffer() und die Verwendung von applyOffer() für das Erfolgs-Handling:
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); 
  } 
});

Verwendung von benutzerdefiniertem Timeout und benutzerdefiniertem Erfolgs-Handling mit getOffer():
„YOUR_OWN_CUSTOM_HANDLING_FUNCTION“ ist ein Platzhalter für eine Funktion, die der Kunde definieren würde.
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 
});

Antworten

Der Antwortparameter, der an die Rückruffunktion „success“ weitergegeben wurde, ist eine Reihe von Aktionen. Eine Aktion ist ein Objekt, das für gewöhnlich das folgende Format hat:
Name
Typ
Beschreibung
Aktion
Zeichenfolge
Art der Aktion, die auf das identifizierte Element angewendet werden soll
selector
Zeichenfolge
Repräsentiert einen Sizzle-Selector
cssSelector
Zeichenfolge
DOM-nativer Selektor, für das Vorab-Ausblenden von Elementen verwendet
content
Zeichenfolge
Der Inhalt, der auf das identifizierte Element angewendet werden soll

Beispiel

{ 
    "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 
            }] 
        } 
    }] 
}

Fehlermeldungen

Die an den Rückruf mit Fehler übergebenen Parameter „status“ und „error“ haben das folgende Format:
Name
Typ
Beschreibung
status
Zeichenfolge
Stellt den Fehlerstatus dar Dieser Parameter kann die folgenden Werte annehmen:
  • timeout: Gibt an, dass die Anfrage abgelaufen ist.
  • parseerror: Gibt an, dass die Antwort nicht analysiert werden konnte, zum Beispiel wenn HTML-Code oder Klartext statt JSON gesendet wurde.
  • error: Gibt an, dass ein allgemeines Problem aufgetreten ist, etwa wenn wir einen HTTP-Status erhalten, der nicht „200 OK“ lautet.
error
Zeichenfolge
Enthält zusätzliche Daten wie zum Beispiel die Ausnahmemeldung oder andere Informationen, die bei der Fehlerhebung hilfreich sein könnten