DocumentazioneGuida per gli sviluppatori di Target

adobe.target.getOffers() - at.js 2.x

Ultimo aggiornamento: 20 luglio 2024
  • Argomenti:

Creato per:

  • Sviluppatore

Questa funzione ti consente di recuperare più offerte passando più mbox. Inoltre, è possibile recuperare più offerte per tutte le visualizzazioni nelle attività attive.

NOTA
Questa funzione è stata introdotta con at.js 2.x e non è disponibile per at.js versione 1.x.
ChiaveTipoObbligatorioDescrizione
consumerIdStringaNo

Il valore predefinito è la mbox globale del client, se non specificato. Questa chiave viene utilizzata per generare l’ID dati supplementare (SDID) utilizzato per l’integrazione di A4T.

Quando si utilizza getOffers(), ogni chiamata genera un nuovo SDID. Se sulla stessa pagina sono presenti più richieste mbox e desideri mantenere l'SDID (in modo che corrisponda all'SDID di target-global-mbox e all'SDID Adobe Analytics), utilizza il parametro consumerId.

Se getOffers() include tre mbox (denominate "mbox1", "mbox2" e "mbox3"), includere: consumerId: "mbox1, mbox2, mbox3" nella chiamata getOffers().

decisioningMethodStringaNo"lato server", "su dispositivo", "ibrido"
requestOggettoSìVedi la tabella Richieste di seguito.
timeoutNumeroNoTimeout richiesta. Se non specificato, si utilizza il timeout predefinito di at.js.

Richiesta

NOTA
Consulta la documentazione sulle API di consegna per informazioni sui tipi accettabili per tutti i campi elencati di seguito.
Nome campoObbligatorioLimitazioniDescrizione
request > idNoUno tra tntId, thirdPartyId e marketingCloudVisitorId è obbligatorio.
Request > id > thirdPartyIdNoDimensione massima = 128.
Request > experienceCloudNo
Request > experienceCloud > analyticsNoIntegrazione di Adobe Analytics
Request > experienceCloud > analytics > loggingNo

I seguenti elementi devono essere implementati sulla pagina:

  • Servizio ID visitatori
  • Appmeasurement.js

Sono supportati i seguenti valori:

client_side: se specificato, verrà restituito un payload di Analytics al chiamante che deve essere utilizzato per inviare a Adobe Analytics tramite Data Insertion API.

lato server: questo è il valore predefinito, in cui il backend Target e Analytics utilizzeranno l'identificatore SDID per unire le chiamate a scopo di reporting.

Request > prefetchNo
Request > prefetch > viewsNo

Numero massimo: 50.

Nome non vuoto.

Lunghezza nome <= 128.

Lunghezza valore <= 5000.

Il nome non deve iniziare con "profile".

Nomi non consentiti: "orderId", "orderTotal", "productPurchasedId".

Passa i parametri da utilizzare per recuperare le visualizzazioni rilevanti nelle attività attive.
Request > prefetch > views > profileParametersNo

Numero massimo: 50.

Nome non vuoto.

Lunghezza nome <= 128.

Lunghezza valore <= 5000.

Accetta solo valori String.

Il nome non deve iniziare con "profile".

Passa i parametri di profilo da utilizzare per recuperare le visualizzazioni rilevanti nelle attività attive.
Request > prefetch > views > productNo
Request > prefetch > views > product -> idNo

Non vuoto.

dimensione massima = 128.

Passa gli ID prodotto da utilizzare per recuperare le visualizzazioni rilevanti nelle attività attive.
Request > prefetch > views > product > categoryIdNo

Non vuoto.

dimensione massima = 128.

Passa gli ID categoria prodotto da utilizzare per recuperare le visualizzazioni rilevanti nelle attività attive.
Request > prefetch > views > orderNo
Request > prefetch > views > order > idNoLunghezza massima = 250.Passa gli ID ordine da utilizzare per recuperare le visualizzazioni rilevanti nelle attività attive.
Request > prefetch > views > order > totalNoTotale >= 0.Passa i totali dell’ordine da utilizzare per recuperare le visualizzazioni rilevanti nelle attività attive.
Request > prefetch > views > order > purchasedProductIdsNo

