adobe.target.getOffer(options)

Questa funzione genera una richiesta per ottenere un’offerta di Target.

Puoi utilizzarlo con adobe.target.applyOffer() per elaborare la risposta o usare la tua gestione di successo. Il parametro delle opzioni è obbligatorio e ha la seguente struttura:

Chiave Tipo Obbligatorio Descrizione
mbox Stringa Nome Mbox
params Oggetto No Parametri mbox. Un oggetto di coppie chiave-valore che presenta la struttura seguente:
{ "param1": "value1", "param2": "value2"}
success Funzione Callback da eseguire quando abbiamo ricevuto una risposta dal server. La funzione di callback di successo riceverà un singolo parametro che rappresenta un array di oggetti di offerta. Esempio di callback di successo:
function handleSuccess(response){......}
per informazioni dettagliate, consulta le risposte sottostanti.
error Funzione Callback da eseguire quando visualizziamo un errore. Ci sono alcuni casi che sono considerati di errore:
  • Codice di stato HTTP diverso da 200 OK
  • La risposta non può essere analizzata. Ad esempio abbiamo generato in modo non corretto JSON o HTML invece di JSON.
  • La risposta contiene la chiave “Errore”. Ad esempio, è stata lanciata un'eccezione sull'Edge di una richiesta che non è stato possibile elaborare correttamente. Si può ricevere un errore se una mbox è bloccata e non è possibile recuperare alcun contenuto per essa, ecc. La funzione di callback di errore riceverà due parametri: stato ed errore. Ecco un esempio di callback di errore: function handleError(status, error){......}
Vedi le risposte di errore qui sotto per i dettagli.
timeout Numero No Timeout in millisecondi. Se non viene specificato, verrà utilizzato il timeout predefinito in at.js.
Il timeout predefinito può essere impostato dall’ Target interfaccia utente in Amministrazione > Implementazione.

Esempi

Aggiunta di parametri con getOffer() e utilizzo di applyOffer() per la gestione del successo:

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); 
  } 
});

Aggiunta di parametri e parametri di profilo con getOffer() e utilizzo di applyOffer () per la gestione del successo:

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); 
  } 
});

Utilizzo del timeout personalizzato e della gestione del successo personalizzato con getOffer():

“YOUR_OWN_CUSTOM_HANDLING_FUNCTION” è un segnaposto per una funzione che il cliente può definire.

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 
});

Risposte

Il parametro di risposta trasmesso al callback di successo sarà un array di azioni. Un'azione è un oggetto che in genere presenta il formato seguente:

Nome Tipo Descrizione
action Stringa Tipo di azione da applicare all'elemento identificato.
selector Stringa Rappresenta un selettore Sizzle.
cssSelector Stringa Selettore nativo DOM, utilizzato per l'elemento che consente lo stato di pre-nascosto.
content Stringa Il contenuto da applicare all'elemento identificato.

Esempio

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

Risposte di errore

I parametri “status” ed “error” trasmessi al callback di errore avranno il seguente formato:

Nome Tipo Descrizione
status Stringa Rappresenta lo stato di errore. Questo parametro può avere i seguenti valori:
  • timeout: Indica che la richiesta è scaduta.
  • parseerror: indica che la risposta non può essere analizzata, ad esempio se si riceve HTML o testo normale anziché JSON.
  • error: indica un errore generale, ad esempio se si riceve uno stato HTTP diverso da 200 OK
errore Stringa Contiene dati aggiuntivi come messaggi di eccezione o qualsiasi altra informazione utile per la risoluzione dei problemi.

In questa pagina