Editor de plantilla

El editor de plantilla decide cómo se escribe el mensaje de cada oferta: qué datos salen, en qué orden, con qué formato y cuándo. El mensaje se monta con bloques que puedes ordenar, activar, desactivar y condicionar uno a uno.

13 minutos de lectura

En esta página

Lo esencial

  1. Pulsa un bloque de la lista para abrirlo, o Añadir bloque para crear uno.
  2. Escribe su Contenido: el texto, el formato con los botones de la barra y las variables, como {{title}} o {{price}}, que también se insertan desde Variable….
  3. Si el bloque solo debe salir a veces, ponle Condiciones para mostrar.
  4. Pulsa Confirmar y mira el resultado en la Vista previa.
  5. Pulsa Guardar.

Cada canal tiene su plantilla

La plantilla de mensaje es de cada canal: el editor trabaja sobre el canal activo, el que marca el selector del menú lateral. Cambia de canal ahí para editar la plantilla de otro. Al crear un canal puedes copiar la plantilla de uno que ya tengas con Copiar configuración de.


La pantalla

  1. Bloques: los bloques del mensaje en su orden, con cuántos hay ("11 en la plantilla") y el botón Añadir bloque. Encima de la lista salen los avisos de validación, si los hay.
  2. El espacio entre dos bloques: pulsa en él para cambiarlo.
  3. Plantillas predefinidas, importar y exportar.
  4. Vista previa: muestra el mensaje tal como quedará en el canal, con datos de ejemplo. Si no hay ningún bloque activo, verás "Sin contenido".
  5. Descartar y Guardar, apagados hasta que algo cambie respecto a lo guardado.

Cualquier cambio se refleja en la vista previa sin guardar nada, con una oferta de ejemplo: un iPhone 15 Pro Max de Amazon a 1099,99 con un PVP de 1399,99, un encabezado, un pie, una descripción y dos cupones. La vista previa nunca lleva foto: la imagen de las ofertas la decide la plantilla de imagen.

En una pantalla estrecha la vista previa se queda asomando por el borde de abajo: la flecha de su cabecera (Ver la vista previa) baja hasta ella y la flecha (Volver al formulario) te sube de nuevo.


Los bloques

El mensaje final es la suma de los bloques activos cuyas condiciones se cumplen, en el orden de la lista.

Pulsa una fila, fuera de sus controles, para abrir el bloque; con el teclado, llega a la fila con el tabulador y pulsa Intro o la barra espaciadora.

Acción Qué hace
Arrastrar Mueve el bloque a otra posición. En una pantalla táctil, mantén pulsado un instante antes de arrastrar.
Subir y Bajar Lo mismo, de uno en uno. Solo salen en el móvil, donde el asa no aparece y son la única forma de reordenar.
Ver la condición El embudo dice que el bloque sale solo a veces; al pulsarlo se lee la condición con los nombres del editor, por ejemplo "Solo si Tienda igual a Amazon y Descuento mayor que 30".
Más acciones Un menú con Bloque activo, Espacio antes, Espacio después —tres interruptores que se cambian sin abrir el bloque—, Duplicar y Eliminar.
Arrastrar un bloque por su asa para cambiar su orden
  • Añadir bloque crea uno vacío al final, con el espacio de después encendido, y abre su ventana, Nuevo bloque, para que escribas el contenido. Si la cierras sin escribir nada, el bloque no se queda en la lista.
  • Duplicar pone la copia justo debajo del original, con el nombre seguido de "(copia)".
  • Eliminar borra el bloque sin preguntar. Si te arrepientes, Descartar antes de guardar lo devuelve.
  • Un bloque desactivado se ve atenuado, no sale en el mensaje y tampoco se valida: un error dentro de un bloque apagado no impide guardar. Al menos un bloque tiene que quedar activo.
  • No hay límite de bloques.

El espacio entre bloques

El hueco entre dos filas dice qué pone el mensaje entre esos dos bloques. Púlsalo para cambiarlo: pasa por tres estados, sin salto (los dos textos van seguidos, en la misma línea), salto de línea (cada uno en su línea) y línea en blanco (una línea vacía entre ellos). El hueco es más alto cuanto más separa.

Pulsar el hueco entre dos bloques para cambiar lo que los separa

Los bloques que no salen no separan

Si un bloque está apagado o su condición no se cumple, desaparece del mensaje y el espacio que queda es el que haya entre los bloques que sí salen. Un bloque con el texto vacío tampoco escribe nada, pero sus saltos sí cuentan: la plantilla de fábrica usa uno así, llamado "Espacio", para dejar una línea en blanco fija.

Los interruptores Antes y Después

