Cette fonction permet de récupérer plusieurs offres en transmettant plusieurs mbox. De plus, plusieurs offres peuvent être extraites pour toutes les vues des activités actives.
Cette fonction a été introduite avec at.js 2.x. Cette fonction n’est pas disponible pour at.js version 1.x.
Clé | Type | Obligatoire ? | Description |
---|---|---|---|
consumerId | Chaîne | Non | La valeur par défaut est la mbox globale du client si elle n’est pas fournie. Cette clé sert à générer l’identifiant de données supplémentaire utilisé pour l’intégration A4T. Cette clé est une chaîne unique par visiteur. |
events | Objet | Oui | Consultez les requêtes ci-dessous. |
timeout | Nombre | Non | Délai d’attente de requête. Si cette valeur n’est pas spécifiée, c’est le délai d’attente par défaut d’at.js qui sera utilisé. |
Consultez la documentation de l'API de Diffusion pour plus d'informations sur les types acceptables pour tous les champs répertoriés ci-dessous.
Nom du champ | Obligatoire ? | Limites | Description |
---|---|---|---|
request > id | Non | Un de tntId , thirdPartyId ou marketingCloudVisitorId est obligatoire. |
|
Request > id > thirdPartyId | Non | Taille maximale = 128 | |
Request > experienceCloud | Non | ||
Request > experienceCloud > analytics | Non | Intégration d’Adobe Analytics | |
Request > experienceCloud > analytics > logging | Non | Les éléments suivants doivent être implémentés sur la page :
|
Les valeurs suivantes sont prises en charge : client_ side : Lorsqu’elle est spécifiée, une charge d’analyse est renvoyée à l’appelant qui doit être utilisée pour l’envoi à Adobe Analytics via l’API d’insertion de données. Server_side : Il s’agit de la valeur par défaut dans laquelle le backend de Target et d’Analytics utilise le SDID pour regrouper les appels à des fins de génération de rapports. |
Request > prefetch | Non | ||
Request > prefetch > views | Non | Nombre maximal 50 Nom non vide Longueur du nom <= 128Longueur de la valeur <= 5000Le nom ne doit pas commencer par le « profil » Noms non autorisés : « Orderid », « ordertotal », « productpurchasedid » |
Transmettez les paramètres à utiliser pour récupérer les vues pertinentes dans les activités actives. |
Request > prefetch > views > profileParameters | Non | Nombre maximal 50 Nom non vide Longueur du nom <= 128Longueur de la valeur <= 5000Le nom ne doit pas commencer par « profil » |
Transmettez les paramètres de profil à utiliser pour récupérer les vues pertinentes dans les activités actives. |
Request > prefetch > views > product | Non | ||
Request > prefetch > views > product -> id | Non | Taille maximale non vide = 128 |
Transmettez les ID de produit à utiliser pour récupérer les vues pertinentes dans les activités actives. |
Request > prefetch > views > product > categoryId | Non | Taille maximale non vide = 128 |
Transmettre les identifiants des catégories de produits à utiliser pour récupérer les vues pertinentes dans les activités. |
Request > prefetch > views > order | Non | ||
Request > prefetch > views > order > id | Non | Longueur maximale = 250 | Transmettez les ID de commande à utiliser pour récupérer les vues pertinentes dans les activités actives. |
Request > prefetch > views > order > total | Non | Total >= 0 |
Transmettez les totaux de la commande afin qu’ils soient utilisés pour récupérer les vues pertinentes dans les activités courantes. |
Request > prefetch > views > order > purchasedProductIds | Non | Pas de valeurs vides Longueur maximale de chaque valeur 50 >Concaténée et séparée par une virgule Longueur totale des ID de produit <= 250 |
Transmettez les ID de produit achetés à utiliser pour récupérer les vues pertinentes dans les activités actives. |
Request > execute | Non | ||
Request > execute > pageLoad | Non | ||
Request > execute > pageLoad > parameters | Non | Nombre maximal 50 Nom non vide Longueur du nom <= 128Longueur de la valeur <= 5000Nom ne doit pas commencer par « profil ». Noms non autorisés : « ID de la commande », « Total de la commande », « ID du produit acheté » |
Récupérez les offres avec des paramètres spécifiés lors du chargement de la page. |
Request > execute > pageLoad > profileParameters | Non | Nombre maximum 50 Nom non vide Longueur du nom <= 128Longueur de la valeur <= 256Nom ne doit pas commencer par « profil » |
Récupérez les offres avec des paramètres de profil spécifiés lors du chargement de la page. |
Request > execute > pageLoad > product | Non | ||
Request > execute > pageLoad > product -> id | Non | Non vide Taille maximale = 128 |
Récupérez les offres avec des ID de produit spécifiés lors du chargement de la page. |
Request > execute > pageLoad > product > categoryId | Non | Non vide >Taille maximale = 128 |
Récupérez les offres avec des identifiants de catégorie de produits spécifiés lors du chargement de la page. |
Request > execute > pageLoad > order | Non | ||
Request > execute > pageLoad > order > id | Non | Longueur maximale = 250 | Récupérez les offres avec des ID de commande spécifiés lors du chargement de la page. |
Request > execute > pageLoad > order > total | Non | >= 0 |
Récupérez les offres avec des totaux de commande spécifiés lors du chargement de la page. |
Request > execute > pageLoad > order > purchasedProductIds | Non | Aucune valeur à blanc Longueur maximale de chaque valeur 50 Concaténé et séparé par une virgule Longueur totale des ID de produit <= 250 |
Récupérez les offres avec des ID de produit achetés, spécifiés lors du chargement de la page. |
Request > execute > mboxes | Non | Taille maximale = 50 Pas d’éléments nuls |
|
Request > execute > mboxes>mbox | Oui | Non vide Suffixe no ’-clicked’ Taille maximale = 250 Caractères autorisés : '-, ._\/=:;&!@#$%^&*()_+|?~[]{}' |
Nom de la mbox. |
Request > execute > mboxes>mbox>index | Oui | Non nul Unique >= 0 |
Notez que l’index ne représente pas l’ordre dans lequel les mbox seront traitées. Comme dans une page web comportant plusieurs mbox régionales, l’ordre dans lequel ils seront traités ne peut pas être spécifié. |
Request > execute > mboxes > mbox > parameters | Non | Compte maximum = 50 Nom non vide Longueur de nom <= 128Longueur de valeur <= 5 000Le nom ne doit pas commencer par « profil ». Noms non autorisés : « Orderid », « ordertotal », « productpurchasedid » |
Récupérez les offres pour une mbox donnée avec les paramètres spécifiés. |
Request > execute > mboxes>mbox>profileParameters | Non | Compte maximum = 50 Nom non vide Longueur de nom <= 128Longueur de valeur <= 256Le nom ne doit pas commencer par « profil ». |
Récupérez les offres pour une mbox donnée avec les paramètres de profil spécifiés. |
Request > execute > mboxes>mbox > product | Non | ||
Request > execute > mboxes > mbox > product > id | Non | Non vide Taille maximale = 128 |
Récupérez les offres pour une mbox donnée avec les ID de produit spécifiés. |
Request > execute > mboxes > mbox > product > categoryId | Non | Non vide Taille maximale = 128 |
Récupérez les offres pour une mbox donnée avec les identifiants de catégorie de produits spécifiés. |
Request > execute > mboxes > mbox > order | Non | ||
Request > execute > mboxes>mbox > order > id | Non | Longueur maximale = 250 | Récupérez les offres pour une mbox donnée avec les ID de commande spécifiés. |
Request > execute > mboxes > mbox > order > total | Non | >= 0 |
Récupérez les offres pour une mbox donnée avec les totaux de commande spécifiés. |
Request > execute > mboxes > mbox > order > purchasedProductIds | Non | Pas de valeur vide Longueur maximale de chaque valeur = 50 Concaténation et séparation par une virgule Longueur totale des identifiants de produit <= 250 |
Récupérez les offres pour une mbox donnée avec l’ordre spécifié des ID de produit achetés. |
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
adobe.target.getOffers({
request: {
experienceCloud: {
analytics: {
logging: "client_side"
}
},
prefetch: {
mboxes: [{
index: 0,
name: "a1-serverside-xt"
}]
}
}
})
.then(console.log)
Réponse :
{
"prefetch": {
"mboxes": [{
"index": 0,
"name": "a1-serverside-xt",
"options": [{
"content": "<img src=\"http://s7d2.scene7.com/is/image/TargetAdobeTargetMobile/L4242-xt-usa?tm=1490025518668&fit=constrain&hei=491&wid=980&fmt=png-alpha\"/>",
"type": "html",
"eventToken": "n/K05qdH0MxsiyH4gX05/2qipfsIHvVzTQxHolz2IpSCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "bucharest",
"activity.id": "167169",
"experience.name": "USA Experience",
"geo.country": "romania"
}
}],
"analytics": {
"payload": {
"pe": "tnt",
"tnta": "167169:0:0|0|100,167169:0:0|2|100,167169:0:0|1|100"
}
}
}]
}
}
La charge utile peut ensuite être transférée à Adobe Analytics via l'API d'insertion de données.
at.js 2.x vous permet de récupérer plusieurs mbox via l’getOffers()
API. Vous pouvez également récupérer des données pour plusieurs mbox, puis utiliser applyOffers()
pour effectuer le rendu des données à différents emplacements identifiés par un sélecteur CSS.
L’exemple suivant illustre une page HTML simple avec at.js 2.x implémentée :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>at.js 2.x, multiple selectors and multiple mboxes</title>
<script src="at.js"></script>
</head>
<body>
<div id="container1">Default content 1</div>
<div id="container2">Default content 2</div>
<div id="container3">Default content 3</div>
</body>
</html>
Supposons que vous ayez trois conteneurs que vous souhaitez modifier via le contenu reçu Target. Vous pouvez créer une requête unique pour trois mbox dans lesquelles chaque mbox comporte du contenu à rendre dans le conteneur correspondant.
Le code de requête et de rendu peut ressembler à l’exemple suivant :
adobe.target.getOffers({
request: {
prefetch: {
mboxes: [
{
index: 0,
name: "mbox1"
},
{
index: 1,
name: "mbox2"
},
{
index: 2,
name: "mbox3"
}
]
}
}
})
.then(response => {
// get all mboxes from response
const mboxes = response.prefetch.mboxes;
let count = 1;
mboxes.forEach(el => {
adobe.target.applyOffers({
selector: "#container" + count,
response: {
prefetch: {
mboxes: [el]
}
}
});
count += 1;
});
});
Dans la section request > prefetch > mboxes
, il existe trois mbox différentes. Si la requête a réussi, vous recevez la réponse pour chaque mbox de response > prefetch > mboxes
. Après avoir reçu les réponses et les emplacements à utiliser pour le rendu, vous pouvez invoquer applyOffers()
pour obtenir le rendu du contenu récupéré dans Target. Dans cet exemple, nous avons le mappage suivant :
Cet exemple utilise la variable count pour construire les sélecteurs CSS. Dans un scénario réel, vous pouvez utiliser un mappage différent entre le sélecteur CSS et la mbox.
Notez que cet exemple utilise prefetch > mboxes
, mais vous pouvez également utiliser execute > mboxes
. Vérifiez que si vous utilisez la prérécupération dans getOffers()
, vous devez également utiliser la prérécupération dans l’appel de applyOffers()
.
L’exemple suivant montre comment exécuter une pageLoad à l’aide de getOffers() avec at.js 2.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});