Nessun valore vuoto.

Lunghezza massima di ogni valore: 50.

Concatenato e separato da virgole.

Lunghezza totale ID prodotto <= 250.

Passa gli ID prodotti acquistati da utilizzare per recuperare le visualizzazioni rilevanti nelle attività attive.
Request > executeNo
Request > execute > pageLoadNo

Request > execute > pageLoad

parameters

No

Numero massimo: 50.

Nome non vuoto.

Lunghezza nome <= 128.

Lunghezza valore <= 5000.

Accetta solo valori String.

Il nome non deve iniziare con "profile".

Nomi non consentiti: "orderId", "orderTotal", "productPurchasedId".

Recupera le offerte con i parametri specificati al caricamento della pagina.

Request > execute > pageLoad

profileParameters

No

Numero massimo: 50.

Nome non vuoto.

Lunghezza nome <= 128.

Lunghezza del valore <=256.

Il nome non deve iniziare con "profile".

Accetta solo valori String.

Recupera le offerte con i parametri del profilo specificati al caricamento della pagina.

Request > execute > pageLoad

product

No

Request > execute > pageLoad

product -> id

No

Non vuoto.

Dimensione massima = 128.

Recupera le offerte con gli ID prodotto specificati al caricamento della pagina.

Request > execute > pageLoad

product > categoryId

No

Non vuoto.

Dimensione massima = 128.

Recupera le offerte con gli ID categoria prodotto specificati al caricamento della pagina.

Request > execute > pageLoad

order

No

Request > execute > pageLoad

order > id

NoLunghezza massima = 250.Recupera le offerte con gli ID ordine specificati al caricamento della pagina.

Request > execute > pageLoad

order > total

No>= 0Recupera le offerte con i totali dell’ordine specificati al caricamento della pagina.

Request > execute > pageLoad

order > purchasedProductIds

No

Nessun valore vuoto.

Lunghezza massima di ogni valore: 50.

Concatenato e separato da virgole.

Lunghezza totale ID prodotto <= 250.

Recupera le offerte con gli ID prodotti acquistati specificati al caricamento della pagina.
Request > execute > mboxesNo

Dimensione massima = 50.

Nessun elemento null.

Request > execute > mboxes>mboxSì

Non vuoto.

Nessun suffisso "-clicked".

Dimensione massima = 250.

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

?~[]{}'`
Request > execute > mboxes>mbox>indexSì

Non nulle.

Univoco.

>= 0

Nota che l’indice non rappresenta l’ordine di elaborazione delle mbox. Come in una pagina web con diverse mbox regionali, non è possibile specificarne l’ordine di elaborazione.
Request > execute > mboxes > mbox > parametersNo

Numero massimo = 50.

Nome non vuoto.

Lunghezza nome <= 128.

Accetta solo valori String.

Lunghezza valore <= 5000.

Il nome non deve iniziare con "profile".

Nomi non consentiti: "orderId", "orderTotal", "productPurchasedId".

Recupera le offerte per una data mbox con i parametri specificati.
Request > execute > mboxes>mbox>profileParametersNo

Numero massimo = 50.

Nome non vuoto.

Lunghezza nome <= 128.

Accetta solo valori String.

Lunghezza del valore <=256.

Il nome non deve iniziare con "profile".

Recupera le offerte per una data mbox con i parametri del profilo specificati.
Request > execute > mboxes>mbox > productNo
Request > execute > mboxes > mbox > product > idNo

Non vuoto.

Dimensione massima = 128.

Recupera le offerte per una data mbox con gli ID prodotto specificati.
Request > execute > mboxes > mbox > product > categoryIdNo

Non vuoto.

Dimensione massima = 128.

