Esta página describe el método Server SDK sendEvent. Para Web SDK, consulte sendEvent.
El método sendEvent es la forma principal de enviar datos a Adobe desde el servidor. Su resultado también es la forma de recuperar contenido personalizado. Utilice el objeto xdm para enviar datos que se asignan al esquema de Adobe Experience Platform, y el objeto data para enviar otros datos.
Llamar a sendEvent en el identificador forRequest del visitante actual, después de que configure resuelva:
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"]
}
}
});
SDK envía cada evento a la API de servidor de Edge Network autenticada en server.adobedc.net. Ver Autenticación.
Requisitos requirements
- Identidad principal: cada evento debe incluir una identidad principal en
xdm.identityMap. Si no es así, Edge Network rechaza el evento. Verxdm. - Tamaño: la solicitud que envía SDK puede tener hasta 64 KB. Consulte Protecciones en la documentación de la API de Edge Network.
- Consentimiento: si el visitante se ha excluido, o
defaultConsentes"out"y el visitante no se ha suscrito,sendEventse resuelve con un objeto vacío sin enviar nada.
Opciones options
personalization.decisionScopes.Si pasa una opción que SDK no reconoce, sendEvent rechaza con un error Unknown field.
Opciones que no afectan a un servidor no-effect
Server SDK acepta las siguientes opciones de Web SDK para que pueda compartir código de creación de eventos con una implementación de explorador. Sin embargo, dependen de un explorador y no tienen ningún efecto en el servidor:
renderDecisions: SDK nunca procesa el contenido. En su lugar, devuelve propuestas en el resultado.personalization.sendDisplayEvent,personalization.includeRenderedPropositions,personalization.defaultPersonalizationEnabledypersonalization.decisionContext.advertising.
No configure documentUnloading en un servidor. No se aplica fuera de un explorador. Para los visitantes que ya tienen una identidad, hace que SDK envíe el evento como una solicitud no autenticada a edgeDomain en lugar de a la API del servidor autenticado. Ese extremo no devuelve una respuesta, por lo que sendEvent no devuelve propuestas.
Se siguen aceptando las opciones obsoletas datasetId y mergeId. En lugar de datasetId, use com_adobe_experience_platform.datasets.event.datasetId en edgeConfigOverrides.
Objeto Result result
El método sendEvent devuelve una promesa. Ver Administrar resultados. Cuando se resuelve la promesa, el objeto result puede contener la siguiente propiedad:
propositions: una matriz de propuestas de personalización que Edge Network devolvió para los ámbitos y superficies que solicitó conpersonalization. Esta propiedad solo está presente cuando se solicita la personalización. SDK no procesa propuestas ni las marca como representadas.
Si no solicita la personalización o el evento no se envía debido al consentimiento de o onBeforeEventSend, el resultado es un objeto vacío.
const { propositions = [] } = await visitor.sendEvent({
xdm: {
eventType: "decisioning.propositionFetch",
identityMap: {
Email: [{ id: "visitor@example.com", primary: true }]
}
},
personalization: {
surfaces: ["web://example.com/home"]
}
});
A diferencia de Web SDK, el resultado nunca contiene inferences ni destinations.