adobe.target.getOffers() - at.js 2.x
Esta función le permite recuperar varias ofertas pasando varios mboxes. Además, se pueden recuperar varias ofertas para todas las vistas de actividades activas.
consumerId
Si no se proporciona, el valor predeterminado es el mbox global del cliente. Esta clave se utiliza para generar el ID de datos suplementario (SDID) utilizado para la integración de A4T.
Al utilizar getOffers()
, cada llamada genera un SDID nuevo. Si tiene varias solicitudes de mbox en la misma página y desea conservar el SDID (de modo que coincida con el SDID de target-global-mbox y el Adobe Analytics SDID), utilice el consumerId
parámetro.
If getOffers()
incluye tres mboxes (llamados "mbox1", "mbox2" y "mbox3"), que incluyen: consumerId: "mbox1, mbox2, mbox3"
en el getOffers()
llamada.
decisioningMethod
request
timeout
Solicitud
tntId
, thirdPartyId
o marketingCloudVisitorId
es obligatorio.Se debe implementar lo siguiente en la página:
- Servicio de ID de visitante
- AppMeasurement.js
Se admiten los siguientes valores:
client_side: cuando se especifica, se devuelve una carga útil de Analytics al que ha realizado la llamada, que debe utilizarse para enviar a Adobe Analytics a través de API de inserción de datos.
server_side TargetAnalytics: Este es el valor predeterminado en el que el backend de y usará el SDID para unir las llamadas con fines de informes.
Solicitud > Captura previa
Vistas
Recuento máximo 50.
Nombre no en blanco.
Longitud del nombre <=
128.
Longitud del valor <=
5000.
El nombre no debe comenzar con "perfil".
Nombres no permitidos: "orderId", "orderTotal", "productPurchasedId".
Solicitud > Captura previa
Vistas > profileParameters
Recuento máximo 50.
Nombre no en blanco.
Longitud del nombre <=
128.
Longitud del valor <=
5000.
Solo acepta valores de cadena.
El nombre no debe comenzar con "perfil".
Solicitud > Captura previa
Vistas > Producto
Solicitud > Captura previa
Vistas > Producto > Id.
No en blanco.
tamaño máximo = 128.
Solicitud > Captura previa
Vistas > Producto > categoryId
No en blanco.
tamaño máximo = 128.
Solicitud > Captura previa
Vistas > Pedido
Solicitud > Captura previa
Vistas > Pedido > Id.
Solicitud > Captura previa
Vistas > Pedido > Total
>=
0Solicitud > Captura previa
Vistas > Pedido > purchasedProductIds
No hay valores en blanco.
Longitud máxima de cada valor 50.
Concatenado y separado por una coma.
Longitud total de ID de producto <=
250.
Recuento máximo 50.
Nombre no en blanco.
Longitud del nombre <=
128.
Longitud del valor <=
5000.
Solo acepta valores de cadena.
El nombre no debe comenzar con "perfil".
Nombres no permitidos: "orderId", "orderTotal", "productPurchasedId".
Recuento máximo 50.
Nombre no en blanco.
Longitud del nombre <=
128.
Longitud del valor <=
256.
El nombre no debe comenzar con "perfil".
Solo acepta valores de cadena.
No en blanco.
Tamaño máximo = 128.
No en blanco.
Tamaño máximo = 128.
>=
0No hay valores en blanco.
Longitud máxima de cada valor 50.
Concatenado y separado por una coma.
Longitud total de ID de producto <=
250.
Tamaño máximo = 50.
No hay elementos nulos.
No en blanco.
Sin sufijo "-clicked".
Tamaño máximo = 250.
Caracteres permitidos: `'-, ./=:;&!@#$%^&*()+
No es nulo.
Único.
>=
0.
Recuento máximo = 50.
Nombre no en blanco.
Longitud del nombre <=
128.
Solo acepta valores de cadena.
Longitud del valor <=
5000.
El nombre no debe comenzar con "perfil".
Nombres no permitidos: "orderId", "orderTotal", "productPurchasedId".
Recuento máximo = 50.
Nombre no en blanco.
Longitud del nombre <=
128.
Solo acepta valores de cadena.
Longitud del valor <=
256.
El nombre no debe comenzar con "perfil".
No en blanco.
Tamaño máximo = 128.
No en blanco.
Tamaño máximo = 128.
>=
0No hay valores en blanco.
Longitud máxima de cada valor = 50.
Concatenado y separado por una coma.
Longitud total de ID de producto <=
250.
Llamada getOffers() para todas las vistas
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
Llamada getOffers() para tomar una decisión en el dispositivo
adobe.target.getOffers({
decisioningMethod:"on-device",
request: {
execute: {
mboxes: [
{
index: 0,
name: "homepage"
}
]
}
}
});
Llamada getOffers() para recuperar las vistas más recientes con los parámetros pasado y de perfil
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
Llamada getOffers() para recuperar mboxes con parámetros y parámetros de perfil pasados.
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
Llamada getOffers() para recuperar la carga útil de analytics del lado del cliente
adobe.target.getOffers({
request: {
experienceCloud: {
analytics: {
logging: "client_side"
}
},
prefetch: {
mboxes: [{
index: 0,
name: "a1-serverside-xt"
}]
}
}
})
.then(console.log)
Respuesta:
{
"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 carga útil se puede reenviar a Adobe Analytics a través de API de inserción de datos.
Buscar y procesar datos de varios mboxes mediante getOffers() y applyOffers()
at.js 2.x le permite recuperar varios mboxes a través de la API de getOffers()
. También puede buscar datos para varios mboxes y, después, utilizar applyOffers()
para representar los datos en diferentes ubicaciones identificadas por un selector de CSS.
El siguiente ejemplo muestra una página HTML sencilla con at.js 2.x implementado:
<!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>
Supongamos que tiene tres contenedores que desea modificar a través del contenido recibido de Target. Puede construir una sola solicitud para tres mboxes en los que cada uno tiene contenido que procesar en su respectivo contenedor.
La solicitud y el código de procesamiento pueden tener el siguiente aspecto:
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;
});
});
En la sección request > prefetch > mboxes
, hay tres mboxes diferentes. Si la solicitud se completó correctamente, recibe la respuesta de response > prefetch > mboxes
para cada mbox. Una vez que tenga las respuestas y las ubicaciones que desee utilizar para la representación, puede invocar a applyOffers()
para representar el contenido obtenido de Target. En este ejemplo tenemos la siguiente asignación:
- mbox 1 > selector CSS #contenedor 1
- mbox 2 > selector CSS #contenedor 2
- mbox 3 > selector CSS #contenedor 3
Este ejemplo utiliza la variable de recuento para construir los selectores CSS. En una situación real, podría utilizar una asignación diferente entre el selector CSS y el mbox.
Tenga en cuenta que este ejemplo utiliza prefetch > mboxes
, pero también puede utilizar execute > mboxes
. Asegúrese de que, si utiliza la crga previa en getOffers()
, también debe utilizar la carga previa en la invocación de applyOffers()
.
Llamada getOffers() para realizar un pageLoad
El siguiente ejemplo muestra cómo realizar un pageLoad mediante getOffers() con at.js 2.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});