Generar con HTML directo
Envía el HTML en la petición cuando lo produces tú, cuando viene de otro sistema, o cuando quieres un documento puntual y nada que mantener en el portal.
curl -X POST https://api.example.com/v1/render \ -H "Authorization: Bearer $RUSTEDF_KEY" \ -H "Content-Type: application/json" \ -d '{ "html": "<h1>Hola {{ name }}</h1><p>{{ total | currency(code=\"EUR\") }}</p>", "data": { "name": "Mundo", "total": "1234.50" }, "locale": "es-ES" }' \ -o hola.pdfEl campo html es una plantilla, igual que una guardada: {{ }}, {% %} y los filtros de
formato funcionan (consulta Plantillas). Si tu HTML ya es definitivo,
sin campos, envíalo tal cual y omite data.
Montar la petición
Sección titulada «Montar la petición»No pegues datos dentro de la cadena de HTML; pásalos en data, para que se escapen. En
Node.js:
const response = await fetch('https://api.example.com/v1/render', { method: 'POST', headers: { Authorization: `Bearer ${process.env.RUSTEDF_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ html: '<h1>{{ title }}</h1><ul>{% for i in items %}<li>{{ i }}</li>{% endfor %}</ul>', data: { title: 'Lista de la compra', items: ['Pan', 'Leche'] }, }),});Qué saber
Sección titulada «Qué saber»- Envía
htmlotemplate_id, nunca ambos y nunca ninguno: es un400. - No se guarda nada. No hay versión ni vista previa en el portal; el HTML se envía de nuevo en cada petición, y el límite de tamaño de tu plan se aplica a él.
- Las imágenes deben ser imágenes subidas (
asset:<id>) o URLdata:; consulta Imágenes. - Usa
/v1/validatecon el mismo cuerpo para comprobar el documento sin gastar un crédito.
Cuando el mismo diseño se genera a menudo, una plantilla guardada es más fácil de mantener. La petición y la respuesta están en Generar un PDF.