Resumen
Matcher admite comunicación bidireccional por webhook y mantiene tus herramientas operativas sincronizadas con cada evento de conciliación en tiempo real.
- Webhooks salientes: el enrutamiento de excepciones envía las excepciones a destinos externos: JIRA, ServiceNow o un endpoint de webhook HTTP que configures
- Callbacks entrantes: los sistemas externos avisan a Matcher cuando ejecutan una acción
Flujo de ida y vuelta entre Matcher y los sistemas externos.
Eventos salientes
Matcher emite eventos cuando ocurren acciones significativas en el proceso de conciliación. Matcher publica el catálogo de abajo en el backbone de streaming. Los eventos de excepción también llegan a endpoints de webhook HTTP mediante el enrutamiento de excepciones.
Eventos disponibles
Matcher define su catálogo de eventos de forma centralizada. Las tablas de abajo agrupan por dominio los eventos que más se consumen. Configuración
Discovery
Ingesta
Coincidencia
Excepciones y disputas
Gobernanza e informes
Payload de entrega del webhook
Los envíos de excepciones a un destino de webhook llevan un payload consistente coneventId, eventType, timestamp, la instantánea de la excepción bajo data e información de enrutamiento y trazas bajo metadata:
data.dueAt y los campos de metadata traceId, queue, ruleName y assignee cuando no tienen valor. Los eventos del catálogo de streaming (las tablas de arriba) siguen sus propios esquemas por evento en el stream de eventos. Matcher no los entrega con esta forma HTTP.
Callbacks entrantes
Los sistemas externos envían callbacks a Matcher para actualizar el estado de una excepción después de procesarla. El endpoint de callback acepta actualizaciones de estado, notas de resolución y cambios de responsable desde cualquier sistema externo.
Procesar un callback
El headerX-Callback-Token autentica el endpoint de callback. Un JWT de operador no lo autentica. El header lleva un token opaco de la superficie de credenciales de callback. Cada campo de abajo es obligatorio. dueAt y updatedAt aceptan null, y payload puede ser un objeto vacío:
cURL
externalSystem identifica el sistema externo que procesó la excepción. Los valores comunes incluyen "JIRA", "SERVICENOW" o "WEBHOOK", pero los callbacks pueden informar cualquier identificador de sistema. Omitir cualquiera de los nueve campos obligatorios devuelve un 422.
Respuesta
X-Idempotency-Key para evitar el procesamiento duplicado.
Reintento automático para callbacks fallidos
Si un callback anterior con la misma clave de idempotencia falló durante el procesamiento, Matcher intenta de forma automática readquirir el lock de idempotencia y reprocesar el callback. Esto significa que no necesitas generar una nueva clave de idempotencia cuando reintentas un callback fallido. Reenvía la misma solicitud y Matcher se encarga de la recuperación. El comportamiento de reintento se aplica solo a los callbacks con un estado internofailed. Matcher sigue deduplicando los callbacks que se completaron con éxito.
Credenciales de callback
Un Bearer token opaco autentica los callbacks entrantes. El sistema externo envía este token en el header
X-Callback-Token. Emites, listas, rotas y revocas estas credenciales de callback a través de una superficie CRUD dedicada bajo /v1/exceptions/callbacks/credentials. Cada credencial pertenece al tenant de quien llama. Matcher almacena solo el hash SHA-256 del token del lado del servidor. Las respuestas de emisión y de rotación devuelven el token en bruto exactamente una vez.
Emitir una credencial
El cuerpo de la solicitud es opcional. ProporcionaexternalSystem como una etiqueta legible por el operador para el sistema que este token autentica.
cURL
201 (CredentialSecretResponse) devuelve:
Rotar una credencial
cURL
CredentialSecretResponse (un nuevo token en bruto) y revoca la credencial anterior de forma atómica, así los llamadores externos no sufren ninguna interrupción cuando cambias el token.
Revocar una credencial
cURL
Seguridad de los webhooks
Verificación de firma
Cuando configuras un secreto compartido de webhook, Matcher firma cada entrega con un HMAC-SHA256 sobre el cuerpo bruto de la solicitud. Matcher envía la firma en el headerX-Signature-256, con el formato sha256=<hex-digest>:
X-Idempotency-Key, así los receptores pueden deduplicar los reintentos.
Proceso de verificación:
- Calcula el HMAC-SHA256 del cuerpo bruto de la solicitud con el secreto compartido del webhook
- Antepón
sha256=al digest hexadecimal - Compara (en tiempo constante) con el header
X-Signature-256
Postura de red
Matcher se despliega en tu propia infraestructura, así que las entregas de webhook salen por el egress de tu despliegue. No existe un rango de IP fijo de Lerian para agregar a una lista de permitidos. Sirve los endpoints de webhook sobre HTTPS con un certificado válido. Como protección contra SSRF, Matcher se niega a entregar a direcciones IP privadas o de loopback, a menos que el despliegue las permita de forma explícita (solo en desarrollo).Lógica de reintentos
Matcher reintenta las entregas de webhook fallidas con backoff exponencial.
Política de reintentos predeterminada
De forma predeterminada, Matcher reintenta una entrega fallida hasta 3 veces. Los retrasos siguen un backoff exponencial desde una base de 1 segundo, con jitter para distribuir los reintentos. El espaciado exacto varía de un intento a otro en lugar de seguir una escalera fija.Condiciones de reintento
Hay reintentos para:- Respuestas HTTP 429
- Respuestas HTTP 5xx
- Errores de transporte (fallas de conexión, timeouts)
- Otras respuestas HTTP 4xx
Mejores prácticas
Verifica las firmas de los webhooks
Verifica las firmas de los webhooks
Verifica siempre la firma HMAC antes de procesar los payloads de webhook. Esto evita solicitudes falsificadas.
Responde rápido
Responde rápido
Devuelve una respuesta 2xx en menos de 5 segundos. Procesa el evento de forma asíncrona si hace falta.
Maneja los duplicados de forma idempotente
Maneja los duplicados de forma idempotente
Las entregas pueden llegar más de una vez. Deduplica por el header
X-Idempotency-Key o por el eventId del payload.Monitorea la salud de la entrega
Monitorea la salud de la entrega
Configura alertas para las tasas de falla de webhooks. Investiga pronto las fallas persistentes.
Próximos pasos
Enrutamiento de excepciones
Configura cómo las excepciones disparan eventos de webhook.
Fuentes externas
Configura fuentes de datos que pueden enviar datos por webhooks.

