Guía de integración
Errores comunes
Cada error incluye el JSON que vas a recibir y qué hacer para solucionarlo. No solo el código — la acción concreta.
Errores frecuentes y cómo solucionarlos
INVALID_API_KEY — 401
{
"ok": false,
"error": {
"code": "INVALID_API_KEY",
"message": "La API Key no existe o fue revocada."
}
}Cómo solucionarlo: verificá que el header sea Authorization: Bearer dk_test_... (con espacio después de Bearer). Regenerá la key en el panel si fue revocada. En sandbox, no olvides X-Environment: sandbox.
INVALID_RUC — 422
{
"ok": false,
"error": {
"code": "INVALID_RUC",
"message": "El RUC del receptor no es válido.",
"field": "receptor.ruc"
}
}Cómo solucionarlo: el RUC debe incluir dígito verificador con guión (80012345-6). Verificá que el receptor esté activo en el registro tributario. En sandbox podés usar RUCs de prueba del quickstart.
INVALID_TIMBRADO — 422
{
"ok": false,
"error": {
"code": "INVALID_TIMBRADO",
"message": "El timbrado está vencido o no corresponde al tipo de documento."
}
}Cómo solucionarlo: cargá un timbrado vigente en app.difact.co y confirmá que el tipo_documento del request coincida (ej. 1 = factura). Renovación de timbrado ante la SET si está vencido.
SIFEN_REJECTED — 422
{
"ok": false,
"error": {
"code": "SIFEN_REJECTED",
"message": "SIFEN rechazó el documento.",
"sifen_code": "0522"
}
}Cómo solucionarlo: consultá el sifen_code en la tabla de abajo. Ejemplo 0522: el número de documento ya existe — incrementá el correlativo o revisá duplicados en tu ERP.
ITEM_IVA_INVALID — 400
{
"ok": false,
"error": {
"code": "ITEM_IVA_INVALID",
"message": "El valor de IVA no está permitido.",
"field": "items[0].iva"
}
}Cómo solucionarlo: el campo iva de cada ítem solo acepta 0, 5 o 10 (porcentaje en Paraguay). No uses decimales ni otros valores.
Formato de error
{
"ok": false,
"error": {
"code": "INVALID_RUC",
"message": "El RUC del receptor no es válido.",
"field": "receptor.ruc", // opcional, para errores de validación
"sifen_code": "0522" // opcional, código original de SIFEN
}
}Referencia completa de códigos
Códigos HTTP
| Status | Significado |
|---|---|
| 200 OK | Petición exitosa. |
| 201 Created | Recurso creado exitosamente. |
| 400 Bad Request | Parámetros inválidos o cuerpo mal formado. |
| 401 Unauthorized | API Key ausente o inválida. |
| 403 Forbidden | La key no tiene permiso para esta operación. |
| 404 Not Found | El recurso solicitado no existe. |
| 409 Conflict | El documento ya existe o no se puede modificar en su estado actual. |
| 422 Unprocessable | Los datos son válidos pero SIFEN los rechazó. |
| 429 Too Many Requests | Se superó el rate limit. Ver header X-RateLimit-Reset. |
| 500 Server Error | Error interno de DiFACT. Reportalo a soporte. |
| 503 Unavailable | SIFEN no disponible. DiFACT reintenta automáticamente. |
Códigos de error internos
| Código | Descripción |
|---|---|
INVALID_API_KEY | La API Key no existe o fue revocada. |
INSUFFICIENT_SCOPE | La key no tiene el scope requerido. |
INVALID_RUC | El RUC del emisor o receptor no tiene formato válido. |
INVALID_TIMBRADO | El timbrado está vencido o no corresponde al tipo de documento. |
DOCUMENT_ALREADY_EXISTS | Ya existe un documento con ese número en el timbrado. |
DOCUMENT_NOT_CANCELLABLE | El documento no puede anularse en su estado actual. |
SIFEN_REJECTED | SIFEN rechazó el documento. Ver campo sifen_code. |
SIFEN_TIMEOUT | SIFEN no respondió. El documento quedó en pending_retry. |
ITEM_IVA_INVALID | El valor de IVA de un ítem no está permitido (válidos: 0, 5, 10). |
QUOTA_EXCEEDED | Superaste el límite de facturas del plan. Actualizá tu plan. |
Errores de SIFEN
Cuando SIFEN rechaza un documento, el campo sifen_code contiene el código original de la SET. Los más frecuentes:
| Código SET | Descripción |
|---|---|
0501 | RUC del receptor no encontrado en el registro tributario. |
0502 | El RUC del receptor está inactivo. |
0522 | Número de documento ya existe para este timbrado. |
0524 | Timbrado vencido. |
0525 | Monto total no coincide con la sumatoria de ítems. |
0529 | Certificado digital no válido o vencido. |
0540 | Fecha del documento fuera del rango permitido. |
Para la lista completa de códigos de error de la SET consultá la Documentación técnica de e-Kuatia.