Cada bloque tiene dos interruptores, Antes y Después, y cada uno añade un salto de línea. Pulsar el hueco cambia el Después del bloque de arriba y el Antes del de abajo. Entre dos bloques nunca hay más de una línea en blanco, y no se escribe nada antes del primer bloque ni después del último.


Editar un bloque

Al pulsar una fila se abre la ventana Editar bloque. En su cabecera está el interruptor Activo; debajo, tres partes:

  • Nombre (opcional) y Saltos de línea (Antes y Después). El nombre es solo para ti: sirve para identificar la fila y encabeza sus avisos de validación. Nunca llega al canal.
  • Contenido: el texto del bloque.
  • Condiciones para mostrar.

Se cierra con Confirmar, que aplica los cambios a la lista (todavía sin guardar), o con Cancelar, la × o Escape. Si habías tocado algo, antes te pregunta. Pulsar fuera de la ventana no la cierra.

Contenido y formato

El cuadro de texto admite varias líneas y las etiquetas de formato que entiende Telegram. Los botones de la barra —negrita, cursiva, subrayado, tachado, monoespaciado, código, enlace, spoiler y cita— aplican el formato al texto seleccionado; sin nada seleccionado, insertan las etiquetas en el cursor y lo dejan entre ellas (Enlace escribe <a href="">texto</a> y deja el cursor entre las comillas, para la dirección).

En un canal de WhatsApp, estas etiquetas se envían con su propio formato: el subrayado y el spoiler salen sin formato, y los enlaces aparecen como la palabra seguida de su dirección, porque WhatsApp no admite enlaces tras una palabra. Consulta Qué cambia en WhatsApp.

La etiqueta de cada botón, y para quien quiera ir más allá de la barra
Botón Etiqueta
Negrita <b>…</b>
Cursiva <i>…</i>
Subrayado <u>…</u>
Tachado <s>…</s>
Monoespaciado <code>…</code>
Código <pre>…</pre>
Enlace <a href="">…</a>
Spoiler <tg-spoiler>…</tg-spoiler>
Cita <blockquote>…</blockquote>
  • No hay atajos de teclado: el formato se pone con los botones o escribiendo las etiquetas.
  • También valen los sinónimos de Telegram escritos a mano: <strong>, <em>, <ins>, <strike> y <del>.
  • Una cita plegable se escribe a mano: <blockquote expandable>…</blockquote>. Es el único atributo que admite la cita; en un enlace solo vale href y en <code> solo class. Cualquier otro atributo es un error.
  • Los enlaces solo pueden empezar por http://, https://, mailto: o tg://. Y pueden llevar una variable dentro: <a href="{{url}}">Acceder a la oferta</a> es lo que hace el bloque "Enlace" de fábrica.
  • Una etiqueta que Telegram no admite (<img>, <div>…) se ve escrita tal cual en la vista previa y no deja guardar.

Variables

Las variables se escriben entre dobles llaves, {{title}}, o se insertan desde el desplegable Variable…, que las lista por su nombre en español. Al montar el mensaje se sustituyen por los datos de la oferta:

Variable En el desplegable Qué escribe
{{title}} Título El título de la oferta.
{{price}} Precio El precio actual, con moneda y separadores según la región de tu organización: "1.099,99 €".
{{pvp}} PVP El precio antes del descuento, igual formateado. Vacío si la oferta no tiene.
{{discount}} Descuento El porcentaje de ahorro, solo el número ("21"): el % lo escribes tú detrás. Es 0 cuando no hay PVP.
{{url}} URL El enlace de la oferta, ya con tu tag de afiliado si lo tiene.
{{header}} Encabezado El encabezado escrito en Crear oferta, o el predeterminado del canal.
{{footer}} Pie El pie de mensaje del formulario, o el predeterminado del canal.
{{description}} Descripción La descripción escrita en el formulario.
{{coupons}} Cupones Los cupones, cada uno en monoespaciado para copiarlo de un toque.
{{image_url}} Imagen La dirección de la foto, si la oferta tiene.
{{store}} Tienda El nombre de la tienda según el catálogo de tiendas de la aplicación. Vacío si la tienda no está en él, también si es una tienda propia de tus reglas de afiliado.
{{price_updated_at}} Fecha del precio Cuándo se leyó el precio en la tienda, con fecha, hora y zona horaria según la región y zona de tu organización: "20/10/2026, 14:35 CEST". Si escribiste el precio a mano, muestra la hora a la que creaste la oferta.
{{pvp_label}} Etiqueta del PVP Nombre que da Amazon al precio tachado de ese producto (por ejemplo, "Precio recomendado"). Solo está disponible en productos de Amazon: queda vacía en el resto de tiendas o si escribes el PVP a mano.
{{deal_ends_at}} Fin de la oferta Cuándo termina la oferta respecto al momento de publicar y en la zona horaria de tu organización: "hoy a las 23:59", "mañana a las 23:59" o, más adelante, "21/10/2026 a las 23:59". Amazon lo facilita en ofertas con fecha límite (como las flash) y se puede editar en La oferta termina el de Crear oferta. Queda vacía si la oferta ya ha terminado al publicar.
{{release_date}} Fecha de salida Día en que sale a la venta un producto en reserva, según la región de tu organización: "27/11/2026". Amazon lo incluye en las preventas y se puede editar en Sale a la venta el de Crear oferta. Queda vacía si no es una reserva o si ese día ya ha llegado.

