Validar el documento de una plantilla de email
POST
/v1/mail-templates/validatePara desarrolladores
Descripción
Revisa un documento de plantilla contra el formato y devuelve sus errores, advertencias y sugerencias, cada uno con su puntero y cómo corregirlo. No hace falta una plantilla guardada y no se guarda nada.
Un documento en modo HTML crudo recibe las mismas tres advertencias de sintaxis que muestra el editor del panel: tag-pair, tagname-lowercase y attr-no-duplication.
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><div><p>Hola</div></body></html>",
"page": { "rows": [] }
}
}
configobjectobligatorio- Documento completo, hasta 262144 bytes, como lo devuelve `GET /v1/mail-templates/{template_id}`, incluido el modo HTML crudo.
Response
200 OKDevuelve un objeto con los campos que siguen.
validbooleansiempre presentetruesi el documento no tiene errores y se puede guardar. Las advertencias y sugerencias no impiden guardar.findingsobject[]siempre presente- Hallazgos, primero los errores.
levelstring, enum: `error | warning | suggestion`siempre presenteerrorimpide guardar;warningysuggestionno.codestringsiempre presente- Regla que se señala, por ejemplo
unknown_module_typeoplaceholder_link. messagestringsiempre presente- Descripción en inglés.
pathstringsiempre presente- Puntero JSON al valor señalado dentro del documento. En modo HTML crudo,
/rawHtml. fixstringsiempre presente- Cómo corregirlo, en inglés.
uuidstring | nullsiempre presenteuuidde la fila, columna o módulo afectado, cuando lo hay.lineinteger | nullsiempre presente- Línea del HTML, solo en una advertencia del modo HTML crudo.
columninteger | nullsiempre presente- Columna del HTML, solo en una advertencia del modo HTML crudo.
Errores
| Código | Cuándo |
|---|---|
| 413 | El body supera el tamaño máximo de una petición (request_too_large). |
| 422 | No se envió ningún documento (document_required), el body trae el campo essential (essential_not_supported), o config supera los 262144 bytes (value_error). |
Un documento con errores de formato no responde 422: responde 200 con valid: false. Detalle en Errores por campo (422).
Request
curl -X POST "https://$API_HOST/v1/mail-templates/validate" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG" \
-H "Content-Type: application/json" \
-d '{
"config": {
"mode": "html",
"rawHtml": "<html><body><div><p>Hola</div></body></html>",
"page": {
"rows": []
}
}
}'
Response
{
"valid": true,
"findings": [
{
"level": "warning",
"code": "tag-pair",
"message": "The element <p> at line 1, column 18 is opened and never closed.",
"path": "/rawHtml",
"fix": "Close every element you open, in the order you opened it.",
"uuid": null,
"line": 1,
"column": 18
}
]
}