[Alpha]{class="badge informative"}

sendEvent (Server-SDK)

Auf dieser Seite wird die ServerSDK-sendEvent beschrieben. Informationen zu Web SDK finden Sie unter sendEvent.

Die sendEvent Methode ist die primäre Möglichkeit, Daten von Ihrem -Server an Adobe zu senden. Das Ergebnis ist auch, wie Sie personalisierte Inhalte abrufen. Verwenden Sie das xdm -Objekt zum Senden von Daten, die Ihrem Adobe Experience Platform-Schema zugeordnet sind, und das data -Objekt zum Senden anderer Daten.

Rufen Sie sendEvent am forRequest-Handle für den aktuellen Besucher auf, nachdem configure aufgelöst wurde:

const visitor = alloy.forRequest({ request: req });

const result = await visitor.sendEvent({
  type: "commerce.purchases",
  xdm: {
    identityMap: {
      Email: [{ id: "visitor@example.com", primary: true }]
    },
    commerce: {
      purchases: { value: 1 },
      order: {
        purchaseID: "a8g784hjq1mnp3",
        currencyCode: "USD",
        priceTotal: 999.98
      }
    }
  },
  data: {
    loyaltyTier: "gold"
  },
  personalization: {
    decisionScopes: ["order-confirmation-offer"]
  },
  edgeConfigOverrides: {
    com_adobe_analytics: {
      reportSuites: ["examplersid1"]
    }
  }
});

Die SDK sendet jedes Ereignis unter server.adobedc.net an die authentifizierte Edge Network-Server-API. Siehe Authentifizierung.

Anforderungen requirements

  • Primäre Identität: Jedes Ereignis muss eine primäre Identität in xdm.identityMap enthalten. Ist dies nicht der Fall, lehnt der Edge Network das Ereignis ab. Siehe xdm.
  • Size: Die von SDK gesendete Anfrage kann bis zu 64 KB groß sein. Siehe Leitplanken in der Dokumentation zur Edge Network-API.
  • Einverständnis: Wenn der Besucher sich abgemeldet hat oder defaultConsent "out" ist und der Besucher sich nicht angemeldet hat, wird sendEvent mit einem leeren Objekt aufgelöst, ohne etwas zu senden.

Optionen options

Option
Typ
Beschreibung
xdm
Objekt
Daten, die Ihrem XDM-Schema entsprechen, einschließlich der Identitäten des Ereignisses.
data
Objekt
Daten, die nicht Ihrem XDM-Schema entsprechen.
type
Zeichenfolge
Der Ereignistyp. Eine Abkürzung für xdm.eventType.
personalization
Objekt
Die anzufragenden Personalisierungsentscheidungen.
decisionScopes
Zeichenfolgen-Array
Die Entscheidungsumfänge, die angefordert werden sollen. Eine Alternative zu personalization.decisionScopes.
edgeConfigOverrides
Objekt
Datenstrom überschreibt nur für dieses Ereignis.

Wenn Sie eine Option übergeben, die SDK nicht erkennt, lehnt sendEvent mit einem Unknown field ab.

Optionen, die sich nicht auf einen Server auswirken no-effect

Der SDK-Server akzeptiert die folgenden Web-SDK-Optionen, damit Sie Ereigniserstellungs-Code für eine Browser-Implementierung freigeben können. Sie sind jedoch von einem Browser abhängig und haben keine Auswirkungen auf den Server:

  • renderDecisions: SDK rendert nie Inhalte. Stattdessen werden Vorschläge im Ergebnis zurückgegeben.
  • personalization.sendDisplayEvent, personalization.includeRenderedPropositions, personalization.defaultPersonalizationEnabled und personalization.decisionContext.
  • advertising.

Setzen Sie documentUnloading nicht auf einen Server. Dies gilt nicht außerhalb eines Browsers. Bei Besucherinnen und Besuchern, die bereits über eine Identität verfügen, sendet die SDK das Ereignis als nicht authentifizierte Anfrage an die edgeDomain und nicht an die authentifizierte Server-API. Dieser Endpunkt gibt keine Antwort zurück, sodass sendEvent keine Vorschläge zurückgibt.

Die veralteten datasetId- und mergeId werden weiterhin akzeptiert. Verwenden Sie com_adobe_experience_platform.datasets.event.datasetId anstelle von datasetId in edgeConfigOverrides.

Ergebnisobjekt result

Die sendEvent Methode gibt eine Zusage zurück. Siehe Ergebnisse ​. Wenn die Zusage aufgelöst wird, kann das Ergebnisobjekt die folgende Eigenschaft enthalten:

  • propositions: Ein Array von Personalisierungsvorschlägen, die der Edge Network für die Bereiche und Oberflächen zurückgegeben hat, die Sie mit personalization angefordert haben. Diese Eigenschaft ist nur vorhanden, wenn Sie eine Personalisierung anfordern. Der SDK rendert Vorschläge nicht und markiert sie nicht als gerendert.

Wenn Sie keine Personalisierung anfordern oder das Ereignis aufgrund von Einverständnis oder onBeforeEventSend nicht gesendet wird, ist das Ergebnis ein leeres Objekt.

const { propositions = [] } = await visitor.sendEvent({
  xdm: {
    eventType: "decisioning.propositionFetch",
    identityMap: {
      Email: [{ id: "visitor@example.com", primary: true }]
    }
  },
  personalization: {
    surfaces: ["web://example.com/home"]
  }
});

Im Gegensatz zur Web-SDK enthält das Ergebnis nie inferences oder destinations.

recommendation-more-help
experience-platform-help-collection