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

# Webhooks

Los webhooks permiten que Syntage entregue eventos a tu servidor cuando los recursos de tu organización cambian. Úsalos cuando tu integración necesite reaccionar a nuevas credenciales, entidades, extracciones, facturas, archivos, reportes u otros recursos sin tener que hacer polling a la API de eventos.

## Endpoints de webhook

Un endpoint de webhook es la URL HTTPS donde Syntage envía los eventos que coinciden. Cada endpoint define:

| Campo           | Propósito                                                                                       |
| --------------- | ----------------------------------------------------------------------------------------------- |
| `url`           | La URL HTTPS pública que recibe las entregas de eventos                                         |
| `events`        | Los tipos de eventos que se entregan al endpoint, como `extraction.updated` o `invoice.created` |
| `enabled`       | Si Syntage debe enviar eventos al endpoint                                                      |
| `contentType`   | El formato del payload, ya sea `application/ld+json` o `application/json`                       |
| `signingSecret` | El secreto utilizado para verificar las firmas de las entregas                                  |

Las URLs de los endpoints deben usar HTTPS y deben resolverse a una dirección de red pública. Syntage envía cada entrega como una solicitud `POST` con los encabezados `X-Syntage-Signature`, `X-Satws-Signature`, `Content-Digest` y `Content-Type`.

Consulta [Validación de solicitudes de webhook](/guides/validating-webhook-requests) para verificar que las entregas de webhook provengan de Syntage.

## Cuerpo del evento

El cuerpo de cada entrega es un único objeto [Event](/es/resources/core/events). El evento incluye el `type` que ocurrió, las IRIs `source` y `resource`, y un objeto `data` cuyo `data.object` contiene el estado actual del recurso afectado. Los eventos de actualización también incluyen `data.changes` con los valores anteriores y nuevos de los campos que cambiaron.

Consulta [Ejemplos de eventos](/es/developers/event-examples) para ver la estructura completa del payload de los eventos creados, actualizados y eliminados.

## Solicitudes de webhook

Una solicitud de webhook es un intento de entrega de Syntage a un endpoint de webhook. Los registros de solicitudes son útiles para monitorear el estado de las entregas e investigar fallas.

Syntage registra la URL del endpoint, el evento relacionado, el código de estado de la respuesta, el tiempo de respuesta y las marcas de tiempo. Si Syntage no puede obtener una respuesta HTTP, por ejemplo cuando la solicitud expira después de 3 segundos, el `responseStatusCode` registrado es `0`.

Las entregas se consideran exitosas cuando tu endpoint devuelve un código de estado HTTP `2xx`. Las entregas fallidas se reintentan hasta 4 veces, por lo que tu manejador de webhooks debe procesar los eventos de manera idempotente.
