- Actualizaciones en tiempo casi real
- Integraciones desacopladas
- Conciliación confiable y trazabilidad operacional
Requisitos previos
Antes de configurar los webhooks, asegúrese de tener:
- El Plugin de Pix Indirecto configurado y en ejecución (consulte Cómo funciona la participación indirecta)
- Un endpoint HTTPS listo para recibir solicitudes de webhook
- Comprensión básica del ciclo de vida de eventos Pix y los flujos de transacciones
Por qué los webhooks son importantes en Pix
Pix es un sistema asíncrono y multipartito. Incluso cuando una solicitud a la API tiene éxito, el estado final de una transacción solo se confirma posteriormente, después de la liquidación y el reconocimiento de la contraparte. Los webhooks permiten que su sistema:
- Rastree el estado autoritativo de las transacciones
- Reaccione a reembolsos, reversiones y eventos MED
- Mantenga la consistencia contable y operacional
- Reduzca el polling y la sobrecarga operacional
Tipos de eventos
Usted recibe eventos agrupados por flujo y entidad, alineados con los dominios del BACEN (Banco Central do Brasil).
| Flujo | Entidad | Descripción |
|---|---|---|
| DICT | CLAIM | Eventos de portabilidad y reclamo de propiedad de claves Pix |
| DICT | INFRACTION_REPORT | Informes de infracción MED (Mecanismo Especial de Devolução) y ciclo de vida de disputas |
| DICT | REFUND | Eventos de solicitud de reembolso MED |
| TRANSFER | CASHIN | Actualizaciones de estado de pagos Pix entrantes |
| TRANSFER | CASHOUT | Actualizaciones de estado de pagos Pix salientes |
| REFUND | CASHIN | Actualizaciones de estado de reembolsos Pix entrantes |
| REFUND | CASHOUT | Actualizaciones de estado de reembolsos Pix salientes |
DICT (Diretório de Identificadores de Contas Transacionais) es el directorio del BACEN que gestiona las claves Pix y las operaciones relacionadas como reclamos, infracciones y reembolsos.
Configuración de webhooks
Usted habilita los webhooks configurando URLs de destino y seleccionando qué tipos de eventos debe recibir su sistema.
Variables de entorno
Puede configurar los endpoints de webhook a nivel de entidad, flujo o global.
| Flujo | Entidad | URL de entidad | URL de módulo |
|---|---|---|---|
| DICT | CLAIM | WEBHOOK_DICT_CLAIM_URL | WEBHOOK_DICT_URL |
| DICT | INFRACTION_REPORT | WEBHOOK_DICT_INFRACTION_REPORT_URL | WEBHOOK_DICT_URL |
| DICT | REFUND | WEBHOOK_DICT_REFUND_URL | WEBHOOK_DICT_URL |
| TRANSFER | CASHIN | WEBHOOK_TRANSFER_CASHIN_URL | WEBHOOK_TRANSFER_URL |
| TRANSFER | CASHOUT | WEBHOOK_TRANSFER_CASHOUT_URL | WEBHOOK_TRANSFER_URL |
| REFUND | CASHIN | WEBHOOK_REFUND_CASHIN_URL | WEBHOOK_REFUND_URL |
| REFUND | CASHOUT | WEBHOOK_REFUND_CASHOUT_URL | WEBHOOK_REFUND_URL |
Prioridad de resolución de URL
Cuando se configuran múltiples URLs, el sistema las resuelve en el siguiente orden:
-
URL a nivel de entidad
Ejemplo:
WEBHOOK_DICT_CLAIM_URL -
URL a nivel de flujo
Ejemplo:
WEBHOOK_DICT_URL -
URL por defecto
WEBHOOK_DEFAULT_URL
Formato de la solicitud
Headers
Cada solicitud de webhook incluye headers estandarizados para trazabilidad y seguridad.
| Header | Descripción |
|---|---|
Content-Type | application/json |
X-Request-ID | Identificador único de la solicitud |
X-Entity-Type | Entidad del evento (ej. INFRACTION_REPORT) |
X-Flow-Type | Dominio de origen (ej. DICT) |
Idempotency-Key | Identificador único del evento para deduplicación |
Estructura del body
| Campo | Descripción |
|---|---|
entityType | Entidad del evento |
flowType | Dominio Pix |
payload | Datos específicos del evento |
Respuestas y comportamiento de reintentos
Respuesta esperada
Su endpoint debe retornar un código de estado HTTP 2xx para confirmar la entrega exitosa.
| Respuesta | Resultado |
|---|---|
| 2xx | Entregado exitosamente |
| No-2xx | Reintentado automáticamente |
Estrategia de reintentos
Las entregas fallidas se reintentan automáticamente usando backoff exponencial:
| Intento | Retraso |
|---|---|
| 1 | 1 segundo |
| 2 | 2 segundos |
| 3 | 4 segundos |
- Máximo de reintentos: 3
- Timeout por solicitud: 30 segundos
Configuración personalizada de reintentos
Los reintentos y timeouts se pueden personalizar por evento:Protección por circuit breaker
Para prevenir fallos en cascada, la entrega de webhooks está protegida por un circuit breaker. Cuando el Plugin Pix detecta fallos de entrega repetidos (típicamente respuestas consecutivas
5xx o timeouts), pausa temporalmente las llamadas de webhook al endpoint afectado.
Después de un período de enfriamiento configurable, el sistema realiza intentos de reintento controlados para verificar si el endpoint se ha recuperado.
Una vez que se detectan respuestas exitosas, la entrega normal se reanuda automáticamente.
Este mecanismo garantiza:
- Protección contra endpoints sobrecargados o inestables
- Recuperación gradual sin intervención manual
- Mayor estabilidad general del sistema en entornos de producción
El comportamiento del circuit breaker funciona junto con los reintentos y el backoff exponencial, añadiendo una capa de seguridad adicional para la entrega de webhooks.
Buenas prácticas
| Práctica | Por qué es importante |
|---|---|
| Ignorar campos desconocidos | Mantener compatibilidad futura a medida que se añaden nuevos campos |
| Procesamiento idempotente | Usar Idempotency-Key para evitar procesar duplicados |
| Confirmación rápida | Retornar 202 Accepted y procesar de forma asíncrona |
| Procesamiento asíncrono | Evitar bloquear el hilo del webhook |
| Manejar compresión | Los payloads >1KB se comprimen con gzip. Verifique el header Content-Encoding y descomprima según corresponda |
Ejemplos de eventos
A continuación se presentan ejemplos representativos de payloads de webhook que recibe del Plugin de Pix Indirecto.
Reclamo DICT
Eventos del ciclo de vida de propiedad o portabilidad. Úselos para rastrear disputas de claves Pix entre instituciones.
Informe de infracción DICT (MED)
Eventos de señalización de disputas y fraude alineados con las reglas MED del BACEN.
Reembolso DICT (MED)
Solicitudes de reembolso y decisiones relacionadas con casos MED.
Transferencia cash-in y cash-out
Eventos de transferencias Pix entrantes y salientes. Cash-in (transferencia entrante):
Reembolso cash-in y cash-out
Eventos de liquidación de reembolsos para transacciones Pix. Reembolso cash-in (recibiendo un reembolso):
Conclusión clave
Los webhooks no son opcionales en las operaciones de Pix Indirecto. Son el canal autoritativo para el estado de las transacciones, reembolsos y manejo de disputas. Una implementación correcta de webhooks garantiza:
- Conciliación precisa
- Cumplimiento regulatorio
- Resiliencia operacional
- Experiencia predecible para el cliente
Próximos pasos
Ahora que comprende cómo funcionan los webhooks en Pix Indirecto, explore estos temas relacionados:
- Cómo funciona la participación indirecta - Configuración inicial
- Dominios principales de Pix: transferencias - Profundización en operaciones de transferencia
- Dominios principales de Pix: DICT - Comprensión de las operaciones DICT y gestión de claves
- Dominios principales de Pix: MED - Manejo de disputas y reembolsos MED
- Referencia de la API — Documentación completa de las APIs de DICT, Claims, Transacciones, QR Codes y MED

