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.

NOTE
Essa função foi introduzida com a at.js 2.x. Essa função não está disponível para a at.js versão 1.x.
Chave
Tipo
Obrigatório?
Descrição
consumerId
String
Não

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 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 da Adobe Analytics SDID), use o consumerId parâmetro.

Se getOffers() O inclui três mboxes (chamadas de "mbox1", "mbox2" e "mbox3") e incluem: consumerId: "mbox1, mbox2, mbox3" no getOffers() chame.

decisioningMethod
String
Não
"lado do servidor", "no dispositivo", "híbrido"
request
Objeto
Sim
Consulte Tabela de solicitações abaixo.
timeout
Número
Não
Tempo limite da solicitação. Se não for especificado, o tempo limite padrão da at.js será usado.

Solicitação

NOTE
Consulte o Documentação da API de entrega para obter informações sobre os tipos aceitáveis para todos os campos listados abaixo.
Nome do campo
Obrigatório?
Limitações
Descrição
solicitação > id
Não
Um de tntId, thirdPartyId ou marketingCloudVisitorId é obrigatório.
Solicitação > id > thirdPartyId
Não
Tamanho máximo = 128
Request > experienceCloud
Não
Request > experienceCloud > analytics
Não
Integração do Adobe Analytics
Request > experienceCloud > analytics > logging
Não

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 para Adobe Analytics por meio da API de inserção de dados.

server_side ​TargetAnalytics: esse é o valor padrão em que o back-end do e do usará a SDID para unir as chamadas para fins de relatório.

Solicitação > pré-busca
Não
Solicitação > pré-busca > exibições
Não

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".

Transmita os parâmetros a serem usados para recuperar exibições relevantes nas atividades ativas.
Solicitação > pré-busca > exibições > profileParameters
Não

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".

Transmita os parâmetros a serem usados para recuperar exibições relevantes nas atividades ativas.
Solicitação > pré-busca > exibições > produto
Não
Solicitação > pré-busca > exibições > produto -> id
Não

Não deixar em branco.

tamanho máximo = 128.

Transmita as IDs do produto a serem usadas para recuperar exibições relevantes nas atividades ativas.
Solicitação > pré-busca > exibições > produto > categoryId
Não

Não deixar em branco.

tamanho máximo = 128.

Transmita as IDs de categoria do produto a serem usadas para recuperar exibições relevantes nas atividades.
Solicitação > pré-busca > exibições > ordem
Não
Solicitação > pré-busca > exibições > ordem > id
Não
Tamanho máximo = 250
Transmita as IDs da ordem a serem usadas para recuperar exibições relevantes nas atividades ativas.
Solicitação > pré-busca > exibições > ordem > total
Não
Total>= 0
Transmita os totais da ordem a serem usados para recuperar exibições relevantes nas atividades ativas.
Solicitação > pré-busca > exibições > ordem > purchasedProductIds
Não

Nenhum valor em branco.

Comprimento máximo de cada valor: 50.

Concatenado e separado por vírgula.

Tamanho total das IDs de produto <= 250.

Transmita as IDs do produto adquirido a serem usadas para recuperar exibições relevantes nas atividades ativas.
Solicitação > executar
Não
Solicitação > executar > pageLoad
Não
Solicitação > executar > pageLoad > parâmetros
Não

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".

Recupere as ofertas com os parâmetros especificados quando a página for carregada.
Solicitação > executar > pageLoad > profileParameters
Não

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.

Recupere as ofertas com os parâmetros do perfil especificados quando a página for carregada.
Solicitação > executar > pageLoad > produto
Não
Solicitação > executar > pageLoad > produto -> id
Não

Não deixar em branco.

Tamanho máximo = 128.

Recupere as ofertas com as IDs do produto especificadas quando a página for carregada.
Solicitação > executar > pageLoad > produto > categoryId
Não

Não deixar em branco.

Tamanho máximo = 128.

Recupere as ofertas com as IDs de categoria do produto especificadas quando a página for carregada.
Solicitação > executar > pageLoad > ordem
Não
Solicitação > executar > pageLoad > order > id
Não
Tamanho máximo = 250
Recupere as ofertas com as IDs da ordem especificadas quando a página for carregada.
Solicitação > executar > pageLoad > ordem > total
Não
>= 0
Recupere as ofertas com os totais da ordem especificados quando a página for carregada.
Solicitação > executar > pageLoad > ordem > purchasedProductIds
Não

Nenhum valor em branco.

Comprimento máximo de cada valor: 50.

Concatenado e separado por vírgula.

Tamanho total das IDs de produto <= 250.

Recupere as ofertas com as IDs do produto adquirido especificadas quando a página for carregada.
Solicitação > executar > mboxes
Não

Tamanho máximo = 50.

Nenhum elemento nulo.

Solicitação > executar > mboxes > mbox
Sim

Não deixar em branco.

Nenhum sufixo '-clicado'.

Tamanho máximo = 250.

Caracteres permitidos: `'-, ./=:;&!@#$%^&*()+

?~[]{}'`
Solicitação > executar > mboxes > mbox > índice
Sim

Não nulo.

Exclusivo.

>= 0.

Observe que o índice não representa a ordem em que as mboxes serão processadas. Da mesma forma que em uma página da Web com diversas mboxes regionais, a ordem em que serão processadas não pode ser especificada.
Solicitação > executar > mboxes > mbox > parâmetros
Não

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".

Recupere as ofertas de determinada mbox com os parâmetros especificados.
Solicitação > executar > mboxes > mbox > profileParameters
Não

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".

Recupere as ofertas de determinada mbox com os parâmetros do perfil especificados.
Solicitação > executar > mboxes > mbox > produto
Não
Solicitação > executar > mboxes > mbox > produto > id
Não

Não deixar em branco.

Tamanho máximo = 128.

Recupere as ofertas de determinada mbox com as IDs do produto especificadas.
Solicitação > executar > mboxes > mbox > produto > categoryId
Não

Não deixar em branco.

Tamanho máximo = 128.

Recupere as ofertas de determinada mbox com as IDs de categoria do produto especificadas.
Solicitação > executar > mboxes > mbox > ordem
Não
Solicitação > executar > mboxes > mbox > ordem > id
Não
Tamanho máximo = 250
Recupere as ofertas de determinada mbox com as IDs da ordem especificadas.
Solicitação > executar > mboxes > mbox > ordem > total
Não
>= 0
Recupere as ofertas de determinada mbox com os totais da ordem especificados.
Solicitação > executar > mboxes > mbox > ordem > purchasedProductIds
Não

Nenhum valor em branco.

Tamanho máximo de cada valor = 50.

Concatenado e separado por vírgula.

Tamanho total das IDs de produto <= 250.

Recupere as ofertas de determinada mbox com as IDs do produto adquirido da ordem especificadas.

Chame getOffers() para todas as exibições

adobe.target.getOffers({
    request: {
      prefetch: {
        views: [{}]
    }
  }
});

Chame getOffers() para tomar uma decisão no dispositivo

adobe.target.getOffers({

  decisioningMethod:"on-device",
  request: {
    execute: {
      mboxes: [
        {
          index: 0,
          name: "homepage"
        }
      ]
    }
 }
});

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

Chame 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 do analytics no 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 renderizar 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 getOffers() com a at.js 2.x

adobe.target.getOffers({
    request: {
        execute: {
            pageLoad: {
                parameters: {}
            }
        }
    }
});
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3