> ## 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.

# Recibir eventos en un webhook

> Suscribe un endpoint HTTPS en Streaming Hub, actívalo con un evento de prueba firmado y recibe los eventos de negocio firmados de los productos Lerian.

Recibe los eventos de negocio de los productos Lerian en tu propio endpoint HTTPS, cada uno firmado por Streaming Hub.

## Participantes

***

* **Tu institución.** Tu sistema llama a la API de Streaming Hub con un token de Access Manager. Tu endpoint HTTPS recibe las entregas.
* **Streaming Hub.** El servicio de plataforma de Lerian que asocia cada evento con tus suscripciones y lo entrega. Lerian lo configura para tu institución.
* **Producto Lerian.** El producto que publica el evento de negocio, por ejemplo Midaz.

## Diagrama

***

![Recibir eventos en un webhook](https://mintcdn.com/lerian-49cb71fc/MbifquGny5fsdtVy/images/es/d2/id-receive-events-on-a-webhook.svg?fit=max\&auto=format\&n=MbifquGny5fsdtVy\&q=85\&s=998d6384bde34603b47cce0440fed43b)

## Pasos

***

| # | Origen | Destino | Mensaje | API de Lerian | Qué ocurre |
| - | - | - | - | - | - |
| 1 | Tu institución | Streaming Hub | API de Lerian | [`GET /v1/catalog`](https://docs.lerian.studio/es/reference/platform/streaming-hub/get-event-catalog) | Lee los eventos a los que te puedes suscribir. |
| 2 | Streaming Hub | Tu institución | Respuesta | | El catálogo da a cada evento su `eventKey`. Pon ese valor en `event_types` exactamente como lo da el catálogo. |
| 3 | Tu institución | Streaming Hub | API de Lerian | [`POST /v1/subscriptions`](https://docs.lerian.studio/es/reference/platform/streaming-hub/create-subscription) | Crea la suscripción con un `name`, `sink_kind` `webhook`, tu endpoint `https://` y los `event_types` que quieres. Envía un header `X-Idempotency` único. |
| 4 | Streaming Hub | Tu institución | Respuesta | | La respuesta trae la suscripción en `pending_verification` y el `signingSecret`. Guarda el secreto ahora. Ninguna ruta de lectura lo devuelve. |
| 5 | Tu institución | Streaming Hub | API de Lerian | [`POST /v1/subscriptions/{id}/ping`](https://docs.lerian.studio/es/reference/platform/streaming-hub/ping-subscription) | Pide a Streaming Hub que pruebe tu endpoint. |
| 6 | Streaming Hub | Tu institución | Webhook | Evento `hub.subscription.verification_ping` | Streaming Hub envía un evento de prueba firmado a tu endpoint. |
| 7 | Tu institución | Streaming Hub | Respuesta | | Tu endpoint verifica la firma con el secreto y responde `2xx`. |
| 8 | Streaming Hub | Tu institución | Respuesta | | El ping responde `outcome` `ok`. La suscripción ahora está `active`. |
| 9 | Producto Lerian | Streaming Hub | Evento | | El producto publica un evento de negocio. |
| 10 | Streaming Hub | Streaming Hub | Paso interno | | Streaming Hub asocia el evento con tus suscripciones activas que lo piden. |
| 11 | Streaming Hub | Tu institución | Webhook | Los eventos en `event_types` | Streaming Hub envía el evento a tu endpoint, firmado con tu secreto. |
| 12 | Tu institución | Streaming Hub | Respuesta | | Tu endpoint verifica la firma y responde `2xx`. Ignora un `X-Lerian-Event-Id` que ya procesó. |

## Cómo saber que terminó

***

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

* **El ping falla.** El ping responde `outcome` `failed` con un `detail`, y la suscripción sigue en `pending_verification`. Corrige el endpoint y haz el ping de nuevo.
* **La creación se rechaza.** Por defecto, Streaming Hub rechaza un endpoint en una dirección privada, de loopback o de metadatos, o con credenciales en la URL, con `422` `endpoint_blocked`. Un nombre en uso recibe `409` `subscription_name_taken`.
* **El mismo evento llega de nuevo.** Solo una respuesta `2xx` cuenta como entregada. Streaming Hub hace un reintento para cualquier otra respuesta, así que un evento puede llegar más de una vez.

## Relacionados

***

* [Rotar el secreto de firma de un webhook](https://docs.lerian.studio/es/diagrams/platform-services/rotate-a-webhook-signing-secret.md)
* [Recuperar un webhook con fallas](https://docs.lerian.studio/es/diagrams/platform-services/recover-a-failing-webhook.md)
* [Gestión de suscripciones](https://docs.lerian.studio/es/platform/streaming-hub/managing-subscriptions.md)
* [Consumo de eventos](https://docs.lerian.studio/es/platform/streaming-hub/consuming-events.md)
* [Errores de Streaming Hub](https://docs.lerian.studio/es/reference/platform/streaming-hub/streaming-hub-error-list.md)


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