DiFACTDocumentación API
Ir al panel

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

JSON
{
  "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

JSON
{
  "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

JSON
{
  "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

JSON
{
  "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

JSON
{
  "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

JSON
{
  "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

StatusSignificado
200 OKPetición exitosa.
201 CreatedRecurso creado exitosamente.
400 Bad RequestParámetros inválidos o cuerpo mal formado.
401 UnauthorizedAPI Key ausente o inválida.
403 ForbiddenLa key no tiene permiso para esta operación.
404 Not FoundEl recurso solicitado no existe.
409 ConflictEl documento ya existe o no se puede modificar en su estado actual.
422 UnprocessableLos datos son válidos pero SIFEN los rechazó.
429 Too Many RequestsSe superó el rate limit. Ver header X-RateLimit-Reset.
500 Server ErrorError interno de DiFACT. Reportalo a soporte.
503 UnavailableSIFEN no disponible. DiFACT reintenta automáticamente.

Códigos de error internos

CódigoDescripción
INVALID_API_KEYLa API Key no existe o fue revocada.
INSUFFICIENT_SCOPELa key no tiene el scope requerido.
INVALID_RUCEl RUC del emisor o receptor no tiene formato válido.
INVALID_TIMBRADOEl timbrado está vencido o no corresponde al tipo de documento.
DOCUMENT_ALREADY_EXISTSYa existe un documento con ese número en el timbrado.
DOCUMENT_NOT_CANCELLABLEEl documento no puede anularse en su estado actual.
SIFEN_REJECTEDSIFEN rechazó el documento. Ver campo sifen_code.
SIFEN_TIMEOUTSIFEN no respondió. El documento quedó en pending_retry.
ITEM_IVA_INVALIDEl valor de IVA de un ítem no está permitido (válidos: 0, 5, 10).
QUOTA_EXCEEDEDSuperaste 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 SETDescripción
0501RUC del receptor no encontrado en el registro tributario.
0502El RUC del receptor está inactivo.
0522Número de documento ya existe para este timbrado.
0524Timbrado vencido.
0525Monto total no coincide con la sumatoria de ítems.
0529Certificado digital no válido o vencido.
0540Fecha 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.

Sofía, asistente de DiFACT
Chat en línea¿Dudas con la API?