Webhooks e eventos do AEM

Saiba como receber eventos de AEM em um webhook e revisar os detalhes do evento, como carga, cabeçalhos e metadados.

Neste exemplo, utilizar um webhook hospedado fornecido pelo Adobe permite receber eventos AEM sem a necessidade de configurar seu próprio webhook. Este webhook fornecido pelo Adobe está hospedado em Glitch, uma plataforma conhecida por oferecer um ambiente baseado na Web propício à criação e implantação de aplicativos Web. No entanto, a opção de usar seu próprio webhook também está disponível, se preferir.

Pré-requisitos

Para concluir este tutorial, você precisa:

IMPORTANT
O AEM as a Cloud Service Eventing só está disponível para usuários registrados no modo de pré-lançamento. Para habilitar eventos de AEM no seu ambiente AEM as a Cloud Service, entre em contato com a equipe de eventos de AEM.

Acessar webhook

Para acessar o webhook fornecido pelo Adobe, siga estas etapas:

  • Verifique se você pode acessar o Falha - webhook hospedado em uma nova guia do navegador.

    Falha - webhook hospedado

  • Digite um nome exclusivo para o seu webhook, por exemplo <YOUR_PETS_NAME>-aem-eventing e clique em Conectar. Você deve ver a mensagem Connected to: ${YOUR-WEBHOOK-URL} aparecendo na tela.

    Falha - criar webhook

  • Anote a URL do Webhook. Você precisa disso mais tarde neste tutorial.

Configurar webhook no projeto do Adobe Developer Console

Para receber eventos de AEM no URL do webhook acima, siga estas etapas:

  • Na Adobe Developer Console, navegue até o projeto e clique em para abri-lo.

  • Na seção Produtos e serviços, clique nas reticências ... ao lado do cartão de eventos desejado que deve enviar eventos AEM para o webhook e selecione Editar.

    Edição de projeto do Adobe Developer Console

  • Na caixa de diálogo Configurar registro de evento recém-aberta, clique em Avançar para prosseguir para a etapa Como receber eventos.

    Configuração do projeto do Adobe Developer Console

  • Na etapa Como receber eventos, selecione a opção Webhook e cole a URL do Webhook copiada anteriormente do webhook hospedado por Falha e clique em Salvar eventos configurados.

    Webhook do Adobe Developer Console Project

  • Na página do webook Glitch, você deve ver uma solicitação do GET, é uma solicitação de desafio enviada pelo Adobe I/O Events para verificar o URL do webhook.

    Falha - solicitação de desafio

Acionar eventos de AEM

Para acionar eventos de AEM do seu ambiente do AEM as a Cloud Service que foi registrado no projeto do Adobe Developer Console acima, siga estas etapas:

  • Acesse e faça logon no ambiente de criação do AEM as a Cloud Service via Cloud Manager.

  • Dependendo dos seus Eventos nos quais você se inscreveu, crie, atualize, exclua, publique ou cancele a publicação de um Fragmento de conteúdo.

Revisar detalhes do evento

Depois de concluir as etapas acima, você deve ver os eventos de AEM sendo entregues ao webhook. Procure a solicitação POST na página do webhook Falha.

Falha - Solicitação POST

Estes são os principais detalhes da solicitação POST:

  • caminho: /webhook/${YOUR-WEBHOOK-URL}, por exemplo /webhook/AdobeTM-aem-eventing

  • cabeçalhos: cabeçalhos de solicitação enviados pelo Adobe I/O Events, por exemplo:

