Saltar al contenido principal

Convertir HTML en una plantilla de email

POST/v1/mail-templates/html-import

Para desarrolladores

Descripción​

Convierte el HTML de una campaña en un documento de plantilla editable por bloques. No guarda nada. Para crear la plantilla, envíe el documento resultante en config a POST /v1/mail-templates.

La conversión es aproximada. Revise el resultado con POST /v1/mail-templates/preview antes de guardarlo.

Guía relacionada​

Autenticación​

Authorizationbearer tokenheaderobligatorio
API key con scope templates:write. Formato: Bearer <API_KEY>.
X-Instance-Slugstringheaderobligatorio
Identificador de su instancia. Ver Autenticación.

Request​

Body:

{
"html": "<table><tr><td><h1>Hola</h1><p>Texto</p></td></tr></table>"
}
htmlstringobligatorio
HTML a convertir, hasta 102400 bytes.

Response​

200 OKDevuelve un objeto con los campos que siguen.
configobjectsiempre presente
Documento completo que resultó de la conversión. Cada fila, columna y módulo trae su uuid.
preheaderstringsiempre presente
Preheader que traía el HTML, sin su relleno invisible. Vacío si no traía uno.
discardedobjectsiempre presente
Cuántos elementos de cada tipo se descartaron, por etiqueta.
discarded_attributesobjectsiempre presente
Cuántos atributos se descartaron: event para los manejadores de eventos (on*), url para los enlaces con un esquema que ejecuta código.
videos_mappedintegersiempre presente
Cuántos <video poster> pasaron a un bloque de video.
verbatimbooleansiempre presente
true si el HTML no se pudo estructurar y se devolvió como un único bloque de HTML sin cambios.
config_bytesintegersiempre presente
Tamaño del documento resultante en bytes. Un config de más de 262144 bytes no se puede guardar.

Errores​

CódigoCuándo
413El body supera los 102400 bytes (request_too_large).
422El body no es válido, o html supera los 102400 bytes (value_error).

Detalle en Errores genéricos (request-too-large) y Errores por campo (422).

Notas
  • Qué se descarta: los manejadores de eventos (on*), los enlaces con esquemas que ejecutan código y los elementos que los clientes de correo no muestran. discarded y discarded_attributes indican cuántos.
  • Para conservar el HTML exactamente como está, no lo convierta: créelo en modo HTML crudo, con {"mode": "html", "rawHtml": "…", "page": {"rows": []}} en config.
  • El preheader detectado se devuelve aparte. Para que la plantilla lo lleve, envíelo en el campo preheader al crearla.
Request
curl -X POST "https://$API_HOST/v1/mail-templates/html-import" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG" \
-H "Content-Type: application/json" \
-d '{
"html": "<table><tr><td><h1>Hola</h1><p>Texto</p></td></tr></table>"
}'
Response
{
"config": {
"page": {
"body": {
"…": "…"
},
"rows": [
"…"
]
}
},
"preheader": "",
"discarded": {
"iframe": 2,
"form": 1
},
"discarded_attributes": {
"event": 4,
"url": 2
},
"videos_mapped": 0,
"verbatim": false,
"config_bytes": 5821
}