Pular para o conteúdo principal

Testando Eventos de Webhook Zemobank

A grande mágica de se usar uma arquitetura baseada em webhooks é que podemos rastrear e ter logs de tudo que acontece em uma determinada API, por exemplo pix cashin.

Esses são todos os eventos que irão acontecer em um cashin:

  • "pix.cashin.received
  • "pix.cashin.creating
  • "pix.cashin.created"
  • "pix.cashin.error_on_creation"
  • "pix.cashin.paid"
Aviso

Nem todos os eventos representam um novo estado do cashin em si.

A API de subscription na Zemobank, se trata de uma implementação baseada no padrão restHooks, um padrão que serviços como Zapier e Make usam para receberem notificações de automações. Isto é, é um padrão que a indústria de integrações já está muito confortável.

Agora com uma ferramenta de teste de APIs de sua escolha, vamos cadastrar uma URL para receber as notificações dos Webhooks da Zemobank. Primeiramento vamos usar nosso endpoint de criar uma subscription. Veja a documentação aqui.

Endpoint de teste

O endpoint /notify/test é o seu maior aliado na sua integração com a Zemobank. Porque, ao invés de você ter que criar um cashin, pagar ele, ou esperar um erro nele, você pode simular algum desses eventos por meio desse endpoint.

Não se preocupe

Este endpoint só está disponível no ambiente de homologação.

Ainda usando a ferramenta de teste de APIs, cria uma nova requisição do tipo "POST" para o endpoint /notify/test e use esse payload no corpo da requisição para simular um pix sendo criado:

Observação

Se atente a os eventos cadastrados na subscriptions. Por exemplo, se você não tiver criado a subscription com o evento "pix.cashin.created" você não irá receber a notificação no webhook.

Event: pix.cashin.created
{
"event": "pix.cashin.created",
"data": {
"amount": 60,
"br_code": "00020101021226790014br.gov.bcb.pix2557brcode.starkinfra.com/v2/68cf46192ec34c67bdd5467cb3783fe75204000053039865802BR5925Zemo pay Tecnologia em Pa6009Sao Paulo62070503***630400AC",
"cashin_id": "920c246eade54d63b48bc316a41b41ad",
"created_at": "2023-06-14T00:00:00.000",
"expiration": 3600,
"external_id": "71900d60-0ec6-4f48-a966-95c8a0318126",
"payer_document": "12345678910",
"payer_name": "ZEMOBANK",
"provider": "starkbank",
"provider_id": "68cf46192ec34c67bdd5467cb3783fe7",
"status": "CREATED",
"topic": "pix.cashin.created",
"updated_at": "2023-06-16T09:41:29.913"
}
}

O retorno esperado deverá ser algo parecido a esse, com o topic sendo o evento escolhido e a subscription_url sendo a sua URL única. Com isso podemos ir na plataforma de webhook escolhida e verificar se recebemos a notificação de simulação de pix criado.

Resposta esperada
{
"ok": true,
"topic": "pix.cashin.created",
"sent_to": [
{
"subscription_url": "sua-url-unica.com"
}
]
}