Obtener el formato de las plantillas de email
GET
/v1/mail-templates/formatPara desarrolladores
Descripción
Devuelve la especificación del documento que una plantilla guarda en config: su estructura, cada tipo de módulo, el tipo de cada campo, los valores por defecto y las reglas que revisa la validación. Incluye un documento completo mínimo para empezar (skeleton) y la lista de tipos de módulo.
Es la referencia para escribir o modificar el config que se envía a POST /v1/mail-templates y a PATCH /v1/mail-templates/{template_id}, y para leer los findings que devuelve POST /v1/mail-templates/validate. La misma especificación está publicada en Formato de plantillas.
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
Query params:
langstring, enum: `es | en`- Idioma del texto de
format. Por defectoes. El resto de la respuesta es igual en los dos idiomas, incluidos los campos, los valores, los códigos de validación y los niveles (error,warning,suggestion). Un valor fuera de la lista responde422.
Response
200 OKDevuelve un objeto con los campos que siguen.
formatstringsiempre presente- Especificación del documento, en Markdown y en el idioma pedido en
lang: estructura de filas, columnas y módulos, identificadores (uuid), tipos de módulo, tipos de campo y la tabla de reglas de validación con su nivel. field_typesobjectsiempre presente- Campos de cada tipo de nodo y el tipo de valor que acepta cada uno. Un campo que no figura aquí es desconocido y no tiene efecto en el correo.
defaultsobjectsiempre presente- Valores con que empieza cada fila (
row), columna (column) y módulo (modules.<tipo>) nuevos. skeletonobjectsiempre presente- Documento completo mínimo, válido y sin advertencias: un punto de partida para un
config. modulesobject[]siempre presente- Tipos de módulo disponibles.
kindstringsiempre presente- Nombre corto del tipo. Es el valor que se usa en `GET /v1/mail-templates/format/modules/{kind}`.
typestringsiempre presente- Valor de
typede un módulo de este tipo en el documento. content_keystringsiempre presente- Clave de
descriptordonde va el contenido del módulo.
Errores
| Código | Cuándo |
|---|---|
| 422 | lang no es es ni en. En errors[], un ítem con pointer /lang y code literal_error. |
Detalle en Errores genéricos.
Notas
- La respuesta es la misma para toda instancia y cambia solo cuando cambia el formato. Puede guardarla en caché del lado de su integración.
- Parta de un documento que existe. Un campo que el documento omite se genera con un valor por defecto, que no siempre coincide con el del editor. Use el
skeleton, una plantilla de la biblioteca o elconfigde una plantilla suya. - El recorrido completo, desde leer el formato hasta guardar una plantilla, está en Plantillas por API.
Request
curl -X GET "https://$API_HOST/v1/mail-templates/format?lang=en" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG"
Response
{
"format": "# El formato del documento de plantilla\n\n…",
"field_types": {
"nodes": {
"…": "…"
},
"descriptor_by_kind": {
"…": "…"
},
"css": {
"…": "…"
}
},
"defaults": {
"row": {
"…": "…"
},
"column": {
"…": "…"
},
"modules": {
"heading": {
"…": "…"
},
"button": {
"…": "…"
}
}
},
"skeleton": {
"page": {
"title": "Esqueleto",
"body": {
"…": "…"
},
"rows": [
"…"
]
}
},
"modules": [
{
"kind": "heading",
"type": "fidelizador-modules-heading",
"content_key": "heading"
},
{
"kind": "menu",
"type": "fidelizador-modules-menu",
"content_key": "menuItemsList"
}
]
}