Show Menu
ARGOMENTI×

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
error
Stringa
Contiene dati aggiuntivi come messaggi di eccezione o qualsiasi altra informazione utile per la risoluzione dei problemi.