Plantillas

Una plantilla es un documento HTML completo más un asunto por defecto. El renderizado es la única llamada de aquí que nunca envía nada: úsala tantas veces como quieras.

Qué es una plantilla, por HTTP

Una plantilla es un archivo HTML. No hay ningún diseño a su alrededor: lo que envías es lo que reciben los destinatarios, lo que también significa que el enlace de baja tiene que estar en tu propio marcado; consulta Chuleta de etiquetas de combinación.

La galería de plantillas

Escribir a mano 150 líneas de HTML de email, y bien, es un mal uso del tiempo de cualquiera, sea el tuyo o el de un agente. La galería es un pequeño conjunto de modelos que mantenemos nosotros: llevan su enlace de baja, sus regiones editables, y se han comprobado en los clientes que importan. Lees uno, lo copias y editas tu copia. Solo lectura. No hay ningún endpoint para añadir, cambiar o eliminar un modelo: la galería pertenece al producto, no a una organización. Es la misma para todas las claves. Solo son visibles los modelos publicados. Un borrador responde 404, exactamente igual que un id que no existe: no puedes distinguirlos, y es deliberado. Se sigue exigiendo una clave de API, como en todas las rutas de /api/v1. Aquí no se usa para filtrar nada: la galería es común a todas las organizaciones, así que no hay nada que limitar.

Crear una plantilla a partir de un modelo

POST /api/v1/templates recibe galleryTemplateId en lugar de content. El servidor lee el modelo publicado y copia su HTML, así que nunca tienes que mover 150 líneas por tu propio proceso.
CampoEnObligatorioDescripción
namebodysíDe 1 a 100 caracteres
galleryTemplateIdbodysí*El modelo que se copia. Sustituye a content
defaultSubjectbodynoSi lo omites, se usa el asunto del modelo
* galleryTemplateId o content; consulta más abajo.
bash
curl -X POST -H "x-api-key: $AGENTMAIL_API_KEY" -H "content-type: application/json" \
  -d '{"name": "August newsletter", "galleryTemplateId": "'"$GALLERY_TEMPLATE_ID"'"}' \
  "https://www.agentsmail.io/api/v1/templates"
Es una copia, no una herencia. Tu plantilla tiene su propio HTML desde el momento en que se crea. Si mañana mejoramos el modelo, nada tuyo cambia; si editas tu plantilla, la galería no se toca. Después nada vincula las dos: no hay ningún endpoint de «actualizar desde el modelo», y nosotros no tenemos forma de cambiar lo que ya tienes.
CondiciónRespuesta
galleryTemplateId solo201: se copia el HTML del modelo
content solo201: tu HTML, con las etiquetas de combinación convertidas
ambos a la vez400: dos documentos distintos, elige uno
ninguno400: una plantilla necesita un documento
galleryTemplateId desconocido o no publicado400: el mensaje nombra el parámetro
Enviar ambos se rechaza a propósito. Una prioridad silenciosa enviaría un HTML que no elegiste, y te enterarías cuando el email llegara a una bandeja de entrada. La plantilla creada así es tuya como cualquier otra: la misma organización que la clave, las mismas validaciones, los mismos límites. El HTML del modelo se copia byte a byte: no se le aplica ninguna conversión, así que lo que publicamos es exactamente lo que recibes. Como no se convierte nada, cualquier etiqueta de combinación de Mailchimp que siga en ese HTML vuelve en unsupportedTags, incluidas las que de otro modo traduciríamos: se quedaron en bruto en tu documento y no se interpretarán cuando se renderice el email. Los modelos de la galería normalmente se escriben con nuestro propio vocabulario {{...}}, así que esta lista suele estar vacía, pero se te avisa cuando no lo está, en lugar de que lo descubras en una bandeja de entrada.