[Alpha]{class="badge informative"}

sendEvent (SDK do Servidor)

Esta página descreve o método sendEvent do SDK do Servidor. Para o Web SDK, consulte sendEvent.

O método sendEvent é a principal maneira de enviar dados do seu servidor para o Adobe. O resultado também é a maneira como você recupera o conteúdo personalizado. Use o objeto xdm para enviar dados que mapeiam para o esquema do Adobe Experience Platform, e o objeto data para enviar outros dados.

Chame sendEvent no identificador forRequest do visitante atual depois de configure resolver:

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"]
    }
  }
});

O SDK envia cada evento para a API autenticada do Edge Network Server em server.adobedc.net. Consulte Autenticação.

Exigências requirements

  • Identidade principal: cada evento deve incluir uma identidade principal em xdm.identityMap. Caso contrário, o Edge Network rejeita o evento. Consulte xdm.
  • Tamanho: a solicitação enviada pelo SDK pode ter até 64 KB. Consulte Medidas de proteção na documentação da API do Edge Network.
  • Consentimento: se o visitante recusou a participação ou defaultConsent é "out" e o visitante não aceitou, sendEvent resolve com um objeto vazio sem enviar nada.

Opções options

Opção
Tipo
Descrição
xdm
Objeto
Dados que correspondem ao esquema XDM, incluindo as identidades do evento.
data
Objeto
Dados que não correspondem ao esquema XDM.
type
String
O tipo de evento. Um atalho para xdm.eventType.
personalization
Objeto
As decisões de personalização a serem solicitadas.
decisionScopes
Matriz de cadeias de caracteres
Os escopos de decisão a serem solicitados. Uma alternativa para personalization.decisionScopes.
edgeConfigOverrides
Objeto
Substituições de sequência de dados somente para este evento.

Se você passar uma opção que a SDK não reconhece, sendEvent será rejeitado com um erro Unknown field.

Opções que não afetam um servidor no-effect

O Server SDK aceita as seguintes opções do Web SDK para que você possa compartilhar o código de criação de eventos com uma implementação de navegador. No entanto, eles dependem de um navegador e não têm efeito no servidor:

  • renderDecisions: o SDK nunca renderiza conteúdo. Em vez disso, retorna apresentações no resultado.
  • personalization.sendDisplayEvent, personalization.includeRenderedPropositions, personalization.defaultPersonalizationEnabled e personalization.decisionContext.
  • advertising.

Não definir documentUnloading em um servidor. Isso não se aplica fora de um navegador. Para visitantes que já têm uma identidade, isso faz com que o SDK envie o evento como uma solicitação não autenticada para o edgeDomain em vez de para a API do servidor autenticada. Esse ponto de extremidade não retorna uma resposta, portanto, sendEvent não retorna propostas.

As opções datasetId e mergeId obsoletas ainda são aceitas. Em vez de datasetId, use com_adobe_experience_platform.datasets.event.datasetId em edgeConfigOverrides.

Objeto de resultado result

O método sendEvent retorna uma promessa. Consulte Resultados do identificador. Quando a promessa é resolvida, o objeto de resultado pode conter a seguinte propriedade:

  • propositions: Uma matriz de propostas de personalização que o Edge Network retornou para os escopos e superfícies solicitados com personalization. Essa propriedade está presente somente quando você solicita personalização. O SDK não renderiza apresentações ou as marca como renderizadas.

Se você não solicitar personalização ou o evento não for enviado devido ao consentimento ou onBeforeEventSend, o resultado será um objeto vazio.

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

Ao contrário do Web SDK, o resultado nunca contém inferences ou destinations.

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