curl --request POST \
--url https://api.pruff.com/api/clients/documents \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"businessIdentifier": "76000000-0",
"subProductId": "electronic-invoice",
"currency": "CLP",
"documents": [
{
"folio": "1333",
"type": "electronic-invoice",
"businessIdentifier": "76000000-0",
"businessName": "Cliente Ejemplo SpA",
"stakeholderIdentifier": "77777777-7",
"stakeholderName": "Pagador Ejemplo SpA",
"clientName": "Cliente Ejemplo SpA",
"issuedDate": "2025-07-09",
"receiptDate": "2025-07-10",
"amount": 4123123
}
]
}
'{
"documentsRepetead": [],
"documentsCreated": [
{
"id": "c1d2e3f4-5678-4abc-8def-1234567890ab",
"folio": "1333",
"type": "electronic-invoice",
"subType": "33",
"businessIdentifier": "76000000-0",
"stakeholderIdentifier": "77777777-7",
"clientIdentifier": "76000000-0",
"issuedDate": "2025-07-09T00:00:00.000Z",
"receiptDate": "2025-07-10T00:00:00.000Z",
"amount": 4123123,
"currency": "CLP",
"paidAt": null
}
]
}Crear documentos
Crea uno o más documentos (facturas electrónicas) asociados a un cliente y a un subproducto. La operación es idempotente: un documento que ya existe no se vuelve a crear y se devuelve en documentsRepetead. Un documento ya existe si coincide el RUT del emisor del documento (su businessIdentifier), el folio, el tipo de documento y el subproducto, o si coincide su cufe cuando lo envías.
Si el emisor, el deudor o el cliente de un documento aún no existen en Pruff, se crean automáticamente con los nombres que envías. Si Pruff ya conoce la fecha de recepción de la factura según el SII, esa fecha reemplaza la que envíes en receiptDate.
Los RUT (o Nit) se validan según la moneda de la solicitud: en CLP, UF y UTM se valida un RUT chileno (sin puntos, con guion y dígito verificador válido); en COP, un Nit colombiano (por ejemplo 900111222-1). La moneda PEN aún no está disponible en este endpoint. Usa una de las monedas CLP, UF, UTM o COP.
El RUT del deudor no puede ser igual al del emisor del documento, salvo que el subProductId sea promissory-note (pagaré), donde pueden coincidir. Con cualquier otro subproducto, si alguno lo es, la solicitud completa se rechaza con 400 y data.folios lista los folios afectados.
Cuando el emisor factura en pesos colombianos (currency: COP), cada documento puede incluir el cufe emitido por la DIAN. Si lo envías, el documento se crea con id igual al cufe. Si ya existe un documento con ese id, no se vuelve a crear y se devuelve en documentsRepetead, incluso si el folio es distinto. El cufe solo se permite con COP, no puede ir vacío, admite hasta 191 caracteres y no puede repetirse dentro de la misma solicitud.
Pruff quita los espacios al inicio y al final de cada folio. Un folio vacío o formado solo por espacios se rechaza con 400. No repitas el mismo folio (con el mismo emisor y type) dentro de una misma solicitud: si lo haces, la solicitud completa se rechaza con 400 y message lista los folios repetidos.
Para las monedas disponibles en este endpoint, cada amount se redondea al entero más cercano. Si el monto redondeado es mayor que 9007199254740991, no se puede guardar y la solicitud completa se rechaza con 400.
La creación es atómica: si falla la creación de algún documento nuevo, no se crea ninguno y tampoco los emisores, deudores o clientes nuevos de esa solicitud. Si una solicitud responde 500, reenvíala completa: los documentos que ya existan vendrán en documentsRepetead.
Cada solicitud admite como máximo 250 documentos; si necesitas crear más, divídelos en varias solicitudes. El body no puede superar 500 KB.
curl --request POST \
--url https://api.pruff.com/api/clients/documents \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"businessIdentifier": "76000000-0",
"subProductId": "electronic-invoice",
"currency": "CLP",
"documents": [
{
"folio": "1333",
"type": "electronic-invoice",
"businessIdentifier": "76000000-0",
"businessName": "Cliente Ejemplo SpA",
"stakeholderIdentifier": "77777777-7",
"stakeholderName": "Pagador Ejemplo SpA",
"clientName": "Cliente Ejemplo SpA",
"issuedDate": "2025-07-09",
"receiptDate": "2025-07-10",
"amount": 4123123
}
]
}
'{
"documentsRepetead": [],
"documentsCreated": [
{
"id": "c1d2e3f4-5678-4abc-8def-1234567890ab",
"folio": "1333",
"type": "electronic-invoice",
"subType": "33",
"businessIdentifier": "76000000-0",
"stakeholderIdentifier": "77777777-7",
"clientIdentifier": "76000000-0",
"issuedDate": "2025-07-09T00:00:00.000Z",
"receiptDate": "2025-07-10T00:00:00.000Z",
"amount": 4123123,
"currency": "CLP",
"paidAt": null
}
]
}Cuerpo
Identificador del subproducto de factoring al que se asocian los documentos. Si no existe en tu empresa, la solicitud responde 404. Algunos valores habituales son electronic-invoice, check-invoice, buy-order, check, contract, pending-account, promissory-note y renegotiation. Con promissory-note el RUT del deudor puede ser igual al del emisor; con cualquier otro subproducto se rechaza.
1"electronic-invoice"
Respuesta
Resultado de la creación. Los documentos nuevos están en documentsCreated y los que ya existían, en documentsRepetead. Si todos existían, documentsCreated es un arreglo vacío.