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
}'