Saltar al contenido principal

Previsualizar una plantilla de email

POST/v1/mail-templates/preview

Para 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.

Guía relacionada​

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"
}
configobjectobligatorio
Documento completo, hasta 262144 bytes, 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.

Response​

200 OKDevuelve un objeto con los campos que siguen.
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ódigoCuándo
413El body supera el tamaño máximo de una petición (request_too_large).
422El 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 102400 bytes (template_html_too_large).

Detalle en Errores por campo (422).

Request
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"
}'
Response
{
"html": "<!DOCTYPE html><html>…</html>"
}