Generar un contrato PDF
La API Generar Contratos toma una plantilla que usted controla y un conjunto de variables — nombres de las partes, fechas, montos, cláusulas que cambian según el trato — y las fusiona en un PDF terminado y listo para enviar a firma. Existe porque el texto de un contrato rara vez cambia, pero los nombres y números dentro de él cambian cada vez.
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.
El problema de los contratos es la repetición, no el idioma
La mayoría de los contratos que envía un negocio son, legalmente, el mismo documento con nombres, fechas y cifras distintas: un acuerdo de confidencialidad, un contrato de servicios, un anexo de arrendamiento, una oferta laboral. Copiar esas variables a mano es donde se cuelan los errores — una fecha equivocada, una cláusula desactualizada, un nombre mal escrito en el párrafo tres pero no en la firma. La api generar contratos elimina ese paso, tratando el contrato como una plantilla más datos, no como un documento editado a mano cada vez.
Cómo funciona la fusión
Proporciona una plantilla — identificada por un ID que configuró — y un objeto JSON de variables: nombres y direcciones de las partes, fechas de vigencia y vencimiento, términos monetarios y cláusulas opcionales que apliquen a este caso. El servicio fusiona ambos, completa cada marcador de posición y produce un PDF donde el texto legal queda intacto y solo cambia el contenido variable, llamada tras llamada.
Generación y entrega, de punta a punta
Llamar a POST /pdf/contract devuelve de inmediato un task_id, mientras la fusión ocurre de forma asíncrona en nuestra red global. Una vez que el contrato está listo, le avisamos mediante un webhook firmado — correcto para un sistema que enruta el documento a un flujo de firma electrónica — o mediante un enlace firmado válido 24 horas cuando alguien solo necesita descargar una copia.
Del texto estándar al documento vinculante, a velocidad de software
La idea de un contrato tipo con variables por llenar es anterior al software — los acuerdos de formato estándar existen desde que los negocios necesitaron tratos repetibles con distintas contrapartes. Lo que cambia aquí es la velocidad: una plataforma de contratación que genera una carta oferta en el instante en que un candidato acepta condiciones, una arrendadora que produce un contrato específico para el inquilino apenas se aprueba una solicitud, un proveedor que emite un acuerdo de servicio por cada cliente nuevo integrado. Como cada solicitud es autónoma, generar el contrato es un paso del propio flujo de trabajo, no una cola para alguien de legal u operaciones.
Qué cuesta y cómo se maneja la información del contrato
El precio es de $0.040 por solicitud más $0.001 por documento, una tarifa publicada, sin tokens ni créditos inventados. Una generación fallida nunca se cobra — reintentamos tres veces y devolvemos un error claro. El acceso requiere saldo prepago; no hay plan gratuito ni prueba, que es lo que mantiene el endpoint rápido y libre de abuso, con las solicitudes sin saldo recibiendo un 402. El contenido del contrato se elimina tras la ventana de retención y nunca se usa para entrenar nada.
Qué puede hacer con ella
Cartas oferta de empleo
Una plataforma de contratación fusiona el nombre del candidato, el puesto, el salario y la fecha de inicio en la plantilla de oferta en el momento en que se aprueba internamente.
Contratos de arrendamiento por inquilino
Un sistema de gestión de propiedades genera un contrato con los datos del inquilino y las condiciones específicas de la unidad apenas se aprueba una solicitud de renta.
Acuerdos de servicio con clientes
Una plataforma de proveedores o agencia emite un acuerdo de servicio con el alcance y las tarifas del nuevo cliente completados automáticamente durante la integración.
Acuerdos de confidencialidad para nuevas contrapartes
Una herramienta de gestión de negociaciones genera un acuerdo de confidencialidad con el nombre legal de la contraparte y la fecha de vigencia cada vez que inicia una nueva negociación.
Preguntas frecuentes
¿Cómo genero un contrato en PDF con una API?
Envía la referencia de una plantilla más un objeto JSON de variables a POST /pdf/contract y recibe un task_id. La api generar contratos fusiona ambos de forma asíncrona y entrega el PDF por webhook firmado o por un enlace firmado válido 24 horas.
¿Esta API 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.
¿Puedo usar mis propias plantillas de contrato?
Sí. Usted proporciona la plantilla y el endpoint fusiona sus variables en ella, así que el texto legal permanece exactamente como lo escribió y solo cambian los campos específicos del trato.
¿Verifica la corrección legal del contrato?
No. El servicio fusiona su plantilla con los datos que proporciona y produce un PDF con formato correcto; el contenido legal y su exigibilidad siguen siendo responsabilidad suya y de su plantilla.
¿Puedo generar contratos para muchas contrapartes a la vez?
Sí. Como el endpoint es asíncrono y cada llamada es independiente, puede generar un contrato por contraparte en paralelo desde un solo lote de integración o contratación.
¿Qué pasa si falla la generación de un contrato?
Una tarea fallida nunca se cobra. Reintentamos tres veces y, si aún no puede construirse, recibe un error claro en lugar de un fallo silencioso o un cargo.
¿El resultado se puede conectar directamente con una herramienta de firma electrónica?
Sí. El webhook firmado entrega el PDF terminado en cuanto está listo, lo cual encaja de forma natural en un flujo que enruta el documento de inmediato a un paso de firma electrónica.
¿Cuánto tiempo puedo acceder al contrato generado?
El enlace firmado permanece válido 24 horas, o puede recibir el PDF de inmediato por webhook firmado. Tras la ventana de retención se elimina y nunca se usa para entrenamiento.
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/contract \
-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/contract", {
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/contract",
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/contract", 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/contract", 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.contract",
"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. |