Convertir HTML en una plantilla de email
POST
/v1/mail-templates/html-importPara 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
- 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: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:
eventpara los manejadores de eventos (on*),urlpara los enlaces con un esquema que ejecuta código. videos_mappedintegersiempre presente- Cuántos
<video poster>pasaron a un bloque de video. verbatimbooleansiempre presentetruesi 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
configde más de 262144 bytes no se puede guardar.
Errores
| Código | Cuándo |
|---|---|
| 413 | El body supera los 102400 bytes (request_too_large). |
| 422 | El 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.discardedydiscarded_attributesindican cuántos. - Para conservar el HTML exactamente como está, no lo convierta: créelo en modo HTML crudo, con
{"mode": "html", "rawHtml": "…", "page": {"rows": []}}enconfig. - El preheader detectado se devuelve aparte. Para que la plantilla lo lleve, envíelo en el campo
preheaderal 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
}