{
"connection": "close",
"x-forwarded-for": "34.205.178.127,::ffff:10.10.10.136,::ffff:10.10.84.114",
"x-forwarded-proto": "https,http,http",
"x-forwarded-port": "443,80,80",
"host": "lovely-ancient-coaster.glitch.me",
"content-length": "826",
"x-adobe-public-key2-path": "/prod/keys/pub-key-IkpzhSpTw0.pem",
"x-adobe-delivery-id": "18abfb47-d24a-4684-ade8-f442a3444033",
"x-adobe-provider": "aemsites_7ABB3E6A5A7491460A495D61@AdobeOrg_acct-aem-p46652-e1074060@adobe.com",
"x-adobe-public-key1-path": "/prod/keys/pub-key-Ptc2pD9vT9.pem",
"x-adobe-event-id": "a0f3fb7d-b02c-4612-aac6-e472b80af793",
"x-adobe-event-code": "aem.sites.contentFragment.modified",
"user-agent": "Adobe/1.0",
"x-adobe-digital-signature-2": "zGLso15+6PV6X6763/x6WqgxDlEXpkv5ty8q4njaq3aUngAI9VCcYonbScEjljRluzjZ05uMJmRfNxwjj60syxEJPuc0dpmMU635gfna7I4T7IaHs496wx4m2E5mvCM+aKbNQ+NPOutyTqI8Ovq29P2P87GIgMlGhAtOaxRVGNc6ksBxc2tCWbrKUhW8hPJ0sHphU499dN4TT32xrZaiRw4akT3M/hYydsA8dcWpJ7S4dpuDS21YyDHAB8s9Dawtr3fyPEyLgZzpwZDfCqQ8gdSCGqKscE4pScwqPkKOYCHDnBvDZVe583jhcZbHGjk7Ncp/FrgQk7avWsk5XlzcuA==",
"x-adobe-digital-signature-1": "QD7THFJ1vmJqD/BatIpzO6+ACQ9cSKPR7XVaW0LI7cN/xs7ucyri6dmkerOPe9EJpjGoqCg8rxWedrIRQB3lgVskChbHH3Ujx5YG0aTQLSd1Lsn5CFbW1U0l0GqId9Cnd6MccrqSznZXcdW1rMFuRk8+gqwabBifSaLbu3r30G5hmqQd72VtiYTE4m23O3jYIMiv62pRP+a+p4NjNj1XG320uRSry+BPniTjDJ6oN/Ng7aUEKML8idZ/ZTqeh/rJSrVO95UryUolFDRwDkRn5zKonbvhSLAeXzaPhvimWUHtldq9M1WTyRMpsBk8BRzaklxlq+woJ2UjYPUIEzjotw==",
"accept-encoding": "deflate,compress,identity",
"content-type": "application/cloudevents+json; charset=UTF-8",
"x-forwarded-host": "lovely-ancient-coaster.glitch.me",
"traceparent": "00-c27558588d994f169186ca6a3c6607d4-a7e7ee36625488d4-01"
}
  • body/payload: corpo da solicitação enviado pelos Eventos Adobe I/O, por exemplo:
{
  "specversion": "1.0",
  "type": "aem.sites.contentFragment.modified",
  "source": "acct:aem-p46652-e1074060@adobe.com",
  "id": "bf922a49-9db4-4377-baf4-70e96e15c45f",
  "time": "2023-12-12T20:36:43.583228Z",
  "dataschema": "https://ns.adobe.com/xdm/aem/sites/events/content-fragment-modified.json",
  "datacontenttype": "application/json",
  "data": {
    "user": {
      "imsUserId": "933E1F8A631CAA0F0A495E53@80761f6e631c0c7d495fb3.e",
      "principalId": "xxx@adobe.com",
      "displayName": "First LastName",
    },
    "path": "/content/dam/wknd-shared/en/adventures/beervana-portland/beervana-in-portland",
    "model": {
      "id": "/conf/wknd-shared/settings/dam/cfm/models/adventure"
    },
    "id": "9a2d3e6a-efda-4079-a86e-0ef2ede692da",
    "properties": [
      {
        "name": "groupSize",
        "changeType": "modified"
      }
    ]
  },
  "event_id": "a0f3fb7d-b02c-4612-aac6-e472b80af793",
  "recipient_client_id": "f51ea733ba404db299fefbf285dc1c42"
}

Você pode ver que os detalhes do evento AEM têm todas as informações necessárias para processar o evento no webhook. Por exemplo, o tipo de evento (type), a origem do evento (source), a ID do evento (event_id), a hora do evento (time) e os dados do evento (data).

Recursos adicionais

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69