adobe.target.getOffer(options)

Esta função envia uma solicitação para obter uma oferta do Target.

Use com adobe.target.applyOffer() para processar a resposta ou use sua própria manipulação de sucesso. O parâmetro de opções é obrigatório e tem a seguinte estrutura:

Chave Tipo Obrigatório Descrição
mbox String Sim Nome da mbox
params Objeto Não Parâmetros de mbox. Um objeto de pares de valores-chave que tem a seguinte estrutura:
{ "param1": "value1", "param2": "value2"}
success Função Sim Retorno de chamada para execução quando recebemos uma resposta do servidor. A função de retorno de chamada bem-sucedida receberá um único parâmetro que represente uma variedade de objetos em oferta. Este é um exemplo de retorno de chamada:
function handleSuccess(response){......}
Consulte Respostas abaixo para obter detalhes.
error Função Sim Retorno de chamada para execução quando recebemos um erro. Há alguns casos que são considerados errôneos:
  • Código do status de HTTP diferente de 200 OK
  • Não foi possível analisar a resposta. Por exemplo, nós mal construímos JSON ou HTML ao invés de JSON.
  • A resposta contém a tecla "erro". Por exemplo, uma exceção foi lançada no Edge e não foi possível processar a solicitação apropriadamente. Podemos receber um erro quando uma mbox está bloqueada e não é possível recuperar o conteúdo dela, etc. A função de retorno de chamada de erro receberá dois parâmetros: status e erro. Veja um exemplo de retorno de chamada de erro: function handleError(status, error){......}
Veja as respostas com erro abaixo para obter mais informações.
timeout Número Não Tempo limite em milissegundos. Se não especificado, o tempo limite padrão em at.js será utilizado.
O tempo limite padrão pode ser definido na Target interface em Administração > Implementação.

Exemplos

Adicionar parâmetros com getOffer() e usar applyOffer() para método bem-sucedido:

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

Adicionar parâmetros e parâmetros de perfil com getOffer() e usar applyOffer() para método bem-sucedido:

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

Usar tempo limite personalizado e método bem-sucedido personalizado com getOffer():

"YOUR_OWN_CUSTOM_HANDLING_FUNCTION" é um placeholder para uma função que o cliente definiria.

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

Respostas

O parâmetro de resposta passado para o retorno de chamada de sucesso será uma variedade de ações. Uma ação é um objeto que geralmente tem o seguinte formato:

Nome Tipo Descrição
action String Tipo de ação a ser aplicada ao elemento identificado.
selector Sequência Representa um seletor do Sizzle.
cssSelector String Seletor nativo DOM, usado para pré-ocultação de elemento.
content String O conteúdo a ser aplicado ao elemento identificado.

Exemplo

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

Respostas de erro

Os parâmetros "status" e "erro" passados para o retorno de chamada de erro terão o seguinte formato:

Nome Tipo Descrição
status String Representa o status do erro. Este parâmetro pode ter os seguintes valores:
  • timeout: Indica que o tempo limite para a solicitação foi excedido.
  • parseerror: Indica que a resposta não pôde ser analisada, por exemplo, se recebermos um texto HTML ou sem formatação em vez de JSON.
  • error: Indica um erro geral, como o recebimento do status HTTP diferente de 200 OK
error String Contém dados adicionais, como mensagem de exceção ou qualquer outra coisa que possa ser útil para solução de problemas.

Nesta página