Webhook: funcionamento e utilidade

Criada por Rhuan C. Ferraz, Modificado em Fri, 03 Nov 2023 na (o) 09:45 AM por Rhuan C. Ferraz

Autor: Rhuan Capelette Ferraz.

Objetivo: Validar o funcionamento e todos os meios de utilização de um Webhook, bem como esclarecer o modelo de utilização e os erro apresentados no Painel iPag.


Primeiro vamos entender o que é um Webhook e sua utilidade.


Um webhook é uma tecnologia que permite que duas aplicações se comuniquem de forma automatizada e em tempo real. Quando um evento específico acontece em uma aplicação, como, por exemplo, o registro de uma nova venda em um sistema de e-commerce, o webhook é acionado e envia os dados dessa venda para outra aplicação por meio de uma requisição HTTP.


O envio dos dados é realizado por meio de um POST(ou, em alguns casos, um método HTTP diferente) para uma URL específica configurada como o ponto de extremidade do webhook. Essa URL é fornecida pela aplicação que irá receber as informações. Os dados enviados podem conter detalhes relevantes sobre o evento, como informações do cliente, produtos vendidos, valores, entre outros.


A utilização de webhooks é bastante versátil e pode ser aplicada em diversos cenários. Alguns exemplos comuns de uso incluem:


Integração de sistemas: frequentemente utilizados para integrar sistemas diferentes, permitindo que eles se comuniquem e compartilhem informações automaticamente. Por exemplo, um sistema de gestão de estoque pode receber notificações de vendas de um sistema de e-commerce por meio de webhooks, atualizando assim os níveis de estoque em tempo real.


Notificações em tempo real: úteis para enviar notificações instantâneas quando eventos importantes ocorrem. Por exemplo, uma mudança de status de transação, mantendo os usuários informados sobre o andamento de suas transações.


Automação de processos: automatizar tarefas com base em eventos específicos. Por exemplo, ao receber um webhook de confirmação de pagamento em um sistema de pagamentos online, um sistema de entrega pode ser acionado automaticamente para preparar o envio dos produtos.


Monitoramento de eventos: Webhooks podem ser utilizados para monitorar eventos específicos e tomar ações apropriadas com base neles. Por exemplo, um serviço de monitoramento de servidores pode receber webhooks de alerta em caso de falhas ou problemas de desempenho, permitindo que a equipe técnica tome medidas imediatas para resolver o problema.


Em resumo, os webhooks são uma maneira eficiente e em tempo real de comunicação entre aplicações. Eles permitem que eventos em uma aplicação acionem ações em outra, facilitando a integração de sistemas, o envio de notificações, a automação de processos e o monitoramento de eventos importantes.


Hoje estes são os eventos em nossa documentação, e para cada mudança de status há um evento diferente a ser enviado.

           

     

Evento
Descrição
PaymentLinkPaymentSucceeded
Link de Pagamento recebeu um pagamento aprovado.
PaymentLinkPaymentFailed
Link de Pagamento recebeu um pagamento recusado.
SubscriptionPaymentSucceeded
O pagamento da Assinatura foi processado com sucesso.
SubscriptionPaymentFailed
O pagamento da Assinatura foi processado com falha.
ChargePaymentSucceeded
O pagamento da Cobrança foi processado com sucesso.
ChargePaymentFailed
O pagamento da Cobrança foi processado com falha.
TransactionCreated
A Transação foi criada.
TransactionWaitingPayment
A Transação está aguardando pagamento do boleto.
TransactionCanceled
A Transação foi cancelada com sucesso.
TransactionPreAuthorized
A Transação foi Pré-Autorizada com sucesso.
TransactionCaptured
A Transação foi Capturada com sucesso.
TransactionDenied
A Transação teve a autorização recusada pela Adquirente.
TransactionDisputed
A Transação sofreu disputa do Pagador/Cliente.
TransactionChargedback
A Transação foi Estornada, e o valor devolvido ao Pagador/Cliente.
TransferPaymentSucceeded
A Transferência foi realizada com sucesso.
TransferPaymentFailed
A Transferência foi realizada com falha.


Caso cliente apresente o questionamento de não receber o retorno do Webhook basta validar o histórico de requisição para identificar os status, ao verificar devemos nos atentar ao código da resposta como o exemplo:



Existe a opção de validar a URL ao abrir a mesma, deixo dois modelos de URL sendo um inválido e um valido:




Os códigos referente aos status HTTP são universais:


Erro | status


1xx Informativo

2xx Sucesso

3xx Redirecionamento4xx Erro no Cliente5xx Erro no Servidor

100 Continue


101 Switching Protocols


102 Processing


200 OK


201 Created


202 Accepted


203 Non-authoritative Information


204 No Content


205 Reset Content


206 Partial Content


207 Multi-Status


208 Already Reported

226 IM Used


300 Multiple Choices


301 Moved Permanently


302 Found


303 See Other


304 Not Modified


305 Use Proxy


307 Temporary Redirect


308 Permanent Redirect


400 Bad Request


401 Unauthorized


402 Payment Required


403 Forbidden


404 Not Found


405 Method Not Allowed


406 Not Acceptable


407 Proxy Authentication Required


408 Request Timeout


409 Conflict


410 Gone


411 Length Required


412 Precondition Failed


413 Payload Too Large


414 Request-URI Too Long


415 Unsupported Media Type


416 Requested Range Not Satisfiable


417 Expectation Failed


418 I'm a teapot


421 Misdirected Request


422 Unprocessable Entity


423 Locked


424 Failed Dependency


426 Upgrade Required


428 Precondition Required


429 Too Many Requests


431 Request Header Fields Too Large


444 Connection Closed Without Response


451 Unavailable For Legal Reasons


499 Client Closed Request

500 Internal Server Error


501 Not Implemented


502 Bad Gateway


503 Service Unavailable


504 Gateway Timeout


505 HTTP Version Not Supported


506 Variant Also Negociates


507 Insufficient Storage


508 Loop Detected


510 Not Extended


511 Network Authentication Required


599 Network Connection Timeout Error




Dúvidas ou Sugestões? Envie um e-mail para suporte@ipag.com.br


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