El símbolo lo pone la variable

{{price}} y {{pvp}} escriben el importe entero —moneda, separadores y decimales— como lo escribe la región de tu organización. No añadas el símbolo detrás: saldría dos veces. En una condición siguen siendo números: price > 20 compara el importe, no el texto.

Letra pequeña: una variable vacía o mal escrita
  • Una variable sin valor se escribe como nada y el bloque sale igual. Si no quieres que salga un bloque a medias, ponle una condición (Existe).
  • Solo cuenta la forma exacta {{nombre}}: con espacios dentro, {{ price }}, se queda escrito tal cual.

Condiciones para mostrar

Las condiciones miran los datos de cada oferta y se organizan en grupos: Añadir grupo crea uno con una condición, Añadir condición añade otra al mismo grupo, y Intro en el cuadro del valor hace lo mismo. La papelera quita una condición o el grupo entero; un grupo que se queda sin condiciones desaparece.

Cada condición tiene tres partes: el campo (una variable), el operador y el valor, que solo aparece cuando el operador lo necesita. Los operadores dependen del tipo de campo:

Operador Campos de número (Precio, PVP, Descuento) Campos de texto (el resto)
Existe / No existe Sí Sí
Igual a / Distinto de Sí Sí
Mayor que / Menor que Sí —
Contiene — Sí

Entre condiciones y entre grupos hay una etiqueta AND u OR que cambia al pulsarla:

  • Dentro de un grupo las condiciones van con AND de inicio: el bloque sale si se cumplen todas.
  • Un segundo grupo se une al primero con OR de inicio: el bloque sale si se cumple cualquiera de los grupos.
  • Si mezclas las dos dentro de un grupo, AND se resuelve antes que OR: a AND b OR c es "(a y b) o c".

Ejemplos

  • Solo en Amazon con más del 30 % de descuento: en el mismo grupo, Tienda · Igual a · Amazon AND Descuento · Mayor que · 30.
  • Si el descuento pasa del 50 % o el precio baja de 10: las dos condiciones y la etiqueta cambiada a OR.
  • Solo cuando hay rebaja: PVP · Existe. Es lo que hace la plantilla de fábrica para elegir entre el bloque "Precio" y el bloque "Precio con PVP".
  • Avisar de cuándo acaba la oferta: un bloque con ⏰ Termina {{deal_ends_at}} y la condición Fin de la oferta · Existe. La plantilla por defecto no lo incluye, pero puedes añadirlo tú.
  • Marcar las reservas: un bloque con 📅 Reserva: sale a la venta el {{release_date}} y la condición Fecha de salida · Existe.
Las trampas que más despistan
  • Existe significa "tiene valor y no está vacío". El título, el precio, la URL y el descuento existen siempre; el descuento vale 0 sin PVP, así que "Descuento · Existe" se cumple siempre y lo que quieres es "Descuento · Mayor que · 0".
  • Los textos se comparan tal cual, distinguiendo mayúsculas: "Contiene amazon" no encuentra "Amazon".
  • Un valor que solo tiene dígitos se lee como número aunque el campo sea de texto, así que "Título · Contiene · 2024" no funciona. Usa una palabra o añade otra cosa al valor.
  • Una condición a medias no deja confirmar el bloque: un aviso dice "Corrige los errores en las condiciones" y, si lo que falta es el valor, su casilla se marca en rojo.

Validación

El editor comprueba la plantilla cada vez que actualiza la vista previa. Los problemas salen encima de la lista de bloques, con el nombre del bloque delante cuando lo tiene. Los más habituales:

  • Una etiqueta abierta sin cerrar, o cerrada en otro orden.
  • Una etiqueta que Telegram no admite, o un atributo que no está permitido.
  • Un enlace sin href.
  • Una variable que no existe, o un campo u operador desconocido en una condición.
  • Ningún bloque activo.

Los avisos en ámbar no impiden guardar: te dicen, por ejemplo, que {{title}} o {{url}} no se usan en ningún bloque activo, por si es un olvido.

