Inviare notifiche (Node.js)

Descrizione

sendNotifications() viene utilizzato per inviare notifiche di visualizzazione o clic a Adobe Target per la misurazione e il reporting.

NOTE
Quando un oggetto 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:

Nome
Tipo
Obbligatorio
Predefinito
richiesta
Oggetto
None (Nessuno)

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 });
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3