Errores
Todas las respuestas usan el mismo sobre:
{ "codigo": 400, "mensaje": "Texto para personas", "procesado": false, "data": { "code": "ECF_VALIDATION", "traceId": "0HN...:00000003" } }
codigocoincide con el estado HTTP.data.codeidentifica el caso, para que tu sistema decida qué hacer sin interpretar textos.data.traceIdes lo que hay que indicar a soporte.
Estados HTTP
| HTTP | Significado |
|---|---|
400 | La petición o el comprobante no son válidos. |
401 | Falta el token, venció o es inválido; o el RNCEmisor no es el de tu credencial. |
402 | La licencia de la empresa no permite emitir (sin plan, suspendida o cuota agotada). |
403 | Credencial correcta, pero sin permiso para esa empresa u operación. |
404 | No existe (comprobante, RNC). |
409 | Conflicto de estado del e-NCF. |
429 | Demasiados intentos. Respeta la cabecera Retry-After. |
500 | Error inesperado de EmitexRD. Reporta el traceId. |
502 | La DGII no respondió o la entrega quedó sin confirmar. |
Códigos de send
data.code | HTTP | Qué hacer |
|---|---|---|
ECF_VALIDATION | 400 | Corrige los campos indicados en data.errores (campo, codigo, mensaje). |
DTO_NULL | 400 | Envía el cuerpo del comprobante. |
ENV_NOT_FOUND | 400 | La empresa no tiene el ambiente DGII configurado: contacta a soporte. |
ECF_IN_PROGRESS | 409 | Ese e-NCF ya se está enviando. Espera y consulta su estado. |
ECF_ALREADY_SENT | 409 | Ese e-NCF ya se envió con otro contenido. Usa otro e-NCF. |
ECF_DELIVERY_UNKNOWN | 409 / 502 | No se sabe si la DGII lo recibió. Consulta el estado antes de reintentar. |
DGII_NO_TRACK | 400 | La DGII no devolvió TrackId. Reintenta más tarde. |
UNEXPECTED_ERROR | 500 | Reporta el traceId a soporte. |
validate no usa estos códigos para el contenido del comprobante: responde 200 con data.valido = false y la lista en data.errores.