adobe.target.getOffer(options)

Cette fonction déclenche une demande d’obtention d’une offre Target.

Utilisez avec adobe.target.applyOffer() pour traiter la réponse ou utilisez votre propre gestion de succès. Le paramètre options est obligatoire et possède la structure suivante :

Clé
Type
Requis
Description
mbox
Chaîne
Oui
Nom de mbox
params
Objet
Non

Paramètres mbox. Objet de paires clé-valeur qui possède la structure suivante :

{ "param1": "value1", "param2": "value2"}

success
Fonction
Oui

Rappel à exécuter lors de l’obtention d’une réponse du serveur. La fonction de rappel de succès reçoit un seul paramètre qui représente un tableau des objets d’offre. Voici un exemple de rappel de succès :

function handleSuccess(response){......}

Pour plus d’informations, voir les réponses ci-dessous.

error
Fonction
Oui

Rappel à exécuter lors d’une erreur. Quelques cas sont considérés comme des erreurs :

  • Le code d’état HTTP est différent de 200 OK.
  • La réponse ne peut pas être analysée. Par exemple, le code JSON a été mal créé ou du code HTML a été utilisé à la place de JSON.
  • La réponse contient la clé error. Par exemple, une exception a été levée à la périphérie car une demande n’a pas pu être correctement traitée. Nous pourrions obtenir une erreur lorsqu’une mbox est bloquée et que nous ne parvenons pas à récupérer du contenu pour celle-ci, etc. La fonction de rappel d’erreur recevra deux paramètres : statut et erreur. Voici un exemple de rappel d’erreur : function handleError(status, error){......}

Pour plus d’informations, voir les réponses d’erreur ci-dessous.

timeout
Nombre
Non

Délai d’attente exprimé en secondes. Si cette valeur n’est pas spécifiée, le délai d’expiration par défaut d’at.js est utilisé.

Le délai d’expiration par défaut peut être défini dans l’interface utilisateur de Target sous Administration > Implémentation.

Exemples

Ajout de paramètres avec getOffer() et utilisation de applyOffer() pour la gestion des succès :

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

Ajout de paramètres et de paramètres de profil avec getOffer() et utilisation de applyOffer() pour la gestion des succès :

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

Utilisation d’une temporisation et d’une gestion des succès personnalisées avec getOffer() :

« YOUR_OWN_CUSTOM_HANDLING_FUNCTION » est un espace réservé pour une fonction définie par le client.

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

Réponses

Le paramètre de la réponse transféré au rappel de succès correspondra à un tableau d’actions. Une action est un objet qui a généralement le format suivant :

Nom
Type
Description
action
Chaîne
Type d’action à appliquer à l’élément identifié.
selector
Chaîne
Représente un sélecteur de fichier sizzle.
cssSelector
Chaîne
Sélecteur de modèle DOM natif, utilisé pour le prémasquage des éléments.
content
Chaîne
Le contenu à appliquer à l’élément identifié.

Exemple

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

Réponses d’erreur

Les paramètres status et error transmis au rappel d’erreur possèdent le format suivant :

Nom
Type
Description
status
Chaîne

Représente l’état d’erreur. Ce paramètre peut avoir les valeurs suivantes :

  • timeout : indique que la demande a expiré.
  • parseerror : indique que l’erreur n’a pas pu être analysée, par exemple, si nous recevons le code HTML ou un texte brut au lieu du code JSON.
  • error : indique une erreur générale, telle que la réception d’un état HTTP différent de 200 OK
error
Chaîne
Contient des données supplémentaires telles qu’un message d’exception ou tout autre élément utile pour la résolution des problèmes.
recommendation-more-help
target-dev-help-dev