Recupera le offerte per una data mbox con gli ID categoria prodotto specificati.
Request > execute > mboxes > mbox > orderNo
Request > execute > mboxes>mbox > order > idNoLunghezza massima = 250.Recupera le offerte per una data mbox con gli ID dell’ordine specificati.
Request > execute > mboxes > mbox > order > totalNo>= 0Recupera le offerte per una data mbox con i totali dell’ordine specificati.
Request > execute > mboxes > mbox > order > purchasedProductIdsNo

Nessun valore vuoto.

Lunghezza massima di ogni valore = 50.

Concatenato e separato da virgole.

Lunghezza totale ID prodotto <= 250.

Recupera le offerte per una data mbox con gli ID dei prodotti acquistati dell’ordine specificati.

Richiama getOffers() per tutte le visualizzazioni

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

Chiama getOffers() per prendere decisioni su dispositivo

adobe.target.getOffers({

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

Richiama getOffers() per recuperare le visualizzazioni più recenti con i parametri e i parametri del profilo passati

adobe.target.getOffers({
  request: {
    "prefetch": {
      "views": [
        {
          "parameters": {
            "ad": "1"
          },
          "profileParameters": {
            "age": 23
          }
        }
      ]
    }
  }
});

Richiama getOffers() per recuperare mbox con parametri e parametri di profilo passati.

adobe.target.getOffers({
  request: {
    execute: {
      mboxes: [
        {
          index: 0,
          name: "first-mbox"
        },
        {
          index: 1,
          name: "second-mbox",
          parameters: {
            a: 1
          },
          profileParameters: {
            b: 2
          }
        }
      ]
    }
  }
});

Chiama getOffers() per recuperare il payload di Analytics dal lato client

adobe.target.getOffers({
      request: {
        experienceCloud: {
          analytics: {
            logging: "client_side"
          }
        },
        prefetch: {
          mboxes: [{
            index: 0,
            name: "a1-serverside-xt"
          }]
        }
      }
    })
    .then(console.log)

Risposta:

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

Il payload può quindi essere inoltrato a Adobe Analytics tramite l'API di inserimento dati.

Recupera ed esegui il rendering di dati da più mbox tramite getOffers() e applyOffers()

at.js 2.x consente di recuperare più mbox tramite l’API getOffers(). Puoi anche recuperare dati per più mbox e quindi utilizzare applyOffers() per eseguire il rendering dei dati in posti diversi identificati da un selettore CSS.

L’esempio seguente mostra una semplice pagina HTML con at.js 2.x implementata:

<!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>

Supponi di disporre di tre contenitori che desideri modificare tramite il contenuto ricevuto da Target. Puoi creare una singola richiesta per tre mbox in cui ogni mbox ha del contenuto da riprodurre nel rispettivo contenitore.

La richiesta e il codice di rendering possono avere il seguente aspetto:

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

Nella sezione request > prefetch > mboxes sono disponibili tre mbox diverse. Riceverai la risposta per ogni mbox da response > prefetch > mboxes se la richiesta è stata completata con successo. Una volta che possiedi le risposte e le posizioni da utilizzare per il rendering, puoi richiamare applyOffers() per riprodurre il contenuto recuperato da Target. In questo esempio abbiamo la seguente mappatura:

  • mbox1 > Selettore CSS #container1
  • mbox2 > Selettore CSS #container2
  • mbox3 > Selettore CSS #container3

Questo esempio utilizza la variabile count per creare i selettori CSS. In uno scenario reale puoi utilizzare una mappatura diversa tra il selettore CSS e la mbox.

Questo esempio utilizza prefetch > mboxes, ma puoi anche utilizzare execute > mboxes. Se utilizzi la preacquisizione in getOffers(), devi anche usare la preacquisizione nella chiamata di applyOffers().

Chiamare getOffers() per eseguire un pageLoad

L'esempio seguente mostra come eseguire un pageLoad utilizzando getOffers() con at.js 2.x

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