adobe.target.getOffers() - at.js 2.x
Essa função permite que você recupere várias ofertas passando em várias mboxes. Além disso, várias ofertas podem ser recuperadas para todas as exibições em atividades ativas.
consumerId
O valor padrão é a mbox global do cliente se não for fornecida. Essa chave é usada para gerar a ID de dados complementares (SDID) usada para integração A4T.
Ao usar o getOffers()
, cada chamada gera uma nova SDID. Se você tiver várias solicitações de mbox na mesma página e quiser preservar a SDID (para que corresponda à SDID da target-global-mbox e à SDID Adobe Analytics), use o parâmetro consumerId
.
Se getOffers()
incluir três mboxes (chamadas "mbox1", "mbox2" e "mbox3"), inclua: consumerId: "mbox1, mbox2, mbox3"
na chamada getOffers()
.
decisioningMethod
request
timeout
Solicitação
tntId
, thirdPartyId
ou marketingCloudVisitorId
é obrigatório.O seguinte deve ser implementado na página:
- Serviço de ID de visitante
- AppMeasurement.js
Os seguintes valores são suportados:
client_side: quando especificado, uma carga de análise será retornada ao chamador que deve ser usada para enviar a Adobe Analytics por meio de Data Insertion API.
server_side: esse é o valor padrão em que o back-end do Target e do Analytics usará a SDID para unir as chamadas para fins de relatório.
Contagem máxima 50.
Nome não vazio.
Comprimento do nome <=
128.
Comprimento do valor <=
5000.
O nome não deve começar com "perfil".
Nomes não permitidos: "orderId", "orderTotal", "productPurchasedId".
Contagem máxima 50.
Nome não vazio.
Comprimento do nome <=
128.
Comprimento do valor <=
5000.
Aceita somente valores de string.
O nome não deve começar com "perfil".
Não deixar em branco.
tamanho máximo = 128.
Não deixar em branco.
tamanho máximo = 128.
>=
0.Nenhum valor em branco.
Comprimento máximo de cada valor: 50.
Concatenado e separado por vírgula.
Tamanho total das IDs de produto: <=
250.
Contagem máxima 50.
Nome não vazio.
Comprimento do nome <=
128.
Comprimento do valor <=
5000.
Aceita somente valores de string.
O nome não deve começar com "perfil".
Nomes não permitidos: "orderId", "orderTotal", "productPurchasedId".
Contagem máxima 50.
Nome não vazio.
Comprimento do nome <=
128.
Comprimento do valor <=
256.
O nome não deve começar com "perfil".
Aceita somente valores de string.
Não deixar em branco.
Tamanho máximo = 128.
Não deixar em branco.
Tamanho máximo = 128.
>=
0.Nenhum valor em branco.
Comprimento máximo de cada valor: 50.
Concatenado e separado por vírgula.
Tamanho total das IDs de produto: <=
250.
Tamanho máximo = 50.
Nenhum elemento nulo.
Não deixar em branco.
Nenhum sufixo '-clicado'.
Tamanho máximo = 250.
Caracteres permitidos: `'-, ./=:;&!@#$%^&*()+
Não nulo.
Exclusivo.
>=
0.
Contagem máxima = 50.
Nome não vazio.
Comprimento do nome <=
128.
Aceita somente valores de string.
Comprimento do valor <=
5000.
O nome não deve começar com "perfil".
Nomes não permitidos: "orderId", "orderTotal", "productPurchasedId".
Contagem máxima = 50.
Nome não vazio.
Comprimento do nome <=
128.
Aceita somente valores de string.
Comprimento do valor <=
256.
O nome não deve começar com "perfil".
Não deixar em branco.
Tamanho máximo = 128.
Não deixar em branco.
Tamanho máximo = 128.
>=
0.Nenhum valor em branco.
Tamanho máximo de cada valor = 50.
Concatenado e separado por vírgula.
Tamanho total das IDs do produto: <=
250.
Chamada getOffers() para todas as exibições
adobe.target.getOffers({
request: {
prefetch: {
views: [{}]
}
}
});
Ligue para getOffers() para tomar uma decisão no dispositivo
adobe.target.getOffers({
decisioningMethod:"on-device",
request: {
execute: {
mboxes: [
{
index: 0,
name: "homepage"
}
]
}
}
});
Chamada getOffers() para recuperar as exibições mais recentes com os parâmetros e parâmetros do perfil transmitidos
adobe.target.getOffers({
request: {
"prefetch": {
"views": [
{
"parameters": {
"ad": "1"
},
"profileParameters": {
"age": 23
}
}
]
}
}
});
Chamada getOffers() para recuperar as mboxes com os parâmetros e parâmetros do perfil transmitidos.
adobe.target.getOffers({
request: {
execute: {
mboxes: [
{
index: 0,
name: "first-mbox"
},
{
index: 1,
name: "second-mbox",
parameters: {
a: 1
},
profileParameters: {
b: 2
}
}
]
}
}
});
Chame getOffers() para recuperar a carga de análise do cliente
adobe.target.getOffers({
request: {
experienceCloud: {
analytics: {
logging: "client_side"
}
},
prefetch: {
mboxes: [{
index: 0,
name: "a1-serverside-xt"
}]
}
}
})
.then(console.log)
Resposta:
{
"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"
}
}
}]
}
}
A carga pode ser encaminhada para Adobe Analytics por meio da API de Inserção de Dados.
Buscar e processar dados de várias mboxes via getOffers() e applyOffers()
A at.js 2.x permite buscar várias mboxes por meio da API de getOffers()
. Você também pode buscar dados de várias mboxes e, em seguida, usar o applyOffers()
para renderizá-los em diferentes locais identificados por um seletor de CSS.
O exemplo a seguir mostra uma página HTML simples com a at.js 2.x implementada:
<!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>
Suponha que você tenha três contêineres que deseja modificar por meio do conteúdo recebido do Target. É possível criar uma única solicitação para três mboxes em que cada mbox tem conteúdo para renderizar no respectivo contêiner.
A solicitação e o código de renderização podem ser semelhantes ao seguinte exemplo:
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;
});
});
Na seção request > prefetch > mboxes
, há três mboxes diferentes. Se a solicitação for concluída com sucesso, você receberá a resposta do response > prefetch > mboxes
para cada mbox. Depois de ter as respostas e os locais que deseja usar para renderização, você pode chamar applyOffers()
para renderizar o conteúdo recuperado de Target. Neste exemplo, há o seguinte mapeamento:
- mbox1 > CSS selector #container1
- mbox2 > CSS selector #container2
- mbox3 > CSS selector #container3
Este exemplo usa a variável de contagem para criar os seletores de CSS. Em um cenário real, você pode usar um mapeamento diferente entre o seletor de CSS e a mbox.
Observe que este exemplo usa prefetch > mboxes
, mas você também pode usar execute > mboxes
. Certifique-se de que, se você usar a pré-busca em getOffers()
, também deverá usá-la na invocação de applyOffers()
.
Chame getOffers() para executar um pageLoad
O exemplo a seguir mostra como executar um pageLoad usando o getOffers() com a at.js 2.x
adobe.target.getOffers({
request: {
execute: {
pageLoad: {
parameters: {}
}
}
}
});