Previsualizar una plantilla de email
/v1/mail-templates/previewPara desarrolladores
Descripción
Renderiza un documento de plantilla y devuelve el HTML que llegaría al destinatario. No hace falta una plantilla guardada y no se guarda nada.
Un documento con errores responde 422, igual que al guardarlo. Para ver los errores sin que la llamada falle, use POST /v1/mail-templates/validate.
Con vars, el HTML vuelve completado con esos valores, como lo recibiría un destinatario con esos datos: los bloques {% if %} y {% for %}, los de las filas (if y for) y los filtros de formato quedan resueltos. El valor de un campo de selección trae la etiqueta de su opción, como en el envío de una campaña, así que {{ CIUDAD.label }} muestra su texto.
Si omite vars, el HTML se completa con los valores de ejemplo que el documento guarda en sampleValues (formato). Si no envía ninguno de los dos, las etiquetas vuelven tal como están escritas. Un vars vacío ({}) se usa tal cual: cada etiqueta toma su respaldo.
Guía relacionada
- Plantillas por API — Cree y edite plantillas desde su integración.
- Plantillas de email — Cree y reutilice el contenido de sus envíos.
Autenticación
Authorizationbearer tokenheaderobligatorio- API key con scope
templates:read. Formato:Bearer <API_KEY>. X-Instance-Slugstringheaderobligatorio- Identificador de su instancia. Ver Autenticación.
Request
Body:
{
"config": {
"mode": "html",
"rawHtml": "<html><body><p>Hola</p><a href=\"fide:unsubscribe\">Darse de baja</a></body></html>",
"page": { "rows": [] }
},
"preheader": "Hasta 40% de descuento este fin de semana",
"vars": { "NOMBRE": "Ana" }
}
configobjectobligatorio- Documento completo, hasta 256 KB, como lo devuelve
GET /v1/mail-templates/{template_id}, incluido el modo HTML crudo. preheaderstring | null- Preheader con el que se renderiza, hasta 255 caracteres.
varsobject | null- Valores de ejemplo para las etiquetas. Siguen las reglas de
varsen un envío: claves sin distinguir mayúsculas de minúsculas, valores de texto, número, booleano, lista u objeto, sinEMAIL. Si lo omite, se usan lossampleValuesdel documento.
Response
htmlstringsiempre presente- HTML del correo, con el preheader incluido como bloque oculto al comienzo del cuerpo. En modo HTML crudo, el HTML enviado sin cambios salvo el preheader.
Errores
| Código | Cuándo |
|---|---|
| 413 | El body supera el tamaño máximo de una petición, o el documento, una vez completado con sus valores por defecto, supera los 256 KB (request_too_large). |
| 422 | El documento tiene errores (invalid_document). Hay un ítem por error, con su pointer bajo /config, params.rule y params.uuid. También responde 422 si no se envió ningún documento (document_required), si el body trae el campo essential (essential_not_supported) o si, en modo HTML crudo, rawHtml supera los 100 KB (template_html_too_large). Si la plantilla no se puede completar con los vars enviados, por ejemplo por un divided_by: 0, el error es template_render_failed, en /vars. Los sampleValues del documento siguen las mismas reglas que vars, aunque envíe vars. Si no las cumplen, el error es invalid_document con params.rule sample_values_invalid, en /config/sampleValues. Si la plantilla no se puede completar con los sampleValues, el error es template_render_failed, en /config/sampleValues. |
Detalle en Errores por campo (422).
curl -X POST "https://$API_HOST/v1/mail-templates/preview" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG" \
-H "Content-Type: application/json" \
-d '{
"config": {
"mode": "html",
"rawHtml": "<html><body><p>Hola</p><a href=\"fide:unsubscribe\">Darse de baja</a></body></html>",
"page": {
"rows": []
}
},
"preheader": "Hasta 40% de descuento este fin de semana"
}'
{
"html": "<!DOCTYPE html><html>…</html>"
}