Introdução aos Webhooks

Criada por Alex Camargo, Modificado em Seg, 2 Set na (o) 11:22 AM por Alex Camargo

Webhooks permitem que a BonifiQ chame diretamente a sua API. Isso evita que você tenha que fazer chamadas periódicas à API da BonifiQ, evitando gasto de recursos e permitindo manter bases de dados atualizadas e comunicações externas.



Como funciona

Antes de mais nada é necessário cadastrar o endpoint que será chamado. Você fazer quantos cadastros forem necessários. Esse cadastro é relacionado a um ou mais tópicos.

Cada tópico corresponde a um tipo de evento que será enviado ao seu endpoint e corresponde, também, a um payload específico.

Um payload é o corpo da requisição que contém detalhes do evento. Por exemplo: no caso do tópico Ponto Adicionado, você deve esperar receber a quantidade de pontos. Os detalhes de cada Payload seguem abaixo.


É esperado que seu endpoint receba a requisição como um POST. Deverá haver uma resposta HTTP com status 200.

O endpoint deverá responder em no máximo 30 segundos, caso contrário será considerado inválido.


Cadastrar endpoint

O primeiro passo para utilizar o sistema de Webhook é cadastrar o endpoint que será chamado. Para isso:

- Vá no menu "API"

- Clique na aba "Webhook" 

- Clique no botão "+ CREDENCIAL API"

- Escolha "Webhook"


Agora basta preencher os campos do endpoint:

- Ativado: Marque para permitir que os eventos sejam enviados para o endpoint

- URL: Endereço do endpoint que irá receber as chamadas. O endereço precisa ser acessível publicamente.

- Tópicos: Quais eventos devem gerar chamadas no endpoint cadastrado

- E-mail Técnico: Caso ocorram muitos erros no envio dos webhooks esse e-mail será acionado para realizar a correção.

- Cabeçalhos: Opcional, permite que sejam enviados um ou mais cabeçalhos HTTP, enviados na requisição. Permite que você cadastre tokens de acesso, para garantir que a chamada realmente foi originada pela BonifiQ.


Tópicos

A BonifiQ irá enviar para o endpoint os eventos relacionados aos tópicos selecionados no cadastro. Cada tópico possui uma utilização específica, com um payload específico.


Ponto Adicionado  

Ponto Removido 

Ponto Atualizado 

Comunicações 


Payload

Por padrão, a BonifiQ envia um body na requisição para o seu endpoint. Esse corpo possui algumas propriedades padrão para todas as requisições.

{
"Uuid":"4834c95e-84f7-485e-90de-09353df57fd3",
"Timestamp":"2024-03-01T13:16:11.396371",
"Topic":0,
"TopicName":"Point_Add",
"Payload":{
"Points":200,
"PointType":0,
"PointAction":1,
"Customer":{
"Email":"teste@bonifiq.com.br",
"Id":"152740926",
"Name":"Teste Nivel Base"
},
"PointsBalance":{
"PointsBalance":300,
"CashbackBalance":210
},
"PointId":4740
}
}

Os campos padrão são:

- Uuid: Um ID único para cada envio. 

- Timestamp: A data e horário (em UTC) em que o evento foi criado

- Topic / TopicName: O tópico relativo a esse evento (vide acima).  O campo Topic é o Id desse tópico, enquanto o TopicName é sua descrição.

- Payload: Esse dados são específicos de cada evento. No exemplo acima, se trata de um Ponto Inserido. Você pode verificar o Payload de cada tópico logo acima.



Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo