Crear Factura
El endpoint devuelve el CDC, link del QR y otros datos en la solicitud POST para crear documentos electrónicos.
Endpoint
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. |
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
{
"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"
}
true) o falló (false).
Respuesta de Error
{
"status": false,
"code": "ERROR - Establecimiento (000) no esta configurado para la empresa."
}
Cuando status es false, revisa el campo code que contiene el mensaje de error detallado.
Ejemplo de Uso con cURL
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
}'
Ejemplo JSON para Recibos
Para Recibos, el campo tipoDocumento debe ser 0. El campo metodoPago debe usar los códigos definidos en la sección Métodos de Pago.
{
"tipoDocumento": 0,
"establecimiento": "1",
"punto": "1",
"numero": "10",
"fecha": "2026-03-15 10:30:00",
"receiptid": "REC-0001",
"concepto": "Cobro de factura",
"codigoSeguridadAleatorio": "123456789",
"cliente": {
"ruc": "80000001-0",
"nombre": "Cliente de Prueba",
"correo": "cliente@correo.com"
},
"items": [
{
"documento": "001-001-0000001",
"importeDocumento": 100000,
"vencimientoDocumento": "2025-03-31",
"importePago": 100000,
"metodoPago": 2,
"numeroCheque": "12345678"
}
]
}