Google Indexing API para Magento 2
50,00 € 50,00 €
AI Email Theme Generator amplía la gestión de plantillas de email en Magento 2 con generación asistida por IA. El módulo añade un proceso práctico para mejorar las plantillas transaccionales nativas de Magento directamente desde el panel de administración, sin sustituir el sistema estándar de plantillas de email.
Los administradores pueden generar, reconstruir, mejorar o ampliar plantillas de email existentes de Magento utilizando ChatGPT a través de OpenAI API. El resultado de la generación vuelve como datos estructurados y puede guardarse en los campos nativos de Magento:
El proceso es controlado, auditable y asíncrono. Cada solicitud de IA se gestiona mediante la cola de Magento y se registra como una tarea independiente con información sobre el estado, el historial, los errores, el payload de la solicitud, el payload de la respuesta y el resultado generado.
Los emails transaccionales de Magento son un punto importante de contacto con el cliente, pero su aspecto predeterminado suele ser muy genérico y requiere trabajo manual con HTML/CSS para adaptarlo a la marca. AI Email Theme Generator reduce el tiempo necesario para preparar mejores plantillas de email, manteniendo el resultado dentro de la infraestructura nativa de Magento.
El módulo resulta útil para:
El módulo amplía la interfaz de administración estándar de Magento:
Marketing > Communications > Email TemplatesLa plantilla guardada recibe campos adicionales de IA directamente en el editor estándar de plantillas de email de Magento. El administrador puede introducir un prompt, añadir un diseño de referencia opcional, preparar recursos gráficos y solicitar la generación con ChatGPT.
El resultado de la IA se espera como JSON y se mapea a los campos nativos de Magento:
{ 'template_name': 'New Order Confirmation - Guest', 'template_subject': 'Your order confirmation', 'template_content': '', 'template_styles': '/* CSS */', 'warnings': [], 'change_summary': 'Updated layout and improved copy.', 'variables_used': ['order.increment_id', 'store.frontend_name']}Gracias a ello, el resultado es predecible y más fácil de validar antes de guardarlo.
La generación no se ejecuta durante la carga de la página de administración. El módulo crea una tarea en la cola y la procesa en segundo plano mediante Magento Message Queue.
Esto evita largas esperas en el panel de administración y ofrece al equipo una vista clara de cada solicitud de generación.
Las tareas de generación están disponibles en:
Marketing > Communications > AI Email Generation JobsCada tarea muestra:
Las tareas fallidas pueden reintentarse, las tareas pendientes pueden cancelarse y los resultados finalizados pueden aplicarse manualmente si el guardado automático del resultado está desactivado.
Los administradores pueden añadir un archivo de referencia, por ejemplo una imagen, HTML o un archivo de texto. El archivo se incorpora al contexto de la IA y puede utilizarse para generar una plantilla coherente con el concepto gráfico seleccionado.
El editor nativo de plantillas de email también puede almacenar recursos de IA asignados a una plantilla concreta:
Cada recurso puede tener una etiqueta, texto alternativo, URL de destino y orden de clasificación. Las filas de banners e iconos pueden añadirse dinámicamente en el formulario.
Durante la generación, el módulo envía a la IA una sección assets con URL públicas de frontend agrupadas según su finalidad. De este modo, ChatGPT sabe qué imagen es el logo, cuál pertenece a la cabecera, qué archivos son banners y cuáles son iconos.
Este enfoque ofrece un layout de email más predecible que enviar una única imagen de referencia genérica.
El módulo incluye un prompt técnico global utilizado en cada solicitud de generación. El prompt contiene reglas técnicas fijas, por ejemplo:
Esto separa las instrucciones técnicas del prompt de negocio escrito para una plantilla individual.
El módulo está preparado como paquete Composer para Magento:
kowal/module-ai-email-theme-generatorEstá pensado para instalarse como paquete de vendor, no para copiarlo manualmente en app/code.
El módulo está implementado en inglés y todos los textos visibles están preparados para el mecanismo i18n de Magento mediante helpers de traducción o etiquetas y comentarios XML traducibles.
La IA puede utilizarse para modernizar los mensajes predeterminados de Magento, como:
El administrador puede proporcionar un prompt y un diseño de referencia para que la plantilla generada se ajuste al tono de comunicación de la tienda, la paleta de colores, las expectativas tipográficas y el estilo del layout.
Los desarrolladores pueden utilizar el módulo para generar la primera versión de una plantilla y después revisar el resultado, validar las directivas de Magento y perfeccionar el HTML/CSS final.
Como cada solicitud se guarda como una tarea, el equipo puede comparar prompts, modelos, resultados, advertencias y errores sin perder el historial.
AI Email Theme Generator está diseñado para apoyar a administradores y desarrolladores, no para omitir la validación ni el proceso de revisión de plantillas de Magento.
El módulo admite:
script en el contenido generado,En entornos de producción se recomienda desactivar la aplicación automática del resultado hasta que el equipo verifique la calidad de las plantillas generadas para sus prompts y casos de uso.
AI Email Theme Generator incorpora la generación de plantillas de email asistida por IA al panel de Magento 2, manteniendo al mismo tiempo el workflow nativo de Email Templates. El módulo ayuda a mejorar más rápido los mensajes transaccionales, conserva la auditabilidad mediante tareas en cola y ofrece a los desarrolladores control sobre los prompts, el formato de respuesta y la forma de aplicar el resultado.
El módulo está destinado a Magento 2 y a instalaciones gestionadas mediante Composer.
Requisitos:
Paquete del módulo:
kowal/module-ai-email-theme-generatorNombre del módulo Magento:
Kowal_AiEmailThemeGeneratorAñade el repositorio Composer:
composer config repositories.ai.email.theme.generator vcs https://github.com/kowalco/ai-email-theme-generatorSi el repositorio es privado, configura la autenticación de GitHub:
composer config --global --auth github-oauth.github.com Instala el módulo:
composer require kowal/module-ai-email-theme-generatorActiva el módulo:
bin/magento module:enable Kowal_AiEmailThemeGeneratorEjecuta la actualización de Magento:
bin/magento setup:upgradeLimpia la caché:
bin/magento cache:flushPara el modo de producción, ejecuta los comandos de despliegue estándar utilizados en el proyecto, por ejemplo:
bin/magento setup:di:compilebin/magento setup:static-content:deploybin/magento cache:flushLa generación con IA se procesa de forma asíncrona mediante Magento Message Queue.
Ejecuta el consumer manualmente:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerEn entornos de producción, configura el consumer con supervisor, systemd u otro gestor de procesos utilizado por el hosting.
El módulo crea tareas en el panel de administración, pero la solicitud a la IA no se procesará hasta que el consumer esté en ejecución.
El módulo añade recursos ACL:
Kowal_AiEmailThemeGenerator::rootKowal_AiEmailThemeGenerator::jobsKowal_AiEmailThemeGenerator::generateKowal_AiEmailThemeGenerator::retryKowal_AiEmailThemeGenerator::cancelKowal_AiEmailThemeGenerator::applyKowal_AiEmailThemeGenerator::deleteKowal_AiEmailThemeGenerator::settingsPara que un administrador pueda usar el módulo, asigna los recursos correspondientes en:
System > Permissions > User RolesPara acceso completo, permite el recurso principal AI Email Generation y todos los recursos secundarios.
Ve a:
Stores > Configuration > AI Email Generation > AI Email Theme GeneratorLa sección de configuración contiene el grupo:
General SettingsTipo: Yes/No
Predeterminado: No
Activa o desactiva las funciones del módulo.
Cuando está configurado como No:
Configura Yes solo después de preparar la API key y ejecutar el queue consumer.
Tipo: Select
Predeterminado: OpenAI
Define el proveedor de IA utilizado por el módulo.
La implementación actual admite:
OpenAIEl campo existe para que en el futuro se puedan añadir otros providers sin cambiar el workflow del administrador.
Tipo: campo oculto/cifrado
Almacena la OpenAI API key utilizada para la generación.
El valor es cifrado por Magento mediante:
MagentoConfigModelConfigBackendEncryptedImportante:
Tipo: Select
Define el modelo OpenAI utilizado para la generación.
Ejemplo:
gpt-4.1La lista se obtiene dinámicamente desde OpenAI Models API utilizando la API key configurada. El módulo filtra la respuesta a identificadores de modelos GPT y almacena la lista en caché durante un breve periodo para no llamar a la API cada vez que se abre la configuración.
Si la API key aún no se ha guardado, el campo mostrará una opción de reserva y pedirá al administrador que guarde la clave.
Si OpenAI API no está disponible temporalmente, el campo conserva el modelo configurado actualmente, siempre que sea posible.
Utiliza un modelo que admita el tipo de datos de entrada necesario:
El modelo seleccionado influye en la calidad del resultado, el tiempo de respuesta y el coste.
Tipo: Number
Ejemplo de valor predeterminado:
120Tiempo máximo en segundos permitido para una solicitud a OpenAI API.
Valores recomendados:
60 para generación de texto corta,120 o más para generación compleja de HTML/CSS,El timeout se aplica al procesamiento en segundo plano, no a la solicitud del formulario de administración.
Tipo: Number
Ejemplo de valor predeterminado:
2Define cuántas veces puede el consumer reintentar automáticamente una tarea de generación fallida.
Los reintentos son útiles ante errores temporales, como:
Los errores persistentes, por ejemplo una configuración incorrecta o una respuesta de IA no válida, deben revisarse en los detalles de la tarea.
Tipo: Textarea
Este prompt se aplica a cada solicitud de generación. Debe contener reglas técnicas que siempre deben respetarse.
Ejemplo:
You are an assistant generating Magento 2 email templates.Return only JSON that matches the provided schema.Keep Magento directives valid.Do not invent Magento variables.Do not add JavaScript.Put CSS in template_styles unless inline styles are required for email compatibility.Preserve required variables and add warnings when a requested change is risky.When assets are provided, use only the URLs from the assets section, preserve alt text, apply target links to clickable images, use banners and icons according to their sort_order, and do not invent additional image URLs.Utiliza este campo para instrucciones estables, como:
No utilices este campo para instrucciones creativas puntuales. Para eso sirve AI Prompt en el formulario de la plantilla.
Tipo: Textarea
Este prompt se muestra por defecto en la sección de IA del editor de plantillas de email.
Ejemplo:
Improve this Magento email template while keeping all required Magento variables and directives valid.El administrador puede modificarlo antes de crear la tarea de generación.
Utiliza este campo para establecer una instrucción predeterminada práctica para tareas de generación habituales.
Tipo: Text
Ejemplo de valor predeterminado:
png,jpg,jpeg,webp,html,htm,txtLista de extensiones de archivo permitidas para el diseño de referencia opcional, separadas por comas.
Ejemplos admitidos:
pngjpgjpegwebphtmlhtmtxtEn producción, utiliza una lista lo más restrictiva posible. No permitas tipos de archivo que no sean necesarios en el proceso.
Tipo: Number
Ejemplo de valor predeterminado:
5242880Tamaño máximo del archivo de referencia en bytes.
Ejemplos:
1048576 = 1 MB5242880 = 5 MB10485760 = 10 MBLos archivos grandes aumentan el tamaño del payload y pueden ralentizar la generación o superar los límites del provider.
Tipo: Yes/No
Predeterminado: No
Define si un resultado correcto de la IA debe sobrescribir inmediatamente los campos nativos de la plantilla de Magento.
Cuando está configurado como Yes, el consumer guarda el resultado generado en:
Cuando está configurado como No, el resultado se almacena en la tarea y el administrador puede revisarlo antes de aplicarlo manualmente.
Configuración recomendada para producción:
NoLa aceptación manual es más segura, porque el resultado de la IA puede ser técnicamente correcto, pero aun así requerir revisión de marca, legal o de layout.
Tipo: Yes/No
Predeterminado: Yes
Define si el módulo guarda los payloads completos de solicitud y respuesta en el registro de la tarea.
Cuando la opción está activada, los detalles de la tarea pueden mostrar:
Esto resulta útil para depuración y auditoría.
En entornos de producción, revisa los requisitos de privacidad antes de activar esta opción. El módulo no debería enviar datos reales de clientes a la IA, pero los payloads pueden contener contenido de plantillas sensible desde el punto de vista empresarial.
Tipo: Number
Ejemplo de valor predeterminado:
30Define durante cuánto tiempo deben conservarse las tareas antiguas.
Este valor documenta la política de retención prevista. El proyecto puede utilizarlo para implementar una limpieza periódica conforme a los requisitos operativos.
Este ejemplo describe el proceso completo para generar una plantilla de email de Magento mejorada para:
New Order Confirmation for GuestVe a:
Stores > Configuration > AI Email Generation > AI Email Theme GeneratorConfigura:
Enabled = YesAPI Provider = OpenAIOpenAI API Key = OpenAI Model = gpt-4.1Request Timeout = 120Maximum Retries = 2Automatically Apply Result = NoKeep Request and Response Payloads = Yes Guarda la configuración y limpia la caché si Magento lo solicita.
Ejecuta:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerDurante las pruebas, el proceso debe estar en ejecución todo el tiempo.
Ve a:
Marketing > Communications > Email TemplatesHaz clic en:
Add New TemplateEn el campo Template, selecciona:
New Order Confirmation for GuestHaz clic en:
Load TemplateMagento rellenará los campos nativos:
Define el nombre de la plantilla, por ejemplo:
New Order Confirmation for Guest - AI DraftGuarda la plantilla.
El proceso de generación con IA requiere una plantilla guardada, porque la tarea debe tener un template_id persistente.
Después de guardar, vuelve a abrir la plantilla si es necesario. El editor estándar de plantillas de email de Magento contiene la sección AI Email Generation.
En el campo AI Prompt, introduce la instrucción de negocio, por ejemplo:
Create a modern, clean transactional email for a premium fashion store.Keep all Magento order variables and directives valid.Improve the subject line and make the content easier to scan.Add a clear order summary section, shipping information section, and customer support footer.Use neutral colors, simple spacing, and email-client-safe HTML.Significado de este campo:
Utiliza Design Reference si el email generado debe seguir una dirección visual concreta.
Archivos de ejemplo:
order-email-reference.pngbrand-email-layout.webpemail-layout.htmldesign-notes.txtSignificado de este campo:
Si no se añade un diseño de referencia, la IA utilizará únicamente el contenido de la plantilla, las variables, el prompt técnico y el prompt de usuario.
Utiliza Error Screenshot si quieres mostrar a la IA el problema actual de renderizado, layout o validación de la plantilla.
Ejemplos:
Este campo se envía a la IA como una sección JSON independiente:
{ 'error_screenshot': { 'type': 'image', 'filename': 'email-rendering-error.png', 'mime_type': 'image/png', 'content_base64': '...', 'purpose': 'current_error_context', 'description': 'Screenshot showing current rendering, layout, visual, or validation errors. Use it to understand what should be fixed. This is not a design reference.' }}Significado de este campo:
AI Prompt.Ejemplo de prompt:
Use the attached error screenshot only to understand the current rendering issue.Fix the spacing problem visible in the screenshot while preserving Magento variables.Do not treat the screenshot as the target design.El editor contiene el área AI Assets. Estos recursos se guardan con la plantilla de Magento y se envían a la IA como URL de medios frontend agrupadas.
Grupos de recursos disponibles:
| Campo | Significado |
|---|---|
| Logo | Logo de la marca utilizado en la cabecera o el pie del mensaje. |
| Header Image | Imagen principal para la parte superior del mensaje. |
| Banners | Lista dinámica de banners promocionales o informativos. |
| Icons | Lista dinámica de pequeños elementos gráficos, por ejemplo beneficios o iconos de servicios. |
Cada recurso puede incluir:
| Campo | Significado |
|---|---|
| File | Archivo gráfico subido a Magento media storage. |
| Label | Nombre interno que ayuda a la IA a entender la finalidad del recurso. |
| Alt Text | Texto utilizado en el atributo alt de la imagen. |
| Target URL | Enlace utilizado cuando la imagen debe ser clicable. |
| Sort Order | Prioridad de visualización de banners e iconos. |
Para banners e iconos, haz clic en:
Add BannerAdd IconEl módulo guarda los recursos subidos en Magento media storage y envía a la IA URL públicas de frontend con la estructura:
{ 'assets': { 'logo': { 'label': 'Brand logo', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/logo/logo.png', 'alt': 'Brand logo', 'link': 'https://example.com/', 'sort_order': 0 }, 'header_image': { 'label': 'Spring campaign header', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/header/header.jpg', 'alt': 'Spring collection', 'link': 'https://example.com/spring', 'sort_order': 0 }, 'banners': [ { 'label': 'Main promotion', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/banner/banner.jpg', 'alt': '20% off new collection', 'link': 'https://example.com/new', 'sort_order': 10 } ], 'icons': [ { 'label': 'Free delivery', 'url': 'https://example.com/media/ai_email_theme_generator/template_12/icon/delivery.png', 'alt': 'Free delivery', 'link': 'https://example.com/delivery', 'sort_order': 10 } ] }}En los prompts, haz referencia explícita a estos grupos. Ejemplo:
Use the uploaded logo as the main brand mark.Use the header image at the top of the email.Place banners below the order summary using their sort order.Use icons in a benefits row and link each icon to its target URL.Always preserve alt text.Activa:
Generate with AI after savingSignificado de este campo:
Si el checkbox no está marcado, el guardado de la plantilla funciona exactamente como el guardado estándar de Magento y no se crea ninguna tarea de IA.
Haz clic en el botón estándar de Magento:
Save TemplateDespués de guardar la plantilla, el módulo crea una tarea de generación.
En este momento:
pending,Ve a:
Marketing > Communications > AI Email Generation JobsAbre la tarea creada.
Campos principales:
| Campo | Significado |
|---|---|
| Status | Estado actual del procesamiento. |
| Template ID | ID de la plantilla de email nativa de Magento. |
| Template Name | Nombre de la plantilla guardado en el momento de crear la tarea. |
| Model | Modelo OpenAI utilizado para la generación. |
| Attempts | Número de intentos de procesamiento. |
| Prompt | Prompt de usuario enviado desde el formulario de la plantilla. |
| Request Payload | JSON enviado a la IA, si el guardado de payloads está activado. |
| Response Payload | JSON devuelto por la IA, si el guardado de payloads está activado. |
| Generated Result | Resultado parseado listo para aplicarse. |
| Assets | URL públicas de frontend y metadatos del logo, cabecera, banners e iconos. |
| Error Screenshot | Screenshot con errores actuales, enviado a la IA como contexto de reparación. |
| Warnings | Advertencias de la IA sobre requisitos arriesgados o incompletos. |
| Error Message | Causa del error cuando la generación falla. |
| Status History | Historial de cambios de estado de la tarea. |
Estados habituales:
| Estado | Significado |
|---|---|
pending | La tarea se ha creado y espera al consumer. |
processing | El consumer está procesando la tarea actualmente. |
retry_scheduled | El intento anterior falló y se programó un reintento. |
completed | La IA devolvió un resultado correcto. |
failed | La tarea falló después de todos los intentos o la validación no se completó correctamente. |
cancelled | El administrador canceló la tarea. |
Si Automatically Apply Result = No, el resultado no se guarda automáticamente en la plantilla de Magento.
Revisa:
Si el resultado es correcto, haz clic en:
Apply ResultEl módulo guardará los valores generados en los campos nativos de la plantilla de Magento.
Vuelve a:
Marketing > Communications > Email TemplatesAbre la plantilla y comprueba:
Envía un mensaje de prueba o ejecuta un flujo de pedido de prueba conforme al proceso QA estándar del proyecto.
Después de aplicar el resultado mediante Apply Result, la versión actual de la plantilla queda guardada en los campos nativos de Magento. Esto significa que la siguiente solicitud de IA se basará en esa versión, no en la plantilla original.
Puedes perfeccionar la misma plantilla varias veces:
Apply Result.Marketing > Communications > Email Templates.Error Screenshot.Generate with AI after saving.En las siguientes correcciones, trata AI Prompt como una descripción del cambio aplicado a la versión actual. Lo mejor es indicar:
Error Screenshot adjunto muestra un error de renderizado, layout visual, problema de responsividad o mensaje de validación.Ejemplo de prompt para otra corrección:
Use the current saved template as the base.Fix the spacing issue visible in the attached error screenshot.Keep the current header layout, all Magento variables, and the existing Template Styles structure.Do not redesign the whole email.Este workflow es útil cuando la primera versión está cerca del resultado esperado, pero requiere ajustar detalles como espaciados, responsividad, visibilidad de banners, posición del logo o estilo de botones.
Puedes repetir este ciclo muchas veces. Cada nueva tarea crea una entrada independiente en el historial, por lo que se puede volver a prompts, payloads y respuestas de IA anteriores para comprobar qué instrucción provocó un cambio concreto.
El módulo envía a la IA un payload estructurado. Las secciones más importantes son:
Contiene el estado actual de la plantilla de Magento:
La IA utiliza esta sección como material base para la generación.
Importante: si previamente se aplicó el resultado de la IA mediante Apply Result, la sección template ya contiene esa versión actualizada. Gracias a ello, la siguiente generación puede funcionar como una corrección de la plantilla actual.
Contiene variables y directivas de Magento detectadas en la plantilla.
La IA debe conservar estos valores y no debe inventar variables no compatibles.
Contiene:
technical - prompt técnico global de la configuración,user - prompt introducido en el editor de la plantilla.El prompt técnico protege la estructura específica de Magento. El prompt de usuario describe el resultado esperado para una sola plantilla.
Contiene metadatos y contenido opcionales del diseño de referencia subido.
La sección está vacía cuando no se ha subido ningún archivo de referencia.
Contiene un screenshot opcional que muestra errores actuales de renderizado, layout, visuales o de validación.
Esta sección tiene una descripción purpose y description para que la IA sepa que el archivo sirve para entender el problema, no como modelo del diseño objetivo.
La sección está vacía cuando no se ha subido ninguna captura de pantalla.
En correcciones posteriores conviene usar error_screenshot junto con un prompt preciso que indique qué debe corregirse y qué no debe cambiarse. Gracias a ello, la IA puede solucionar un problema concreto sin reconstruir toda la plantilla.
Ejemplo: después de aplicar el primer resultado de IA, el administrador observa que en Gmail el banner se superpone a la sección de resumen del pedido. En la siguiente solicitud, adjunta un screenshot de esa vista e introduce un prompt que pide únicamente corregir los espaciados y el ancho del banner. El payload sigue incluyendo el Template Content y Template Styles actuales, por lo que la IA trabaja sobre la última versión guardada.
Contiene recursos gráficos estructurados guardados para la plantilla:
Cada recurso incluye la URL pública de medios, label, alt text, target URL, sort order y filename.
La IA debe usar estas URL al construir el HTML y no debe inventar direcciones de imágenes adicionales.
Contiene información básica sobre la tienda, como:
La IA puede usarla para comprender el idioma y el contexto, pero no debe recibir datos reales de clientes ni pedidos.
Causa más probable:
Comprueba:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerComprueba los permisos ACL para:
Kowal_AiEmailThemeGenerator::settingsDespués de cambiar los permisos del administrador, cierra sesión y vuelve a iniciarla.
Comprueba:
OpenAI API KeyAsegúrate de que el módulo está activado y de que la configuración se ha guardado en el scope correcto.
Comprueba:
Automatically Apply ResultSi la opción está configurada como No, abre la tarea y haz clic en:
Apply ResultComprueba si el resultado anterior se aplicó mediante:
Apply ResultLa siguiente generación se basa en la plantilla de Magento guardada actualmente. Si el resultado del job tiene estado completed, pero no se ha aplicado, el siguiente job seguirá basándose en la versión anterior de la plantilla.
El módulo valida el JSON devuelto. Puede rechazar el resultado si:
script,Revisa el mensaje de error en la tarea y repite la generación con un prompt más claro.
Valores iniciales recomendados:
Enabled = YesRequest Timeout = 120Maximum Retries = 2Automatically Apply Result = NoKeep Request and Response Payloads = Yes for testing, No or limited retention for productionRetention Days = 30Utiliza la aplicación manual del resultado hasta que el equipo tenga la certeza de que los prompts, el modelo seleccionado y las reglas de validación generan plantillas coherentes.