Crear Factura

El endpoint devuelve el CDC, link del QR y otros datos en la solicitud POST para crear documentos electrónicos.

Endpoint

POST
https://api.factpy.com/facturacion-api/data.php
recordID Requerido

Es necesario el envío del recordID que se encuentra en tu perfil.

Estructura para crear la factura

Datos generales de la factura

Información básica como fecha, establecimiento, tipo de documento, etc.

Datos del cliente

Información completa del receptor de la factura.

Datos de los productos o servicios

Items con descripción, cantidad, precios e IVA.

Parámetros del Cuerpo (Body)

El cuerpo (Body) de la solicitud debe enviarse en formato form-data y debe incluir los siguientes parámetros:

Parámetro Tipo Descripción
dataJson string Contiene los datos de la factura en formato JSON. Debe incluir toda la información necesaria para la facturación electrónica.
recordID string Identificador único del registro en el sistema. Este ID se usa para asociar la factura con un registro específico en la base de datos.
Importante

El dataJson debe ser una cadena JSON válida que contenga todos los datos de la factura según el tipo de documento que estés creando.

Ejemplo de JSON de respuestas

Respuesta Exitosa

JSON - Success
{
  "status": true,
  "recordID": "35f35xsatra0098241aq1",
  "cdc": "01rucemisor001001000000122025040116598712536",
  "cdcSpace": "0100 0000 0000 0100 1000 0001 2202 5040 1165 9871 2536",
  "link": "ekuatia.set.gov.py/consultas-test/",
  "code": "NA",
  "xmlLink": "api.factpy.com/facturacion-api/firmados/01000000001001000000122025040116598712536.xml",
  "kude": "api.factpy.com/facturacion-api/kude/fe/01000000001001000000122025040116598712536"
}
status boolean
Indica si la operación fue exitosa (true) o falló (false).
recordID string
El identificador del registro en el sistema FactPy.
cdc string
Código de Control del documento electrónico (CDC) sin espacios.
cdcSpace string
CDC formateado con espacios para mejor lectura.
link string
URL de consulta del documento en el portal de la SET.
xmlLink string
URL para descargar el archivo XML firmado del documento.
kude string
URL para visualizar o descargar el KUDE (representación gráfica del DE).

Respuesta de Error

JSON - Error
{
  "status": false,
  "code": "ERROR - Establecimiento (000) no esta configurado para la empresa."
}
Manejo de Errores

Cuando status es false, revisa el campo code que contiene el mensaje de error detallado.

Ejemplo de Uso con cURL

BASH
curl -X POST https://api.factpy.com/facturacion-api/data/ \
  -H "Content-Type: multipart/form-data" \
  -F "recordID=35f35xsatra0098241aq1" \
  -F 'dataJson={
    "fecha": "2025-01-17 17:25:26",
    "establecimiento": "001",
    "punto": "001",
    "numero": "0000060",
    "tipoDocumento": 1,
    "condicionPago": 1,
    "moneda": "PYG",
    "receiptid": "test60",
    "cliente": {
      "ruc": "44444-1",
      "nombre": "CLIENTE EJEMPLO"
    },
    "items": [{
      "descripcion": "Producto ejemplo",
      "cantidad": 1,
      "precioUnitario": 1000
    }],
    "pagos": [{
      "tipoPago": "1",
      "monto": 1000
    }],
    "totalPago": 1000
  }'

Próximos Pasos