Configurações de Webhooks

Marcelo Luiz Onhate

Marcelo Luiz Onhate
Modificado há um ano

O que é

As Configurações de Webhook habilitam requisições para dentro de sua URL informada, automatizando alertas sobre eventos específicos. Atualmente, os Webhooks disponíveis são:

  • Curso Promovido;

  • Curso Removido;

  • Artigo Promovido;

  • Artigo Removido;

  • Documento Requer Revisão.

Como Configurar

A primeira configuração à ser feita para que possa utilizar os Webhooks disponíveis é navegar nas Configurações de sua Organização:

webhooks.gif

Ao clicar em Novo Webhook, podemos configurar com um nome descritivo, o endpoint, e que tipo de requisição será:

Segurança

Ao criar um Webhook pelas configurações da organização um token será gerado e enviado no header da requisição HTTP com o nome X-Webhook-Token para que você possa verificar que a requisição foi originada pela plataforma e não por outro agente tentando enviar requisições falsas para seu webhook. Você poderá ver o token do webhook nos detalhes do Webhook após sua criação. Veja um exemplo:

Estrutura dos Dados

Todo payload é composto das seguintes propriedades

  • event: nome do evento que disparou o Webhook

    • SampleEvent - evento de teste do webhook;

    • DocumentExpired - quando um artigo requer revisão;

    • DocsPromoted - quando um artigo é promovido;

    • DocsRemoved - quando um artigo promovido é removido;

    • CoursesPromoted - quando um curso é promovido;

    • CoursesRemoved - quando um curso promovido é removido;

  • timestamp: data da geração do evento em formato ISO-8601;

  • payload: contém o objeto que representa o evento, pode ser um documento, curso, comentário… todos objetos terão estes campos em comum dentro da plataforma:

    • id: identificador único do objeto na plataforma

    • typename: representa o nome do tipo do objeto em questão

      • Docs (artigos)

      • Courses (cursos)

      • Discussions (comentários)

    • title: título ou nome do objeto na plataforma;

    • content: o conteúdo criado dentro do objeto em formato html;

    • slug: url parcial para o documento na plataforma, você deve concatenar o domínio de seu ambiente no começo para obter a url completa, por exemplo “https://ajuda.pulpo.run/” + slug

    • authors: lista de identificadores dos autores do objeto;

    • createdAt: data de criação do objeto em formato ISO-8601;

    • updatedAt: data da última atualização do objeto (não necessariamente feita pelo usuário, ás vezes a plataforma realiza updates nos objetos por outros motivos) em formato ISO-8601;

    • promotedAt: data da última vez que o objeto foi atualizado pelo usuário e aprovado por um aprovador em formato ISO-8601;

Payload de Teste

Enviado quando o botar de “Testar” Webhook é acionado na tela de configuração do Webhook

Exemplo

{ "event":"SampleEvent", "payload":{ "typename":"SampleEvent" }, "timestamp":"2022-10-06T22:02:27.171Z" }

Payload de Documento Expirado

Enviado toda vez que um documento atinge a data de validade e uma revisão é requerida.

Exemplo

{ "event":"DocumentExpired", "payload":{ "id":"01geqapvmjgt4shknn3vja8x9d", "typename":"Docs", "createdAt":"2022-10-06T19:01:09.324Z", "updatedAt":"2022-10-06T21:30:35.233Z", "authors":[ "b01584a6-3937-45dd-bec2-2b408913dbdc", "f680143e-c72b-4a26-a966-25b6912d0803" ], "title":"Disparo Webhook", "content":"<p>este é o conteúdo em HTML</p>", "slug":"docs/Disparo-Webhook-01geqapvmjgt4shknn3vja8x9d", "promotedAt":"2022-10-06T21:30:35.233Z" }, "timestamp":"2022-10-06T22:02:27.171Z" }
1. O que é
2. Como Configurar
3. Segurança
4. Estrutura dos Dados
4.1. Payload de Teste
4.1.1. Exemplo
4.2. Payload de Documento Expirado
4.2.1. Exemplo