Inviare notifiche (Node.js)
Descrizione
sendNotifications()
viene utilizzato per inviare notifiche di visualizzazione o clic a Adobe Target per la misurazione e il reporting.
execute
con parametri obbligatori si trova all'interno della richiesta stessa, l'impression verrà incrementata automaticamente per le attività idonee.I metodi SDK che incrementano automaticamente un’impression sono:
getOffers()
getAttributes()
Quando un oggetto prefetch
viene passato all'interno della richiesta, l'impression non viene incrementata automaticamente per le attività con mbox all'interno dell'oggetto prefetch
. sendNotifications()
deve essere utilizzato per le esperienze preacquisite per incrementare impressioni e conversioni.
Metodo
creare
TargetClient.sendNotifications(options: Object): Promise
Parametri
options
ha la seguente struttura:
Esempio
Innanzitutto, compiliamo la richiesta API di consegna Ddi Target per preacquisire il contenuto per le mbox home
e product1
.
Node.js
const prefetchMboxesRequest = {
prefetch: {
mboxes: [
{ name: "home" },
{ name: "product1" }
]
}
};
// Next, we fetch the offers via Target Node.js SDK getOffers() API
const targetResponse = await targetClient.getOffers({ request: prefetchMboxesRequest });
In caso di esito positivo, la risposta conterrà un oggetto di risposta Target Delivery API contenente contenuto prerecuperato per le mbox richieste. Un oggetto targetResponse.response
di esempio potrebbe essere visualizzato come segue:
Node.js
{
"status": 200,
"requestId": "e8ac2dbf5f7d4a9f9280f6071f24a01e",
"id": {
"tntId": "08210e2d751a44779b8313e2d2692b96.21_27"
},
"client": "adobetargetmobile",
"edgeHost": "mboxedge21.tt.omtrdc.net",
"prefetch": {
"mboxes": [
{
"index": 0,
"name": "home",
"options": [
{
"type": "html",
"content": "HOME OFFER",
"eventToken": "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "dublin",
"activity.id": "302740",
"experience.name": "Experience B",
"geo.country": "ireland"
}
}
],
"state": "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
},
{
"index": 1,
"name": "product1",
"options": [
{
"type": "html",
"content": "TEST OFFER 1",
"eventToken": "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==",
"responseTokens": {
"profile.memberlevel": "0",
"geo.city": "dublin",
"activity.id": "302740",
"experience.name": "Experience B",
"geo.country": "ireland"
}
}
],
"state": "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
}
]
}
}
Prendere nota dei campi mbox name
e state
, nonché del campo eventToken
, in ciascuna delle opzioni di contenuto Target. Questi devono essere forniti nella richiesta sendNotifications()
, non appena viene visualizzata ogni opzione di contenuto. Supponiamo che la mbox product1
sia stata visualizzata su un dispositivo non browser. La richiesta di notifica verrà visualizzata come segue:
Node.js
const mboxNotificationRequest = {
notifications: [{
id: "1",
timestamp: Date.now(),
type: "display",
mbox: {
name: "product1",
state: "J+W1Fq18hxliDDJonTPfV0S+mzxapAO3d14M43EsM9f12A6QaqL+E3XKkRFlmq9U"
},
tokens: [ "t0FRvoWosOqHmYL5G18QCZNWHtnQtQrJfmRrQugEa2qCnQ9Y9OaLL2gsdrWQTvE54PwSz67rmXWmSnkXpSSS2Q==" ]
}]
};
Nella risposta di preacquisizione sono stati inclusi sia lo stato mbox che il token evento corrispondente all'offerta Target distribuita. Dopo aver generato la richiesta di notifiche, è possibile inviarla a Target tramite il metodo API sendNotifications()
:
Node.js
const notificationResponse = await targetClient.sendNotifications({ request: mboxNotificationRequest });