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:
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
Payload de Documento Expirado
Enviado toda vez que um documento atinge a data de validade e uma revisão é requerida.