No se puede guardar con errores

Con errores, Guardar avisa —"No se puede guardar: corrige los errores de validación"— y te lleva al panel de avisos. Corrígelos y vuelve a guardar.


Guardar, descartar y salir

  • Guardar y Descartar se encienden con cualquier cambio, también de orden o de un espacio.
  • Lo que guardas llega también a los mensajes que ya esperan en la cola de ese canal: la cola aplica la plantilla del canal cuando los envía; lo cuenta Cola de publicación.
  • Descartar pregunta antes y devuelve la plantilla a como estaba guardada.
  • Si intentas salir de la pantalla con cambios pendientes —por el menú, por el selector de canal o con la flecha de atrás del navegador—, se te pregunta: Salir sin guardar o Seguir editando. Si cierras la pestaña o recargas, pregunta el propio navegador.
Si otra persona u otra pestaña guarda a la vez

Cualquier persona de la organización con acceso al canal puede editar y guardar su plantilla. Si alguien —u otra pestaña tuya— la guarda después de que abrieras la pantalla, o en otra pestaña has cambiado de canal, al pulsar Guardar o al importar se te avisa y no se guarda nada: recarga para ver lo guardado y vuelve a hacer tu cambio.


Plantillas predefinidas

abre el panel Plantillas predefinidas. Hay una, Por defecto, que es la misma con la que nace cada canal. Pulsa Cargar y confirma: sus bloques sustituyen a los tuyos en la lista.

Cargar no es guardar

La plantilla predefinida se aplica en pantalla: puedes mirarla en la vista previa y, si no te convence, pulsar Descartar para volver a la tuya. Solo cuando pulsas Guardar se pierde la anterior. Cargar Por defecto es la forma de volver a la plantilla de fábrica.

La plantilla de fábrica, bloque a bloque

Incluye trece bloques: Cabecera ({{header}}, solo si existe), Título, Tienda (#{{store}}, solo si existe), Espacio (vacío, con dos saltos de línea), Descripción (solo si existe), Precio (solo sin PVP), Precio con PVP (precio y PVP tachado, con PVP y sin etiqueta de Amazon), Precio con etiqueta de Amazon (precio y PVP tachado con el nombre que le da Amazon, solo en Amazon), Descuento ({{discount}}%, solo con PVP), Cupones (solo si hay), Enlace (<a href="{{url}}">Acceder a la oferta</a>), Aviso de Amazon (solo en Amazon) y Pie ({{footer}}, solo si existe).


Aviso de Amazon

El programa de afiliados de Amazon exige indicar en cada mensaje con un enlace suyo que participas en él y mostrar la fecha y hora en que se consultó el precio, ya que este no se actualiza una vez publicado. La plantilla por defecto lo resuelve con dos bloques que solo aparecen en las ofertas de Amazon:

  • Precio con etiqueta de Amazon muestra el PVP tachado junto al nombre que le da Amazon (como "Precio recomendado" o "Precio más bajo reciente") en vez de dejar solo el número. El resto de tiendas sigue usando Precio con PVP.
  • Aviso de Amazon se coloca tras el enlace y muestra en cursiva el texto de afiliado, la fecha y hora en que se leyó el precio y el aviso de que este puede cambiar.

Tu plantilla no cambia sola

Los canales que ya tenían plantilla la conservan tal cual. Para añadir el aviso, carga Por defecto desde Plantillas predefinidas o añade a la tuya un bloque con la condición Tienda · Igual a · Amazon y este texto:

<i>En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables. Precio a {{price_updated_at}}. Los precios y la disponibilidad del producto son precisos en la fecha/hora indicados y están sujetos a cambios. Se aplicará a la compra del producto el precio e información de disponibilidad mostrados en Amazon en el momento de la compra.</i>

Exportar e importar

  • Exportar plantilla descarga la plantilla guardada como template.json. Lo que tengas sin guardar no va en el archivo: guarda primero.
  • Importar plantilla abre una ventana con el cuadro JSON de la plantilla: pega ahí el contenido de un archivo exportado y pulsa Importar. Sustituye todos los bloques y, a diferencia del resto de la pantalla, se guarda al momento: no hace falta pulsar Guardar después. Si lo pegado no es una plantilla, o tiene algún error, la ventana dice por qué encima del cuadro y no se importa nada.

Sirve para hacer copias de seguridad, para llevar la plantilla de un canal a otro y para compartirla con otra organización.

Guarda una copia antes de experimentar

Exportar antes de cargar una predefinida o de rehacer la plantilla te da un punto al que volver.

Instala Codingram Se abre como una app, sin tienda