Control de Idempotencia
Para evitar duplicidades accidentales debido a reintentos o timeouts de red, todos los endpoints de emisión de comprobantes (POST /v1/invoices, /v1/boletas, etc.) requieren obligatoriamente una cabecera de idempotencia:
Idempotency-Key: <valor_unico_por_documento>Cómo funciona
- UUID Único: Debes generar un identificador único (recomendamos UUID v4 o el identificador interno de la transacción en tu base de datos) y asociarlo a cada intento de emisión.
- Manejo de Reintentos seguros: Si tu servidor no recibe respuesta debido a un corte de conexión o latencia de red, puedes enviar exactamente la misma petición con la misma cabecera
Idempotency-Key. La API devolverá la respuesta original con un código200 OKy la cabecera de respuesta HTTPIdempotent-Replay: true. - Protección de Colisiones: Si utilizas una misma
Idempotency-Keycon un payload de documento distinto, la API responderá con un error422 Unprocessable Entity(idempotency-reused) para evitar sobreescribir datos. - Obligatoriedad: Las peticiones de emisión que no incluyan la cabecera
Idempotency-Keyserán rechazadas inmediatamente con un código de estado400 Bad Request.