Genera PDFs desde tus propias plantillas, con una sola llamada REST
Convierte un PDF que ya tienes en una plantilla reutilizable y rellénalo con tus datos a través de una API REST. Cada llamada devuelve una generación que sondeas hasta completar y que, opcionalmente, puede enviar por email el PDF final a tu destinatario, con el estado de entrega por destinatario que consultas a través de la API.
Empieza gratis: la API está disponible en todos los planes, incluido el gratuito.
De tu PDF a un documento terminado en tres pasos
- 01
Sube tu plantilla PDF
Trae un PDF que ya usas —una factura, un certificado, un contrato—. Se convierte en una plantilla reutilizable; no hay que rehacer nada en HTML ni CSS.
- 02
Mapea tus campos visualmente
En el editor, coloca los campos que quieres rellenar: campos de texto, fecha, imagen y QR, situados exactamente donde corresponden en la página. Cada campo recibe una clave que envías desde tu código.
- 03
Genera con la API
Envía el id de la plantilla y tus datos a la API REST. Recibes una generación que sondeas hasta que esté lista y después descargas el PDF final, o dejas que Papely lo envíe por email por ti.
Todo lo que necesitas para generar documentos a escala
Tus plantillas PDF actuales
Genera a partir de los PDFs que ya tienes: sin rehacer la plantilla y sin marcado. Lo que diseñaste es lo que se renderiza.
Mapeo visual de campos
Coloca campos de texto, fecha, imagen y QR en la página desde el editor; cada uno se convierte en una clave con nombre que rellenan tus peticiones.
Generación individual y por lotes
Genera un documento por petición, o hasta 100 en una sola llamada por lotes; los mismos endpoints de sondeo y descarga en ambos casos.
Envío de email integrado
Actívalo por petición y Papely envía por email el PDF final a tu destinatario en cuanto se genera; sin un servicio de correo aparte que integrar.
Seguimiento de generación y entrega
Sondea una generación hasta completarla y —cuando el email está activado— consulta el estado de entrega de cada destinatario a través de la API.
Pensada para los documentos que envías cada día
Facturas y recibos
Genera una factura o un recibo con tu marca por cada pedido y envíaselo al cliente en cuanto esté listo.
Certificados
Emite certificados de finalización o asistencia en lote, cada uno personalizado a partir de tus datos.
Informes de cliente
Convierte los datos de cada cliente en un informe PDF cuidado, de forma programada o bajo demanda.
Presupuestos y contratos
Produce presupuestos y contratos a partir de un diseño fijo, rellenados con los detalles de cada operación.
Una llamada para generar, sondear y entregar
La petición
Envía el id de tu plantilla y tus datos al endpoint de generación. Copia tu propio id de plantilla y referencia de imagen desde Configuración; los valores de abajo son marcadores de posición.
curl -X POST 'https://papely.app/api/public/v1/generations' \
-H 'Authorization: Bearer papely_sk_your_secret_here' \
-H 'Content-Type: application/json' \
-d '{
"templateId": "YOUR_TEMPLATE_ID",
"data": {
"invoice_number": "INV-2026-0042",
"issue_date": "2026-07-17",
"payment_qr": "https://papely.app/pay/INV-2026-0042",
"logo": "YOUR_IMAGE_REFERENCE",
"line_items": [
[
"Consulting",
"€1,200.00"
],
[
"Hosting",
"€49.00"
]
],
"email": "[email protected]",
"name": "Ada Lovelace"
},
"email": {
"subject": "Your invoice, {{name}}",
"message": "Hi {{name}}, your invoice is attached. Download it with the button below.",
"buttonText": "Download PDF"
}
}'202 Accepted: recibes un id de generación
La generación es asíncrona: la llamada devuelve de inmediato un id, no un archivo terminado.
{
"generationId": "2f4e6a8c-1b3d-4e5f-8a9b-0c1d2e3f4a5b"
}Sondea el estado hasta que esté completado
Solicita el endpoint de estado cada pocos segundos hasta que el estado sea completado (o fallido), y después descarga el documento.
{
"id": "2f4e6a8c-1b3d-4e5f-8a9b-0c1d2e3f4a5b",
"status": "completed"
}Sigue la entrega de email por destinatario
Cuando una generación opta por el email, sondea este endpoint para seguir a cada destinatario. La lista empieza vacía y se rellena a medida que el worker envía, así que consúltala una vez completada la generación. Cada entrada lleva un estado de entrega: uno de pending, sent, delivered, bounced o failed. Downloaded no es un estado: se deriva de un downloadedAt no nulo, que se fija cuando el destinatario abre el enlace de descarga. Un fallo de envío se refleja solo en la entrada; nunca hace fallar la generación ni mueve tu cuota. Los emails se envían desde una dirección fija, [email protected], no desde tu propio dominio.
{
"id": "2f4e6a8c-1b3d-4e5f-8a9b-0c1d2e3f4a5b",
"emailEnabled": true,
"emails": [
{
"email": "[email protected]",
"name": "Ada Lovelace",
"status": "delivered",
"sentAt": "2026-07-17T09:00:05.000Z",
"deliveredAt": "2026-07-17T09:00:07.000Z",
"downloadedAt": "2026-07-17T09:15:00.000Z",
"error": null
}
]
}Diseñada para integrarse limpiamente
La autenticación, cada endpoint, los límites de tasa y el contrato de campos completo están en la referencia de la API. Esta página es la visión general; la referencia es el detalle.
Todos los errores usan un mismo sobre —{ error: { code, message, details? }, requestId }— y cada código es una cadena estable y legible por máquina sobre la que puedes ramificar.
Dos cosas que conviene saber de antemano: cada enlace de descarga se firma de nuevo y caduca al cabo de una hora, así que obtén los bytes poco después de solicitarlo; y los PDFs generados se conservan durante una ventana que depende del plan antes de que una limpieza programada los elimine.
Crea tu clave como propietario del workspace en Configuración → Credenciales de API. El secreto completo se muestra una sola vez, así que guárdalo en un lugar seguro.
Preguntas frecuentes
Empieza a generar PDFs hoy
Crea una cuenta, añade tu primera plantilla y haz tu primera llamada a la API.
Empieza gratis: la API está disponible en todos los planes, incluido el gratuito.