> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Receber eventos em um webhook

> Inscreva um endpoint HTTPS no Streaming Hub, ative-o com um evento de teste assinado e receba os eventos de negócio assinados dos produtos Lerian.

Receba os eventos de negócio dos produtos Lerian no seu próprio endpoint HTTPS, cada um assinado pelo Streaming Hub.

## Participantes

***

* **Sua instituição.** Seu sistema chama a API do Streaming Hub com um token do Access Manager. Seu endpoint HTTPS recebe as entregas.
* **Streaming Hub.** O serviço de plataforma da Lerian que associa cada evento às suas subscriptions e o entrega. A Lerian o configura para sua instituição.
* **Produto Lerian.** O produto que publica o evento de negócio, por exemplo o Midaz.

## Diagrama

***

![Receber eventos em um webhook](https://mintcdn.com/lerian-49cb71fc/WuRfbo_y9uSbzyyX/images/pt/d2/id-receive-events-on-a-webhook.svg?fit=max\&auto=format\&n=WuRfbo_y9uSbzyyX\&q=85\&s=750d170d1590e82c84d4cd7a7c54c826)

## Passo a passo

***

| # | Origem | Destino | Mensagem | API da Lerian | O que acontece |
| - | - | - | - | - | - |
| 1 | Sua instituição | Streaming Hub | API da Lerian | [`GET /v1/catalog`](https://docs.lerian.studio/pt/reference/platform/streaming-hub/get-event-catalog) | Leia os eventos que suas subscriptions podem receber. |
| 2 | Streaming Hub | Sua instituição | Resposta | | O catálogo dá a cada evento o seu `eventKey`. Coloque esse valor em `event_types` exatamente como o catálogo o dá. |
| 3 | Sua instituição | Streaming Hub | API da Lerian | [`POST /v1/subscriptions`](https://docs.lerian.studio/pt/reference/platform/streaming-hub/create-subscription) | Crie a subscription com um `name`, `sink_kind` `webhook`, seu endpoint `https://` e os `event_types` que você quer. Envie um header `X-Idempotency` único. |
| 4 | Streaming Hub | Sua instituição | Resposta | | A resposta traz a subscription em `pending_verification` e o `signingSecret`. Guarde o segredo agora. Nenhuma rota de leitura o devolve. |
| 5 | Sua instituição | Streaming Hub | API da Lerian | [`POST /v1/subscriptions/{id}/ping`](https://docs.lerian.studio/pt/reference/platform/streaming-hub/ping-subscription) | Peça ao Streaming Hub que teste seu endpoint. |
| 6 | Streaming Hub | Sua instituição | Webhook | Evento `hub.subscription.verification_ping` | O Streaming Hub envia um evento de teste assinado ao seu endpoint. |
| 7 | Sua instituição | Streaming Hub | Resposta | | Seu endpoint confere a assinatura com o segredo e responde `2xx`. |
| 8 | Streaming Hub | Sua instituição | Resposta | | O ping responde `outcome` `ok`. A subscription agora está `active`. |
| 9 | Produto Lerian | Streaming Hub | Evento | | O produto publica um evento de negócio. |
| 10 | Streaming Hub | Streaming Hub | Etapa interna | | O Streaming Hub associa o evento às suas subscriptions ativas que o pedem. |
| 11 | Streaming Hub | Sua instituição | Webhook | Os eventos em `event_types` | O Streaming Hub envia o evento ao seu endpoint, assinado com o seu segredo. |
| 12 | Sua instituição | Streaming Hub | Resposta | | Seu endpoint confere a assinatura e responde `2xx`. Ele ignora um `X-Lerian-Event-Id` que já processou. |

## Como saber que terminou

***

O ping responde `outcome` `ok`, e [`GET /v1/subscriptions/{id}`](https://docs.lerian.studio/pt/reference/platform/streaming-hub/get-subscription) mostra `verification_state` `active` e `enabled` `true`.

* **O ping falha.** O ping responde `outcome` `failed` com um `detail`, e a subscription continua em `pending_verification`. Corrija o endpoint e faça o ping de novo.
* **A criação é recusada.** Por padrão, o Streaming Hub recusa um endpoint em um endereço privado, de loopback ou de metadados, ou com credenciais na URL, com `422` `endpoint_blocked`. Um nome já em uso recebe `409` `subscription_name_taken`.
* **O mesmo evento chega de novo.** Apenas uma resposta `2xx` conta como entregue. O Streaming Hub faz uma nova tentativa para qualquer outra resposta, então um evento pode chegar mais de uma vez.

## Relacionados

***

* [Trocar o segredo de assinatura de um webhook](https://docs.lerian.studio/pt/diagrams/platform-services/rotate-a-webhook-signing-secret.md)
* [Recuperar um webhook com falha](https://docs.lerian.studio/pt/diagrams/platform-services/recover-a-failing-webhook.md)
* [Gerenciar subscriptions](https://docs.lerian.studio/pt/platform/streaming-hub/managing-subscriptions.md)
* [Consumir eventos](https://docs.lerian.studio/pt/platform/streaming-hub/consuming-events.md)
* [Erros do Streaming Hub](https://docs.lerian.studio/pt/reference/platform/streaming-hub/streaming-hub-error-list.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.