[Alpha]{class="badge informative"}

sendEvent (SDK de servidor)

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. Ver xdm.
  • 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 defaultConsent es "out" y el visitante no se ha suscrito, sendEvent se resuelve con un objeto vacío sin enviar nada.

Opciones options

Opción
Tipo
Descripción
xdm
Objeto
Datos que coinciden con el esquema XDM, incluidas las identidades del evento.
data
Objeto
Datos que no coinciden con el esquema XDM.
type
Cadena
El tipo de evento. Un acceso directo para xdm.eventType.
personalization
Objeto
Las decisiones de personalización que se van a solicitar.
decisionScopes
Matriz de cadenas
Ámbitos de decisión que se van a solicitar. Una alternativa a personalization.decisionScopes.
edgeConfigOverrides
Objeto
Anulaciones de flujo de datos solo para este evento.

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.defaultPersonalizationEnabled y personalization.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ó con personalization. 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.

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