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.
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":"[email protected]", "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
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo