Error: conflict
Qué significa
Section titled “Qué significa”La operación no puede completarse porque hay un conflicto de estado en el sistema. No es un error de validación del request — los datos son válidos, pero el estado actual del sistema impide la operación.
Envelope de ejemplo
Section titled “Envelope de ejemplo”{ "error": { "type": "idempotency_error", "code": "conflict", "message": "El número de factura FE00001 ya existe para esta resolución.", "doc_url": "https://docs.emitia.co/errors/conflict", "request_id": "req_01HX…" }}HTTP status: 409 Conflict
Causas frecuentes
Section titled “Causas frecuentes”| Causa | Descripción |
|---|---|
| Número de factura duplicado | La resolución ya tiene una factura con ese número |
| Resolución de numeración ya activa | Solo puede haber una resolución activa por tipo+prefijo |
| Operación sobre recurso en estado terminal | No puedes modificar una factura ya aceptada por DIAN |
Diferencia con idempotency_conflict
Section titled “Diferencia con idempotency_conflict”code | Causa |
|---|---|
conflict | Conflicto de estado de negocio |
idempotency_conflict | Misma Idempotency-Key con body diferente |
Cómo resolverlo
Section titled “Cómo resolverlo”El 409 de negocio generalmente requiere revisar la lógica de tu integración:
- Para numeración duplicada: verifica que el contador sea atómico en tu sistema. Emitia maneja internamente la atomicidad del consecutivo DIAN.
- Para resoluciones: desactiva la anterior antes de activar la nueva.
- Para recursos en estado terminal: no modifiques una factura ya aceptada; crea una nota crédito si necesitas anularla.