Vista previa (PDF)
Devuelve el PDF A4 de la cotización tal como saldría, sin guardarla. Mismo cuerpo que Crear cotización. El PDF lleva el sello VISTA PREVIA.
POSThttps://api.facturalo.pe/api/v3/cotizaciones/vista-previa
Parámetros del request
Campo
Descripción
establecimientostring | nullopcional
UUID del establecimiento. Si se omite, el principal.
seriestringopcional
Serie de 4 caracteres. Default
C001. El correlativo lo asigna Facturalo (siguiente de la serie).Ej: C001fechaEmisionstringrequerido
YYYY-MM-DD.Ej:
2026-11-09diasValidezinteger | nullopcional
Validez en días (1 a 365). Si llega,
fechaVencimiento = fechaEmision + días.Ej: 15fechaVencimientostring | nullopcional
Válida hasta (YYYY-MM-DD). Se usa cuando no envías
diasValidez.Ej: 2026-11-24monedastringrequerido
PEN o USD.Ej: PENestadostringopcional
BORRADOR (default), ENVIADA, ACEPTADA o RECHAZADA.Ej: BORRADORformaPagostring | nullopcional
Texto libre para el PDF (máx. 150).Ej:
50% adelanto, saldo contra entregatiempoEntregastring | nullopcional
Texto libre para el PDF (máx. 150).Ej:
5 días hábilesobservacionesstring | nullopcional
Máx. 1000. Pasa a la factura/boleta al convertir.Ej:
Precios incluyen instalación.condicionesstring | nullopcional
Términos y condiciones (máx. 2000).Ej:
Garantía de 12 meses.cuentasstring[]opcional
UUIDs de cuentas de pago que salen en el PDF. Sin el campo: al crear, las marcadas para cotizaciones; al editar, se mantienen.
[] = ninguna.clienteobjectrequerido
Datos del cliente.
tipoDocumentostringrequerido
Catálogo 06:
6 RUC, 1 DNI, 4 carné de extranjería, 7 pasaporte, 0 sin documento.Ej: 6numeroDocumentostring | nullopcional
Obligatorio con RUC (11 dígitos) o DNI (8 dígitos).Ej:
20601476551denominacionstringrequerido
Razón social o nombre (máx. 250).Ej:
CLIENTE DEMO S.A.C.direccionstring | nullopcional
Dirección (máx. 500).Ej:
AV. LIMA 123correostring | nullopcional
Correo del cliente.Ej:
compras@cliente.pecelularstring | nullopcional
Celular del cliente (máx. 20).Ej:
987654321itemsarrayrequerido
Entre 1 y 300 ítems, con el mismo formato que al emitir.
tipostringopcional
producto o servicio. Si falta, se deduce de unidadMedida (ZZ = servicio).Ej: productoproductoIdstring | nullopcional
UUID reservado para el catálogo de productos y servicios (próximamente). Hoy se guarda tal cual.
unidadMedidastringopcional
NIU, ZZ, BX, PK, KT o GLI. Si falta: NIU para producto, ZZ para servicio.Ej: NIUcodigostring | nullopcional
Código interno del producto (máx. 100).Ej:
P-01descripcionstringrequerido
Descripción (máx. 500).Ej:
Laptop 14" Core i5cantidadnumberrequerido
Mayor a 0.Ej:
2precioUnitarionumberrequerido
Precio unitario con IGV, igual que al emitir.Ej:
3500.50tipoIgvstringopcional
Catálogo 07 (
10 gravado, 20 exonerado, 30 inafecto…). Default 10.Ej: 10descuentonumberopcional
Descuento de la línea, con IGV.Ej:
0Un error de validación responde 422 en JSON, igual que al crear.
Language
Credentials
Header
Authorization
Token de la empresa · HTTP directo
Fetch Request
$ # Node 18+ fetch
const response = await fetch("https://api.facturalo.pe/api/v3/cotizaciones/vista-previa", {
method: "POST",
headers: {
"Authorization": "sk_test_…",
"Content-Type": "application/json"
},
body: JSON.stringify({
"fechaEmision": "2026-11-09",
"diasValidez": 15,
"moneda": "PEN",
"formaPago": "50% adelanto, saldo contra entrega",
"tiempoEntrega": "5 días hábiles",
"observaciones": "Precios incluyen instalación.",
"condiciones": "Garantía de 12 meses.",
"cuentas": [
"a32ef8b1-b485-43e8-af6b-a744e01857a0",
"a32ef8b1-cdbe-4a38-b6c7-d65261efe751"
],
"cliente": {
"tipoDocumento": "6",
"numeroDocumento": "20601476551",
"denominacion": "CLIENTE DEMO S.A.C.",
"direccion": "AV. LIMA 123",
"correo": "compras@cliente.pe"
},
"items": [
{
"tipo": "producto",
"codigo": "P-01",
"descripcion": "Laptop 14\" Core i5",
"cantidad": 2,
"precioUnitario": 3500.5,
"tipoIgv": "10"
},
{
"tipo": "servicio",
"descripcion": "Instalación y configuración",
"cantidad": 1,
"precioUnitario": 250,
"tipoIgv": "10",
"descuento": 50
},
{
"tipo": "producto",
"descripcion": "Libro técnico",
"cantidad": 3,
"precioUnitario": 40,
"tipoIgv": "20"
}
]
})
});
const data = await response.json();
console.log(data);HTTP directo · funciona con cualquier cliente HTTP
Response
Elige un ejemplo de respuesta:
application/json
200· application/pdf
%PDF-1.7 … (application/pdf)