Crear un presupuesto PDF
La API Generar Presupuesto PDF toma los números que su herramienta de ventas ya calculó — ítems, precios, una fecha de vigencia — y los convierte en un PDF cuidado que un cliente puede abrir y aprobar, sin que nadie abra una plantilla de diseño. Existe para el momento en que una negociación está lo bastante avanzada como para necesitar papel, no una captura de pantalla de una hoja de cálculo.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
La distancia entre un precio y un documento
Un cliente que pide un presupuesto quiere algo que pueda reenviar a su jefe, imprimir o adjuntar a una orden de compra — no un mensaje de chat con cifras. La mayoría de las herramientas que calculan precios se detienen en el número mismo, dejando que alguien lo copie a mano en una plantilla antes de que parezca una oferta real. La api generar presupuesto pdf cierra esa brecha: acepta los mismos datos estructurados que su lógica de precios ya produce y devuelve un documento terminado y presentable.
Cómo se ve la solicitud
Envía JSON con los productos o servicios cotizados, cantidades, precios unitarios, descuentos si los hay, y una fecha de vigencia tras la cual la oferta expira — además de su marca, para que el destinatario vea su logo y sus colores en lugar de un diseño neutro. El servicio organiza todo como un presupuesto formal: filas con detalle de partidas, un total claro y la fecha de vencimiento visible arriba, donde un comprador espera verla, porque un presupuesto sin fecha límite se lee como una lista de precios, no como una oferta.
De la solicitud al PDF entregado
Llamar a POST /pdf/quote devuelve un task_id de inmediato — no hay que mantener una conexión abierta mientras se genera el documento. La generación ocurre de forma asíncrona en nuestra red global, y el aviso de finalización llega por webhook firmado, la opción que prefiere un CRM o herramienta de ventas para adjuntar el presupuesto a un correo en cuanto está listo, o por un enlace firmado válido 24 horas cuando alguien solo necesita bajar un archivo.
Dónde encaja en un flujo de ventas
Esto encaja de forma natural detrás de un botón 'Enviar presupuesto' en un CRM, un configurador que cotiza un pedido a medida, o una herramienta de soporte que convierte una conversación en una oferta formal. Como cada llamada es una solicitud asíncrona independiente ligada a un task_id, un equipo comercial puede generar diez presupuestos con la misma facilidad que uno — un vendedor explorando opciones de precio para un cliente, o una plataforma cotizando a cada lead que llena un formulario, sin que ningún caso necesite una ruta de código distinta.
Precio y confiabilidad
El endpoint cuesta $0.040 por solicitud más $0.001 por documento, una tarifa publicada, no medida en unidades inventadas. Un presupuesto que falla al generarse nunca se cobra; el sistema reintenta tres veces antes de devolver un error claro, así que un fallo puntual de generación nunca cuesta dinero en silencio. Usarlo requiere saldo prepago, sin plan gratuito ni periodo de prueba, lo que mantiene el rendimiento predecible y el endpoint libre de abuso; sin saldo, las solicitudes reciben un 402. Los datos del presupuesto se eliminan tras el periodo de retención y nunca se usan para entrenar nada.
Qué puede hacer con ella
Botón 'Enviar presupuesto' en el CRM
Un vendedor hace clic en Enviar presupuesto dentro del CRM y minutos después llega al correo del cliente un PDF con su marca, las partidas negociadas y una vigencia de 30 días.
Cotizaciones desde un configurador de producto
Un configurador de fabricación a medida calcula el precio de las opciones elegidas por el comprador y de inmediato genera un presupuesto PDF formal en lugar de mostrar solo un número en pantalla.
De soporte a ventas
Un agente de soporte convierte una conversación de precios en el chat en un documento de presupuesto formal que el cliente puede reenviar internamente para su aprobación.
Cotización masiva de leads entrantes
Una plataforma B2B cotiza automáticamente a cada lead que completa un formulario de precios, generando cada PDF como una solicitud asíncrona independiente sin intervención humana.
Preguntas frecuentes
¿Cómo genero un presupuesto en PDF con una API?
Envíe JSON con las partidas, precios y una fecha de vigencia a POST /pdf/quote y recibe un task_id de inmediato. La api generar presupuesto pdf construye el PDF de forma asíncrona y lo entrega por webhook firmado o por un enlace firmado válido 24 horas.
¿La API de presupuestos en PDF es gratis?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿El presupuesto puede llevar mi logo y mi marca?
Sí. Envía sus elementos de marca en la solicitud y el PDF generado muestra su logo y sus colores en lugar de un diseño genérico.
¿El PDF muestra una fecha de vencimiento o vigencia?
Sí, define una fecha de vigencia en la solicitud y aparece visible en el documento, porque un presupuesto sin fecha límite se lee como una simple lista de precios y no como una oferta.
¿Puedo generar presupuestos para muchos leads a la vez?
Sí. Cada llamada es una solicitud asíncrona independiente que devuelve su propio task_id, así que generar presupuestos en lote es simplemente llamar al endpoint varias veces.
¿Qué pasa si falla la generación de un presupuesto?
Nunca se cobra. El servicio reintenta tres veces automáticamente y, si aún así no logra construir el documento, recibe un error claro en lugar de un fallo silencioso.
¿Cómo se entrega el presupuesto terminado?
Por webhook firmado en el instante en que está listo, la opción que prefieren la mayoría de las herramientas de ventas, o por un enlace firmado válido 24 horas si solo necesita bajar el archivo manualmente.
¿Qué pasa con los datos del presupuesto después?
Se eliminan al pasar la ventana de retención y nunca se usan para entrenar modelos, así que los detalles de precios se mantienen confidenciales para su cuenta.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/pdf/quote \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/quote", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/quote",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/quote", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/quote", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"pdf": "https://ejemplo.com/documento.pdf"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.quote",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
max_pages | 200 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |