Générateur de modèles d’e-mail IA pour Magento 2
- Compatibilité
- 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.7, 2.3.6, 2.3.5, 2.3.4
Description / Générateur de modèles d’e-mail IA pour Magento 2
MAGENTO 2 · MODÈLES D’E-MAIL · IA · FILE MAGENTO
Préparez une nouvelle version d’e-mail dans l’éditeur natif de Magento.
Kowal AI Email Template Generator
Ajoutez un prompt, une référence de design et des ressources graphiques au modèle enregistré. Lancez la génération en arrière-plan, examinez le résultat et appliquez-le au nom, à l’objet, au contenu et aux styles du modèle.
JSON et validation · Historique des tâches · Contrôle de l’application du résultat
COMMENT CELA FONCTIONNE EN PRATIQUE
01 · Vous décrivez le changement attendu
Vous ajoutez le prompt, la référence et les ressources de marque.
02 · La file traite la demande
Le consumer exécute la tâche et enregistre le résultat ou l’erreur.
03 · Vous vérifiez et appliquez le design
Vous contrôlez les variables, l’apparence et le contenu du message.
Qu’apporte ce module à votre boutique ?
Découvrez les fonctionnalités, les usages et les paramètres du module.
Découvrez le module
AI Email Theme Generator enrichit la gestion des modèles d’e-mail dans Magento 2 avec une génération assistée par IA. Le module permet d’améliorer les modèles transactionnels natifs directement depuis l’administration, sans remplacer le système standard de modèles d’e-mail.
Les administrateurs peuvent générer, reconstruire, corriger ou développer les modèles Magento existants avec ChatGPT via l’API OpenAI. Le résultat est renvoyé sous forme de données structurées et peut être enregistré dans les champs natifs Magento :
- Template Name
- Template Subject
- Template Content
- Template Styles
Le processus est contrôlé, auditable et asynchrone. Chaque demande IA est traitée par la file Magento et suivie comme une tâche distincte avec statut, historique, erreurs, payload de requête, payload de réponse et résultat généré.
Valeur métier
Les e-mails transactionnels Magento sont un point de contact important, mais leur apparence par défaut est souvent générique et nécessite du travail HTML/CSS manuel pour refléter la marque. AI Email Theme Generator réduit le temps de préparation de meilleurs modèles tout en conservant le résultat dans l’infrastructure native Magento.
Le module convient pour :
- actualiser les e-mails transactionnels Magento par défaut,
- créer des dispositions d’e-mail cohérentes avec l’identité de marque,
- améliorer les objets et contenus des messages,
- adapter les modèles à un design graphique fourni,
- préserver les variables et directives Magento,
- travailler dans un processus reproductible, consultable et contrôlable.
Génération IA dans l’éditeur natif Email Templates
Le module enrichit l’interface d’administration standard de Magento :
Marketing > Communications > Email Templates
Un modèle enregistré reçoit des champs IA supplémentaires directement dans l’éditeur standard Magento. L’administrateur saisit un prompt, ajoute une référence de design facultative, prépare les ressources graphiques et lance la génération avec ChatGPT.
Réponse IA structurée
Le résultat IA est attendu en JSON et mappé vers les champs natifs Magento :
{
"template_name": "New Order Confirmation - Guest",
"template_subject": "Your order confirmation",
"template_content": "<!-- Magento email HTML -->",
"template_styles": "/* CSS */",
"warnings": [],
"change_summary": "Updated layout and improved copy.",
"variables_used": ["order.increment_id", "store.frontend_name"]
}
Le résultat est ainsi prévisible et plus facile à valider avant l’enregistrement.
Traitement asynchrone
La génération n’a pas lieu lors du chargement de la page d’administration. Le module crée une tâche dans la file et la traite en arrière-plan via Magento Message Queue.
Cela évite une longue attente dans l’administration et donne à l’équipe une vue claire de chaque demande.
Historique des tâches et gestion des erreurs
Les tâches de génération sont accessibles dans :
Marketing > Communications > AI Email Generation Jobs
Chaque tâche indique :
- le statut actuel,
- nombre de tentatives,
- le modèle utilisé,
- le modèle d’e-mail associé,
- le prompt,
- le résultat généré,
- les payloads de requête et de réponse,
- les avertissements,
- le message d’erreur,
- l’historique des statuts.
Les tâches échouées peuvent être relancées, les tâches en attente annulées et les résultats terminés appliqués manuellement si l’enregistrement automatique est désactivé.
Référence de design facultative
Les administrateurs peuvent ajouter un fichier de référence : image, HTML ou texte. Il rejoint le contexte IA et peut servir à générer un modèle conforme au concept graphique choisi.
Ressources graphiques structurées pour les e-mails
L’éditeur natif peut également conserver les ressources IA propres à chaque modèle :
- logo,
- image d’en-tête,
- liste dynamique de bannières,
- liste dynamique d’icônes.
Chaque ressource peut avoir une étiquette, un texte alternatif, une URL cible et un ordre de tri. Les lignes de bannières et d’icônes peuvent être ajoutées dynamiquement dans le formulaire.
Pendant la génération, le module transmet à l’IA une section assets avec des URL frontend publiques regroupées par usage. ChatGPT sait ainsi quelle image est le logo, laquelle appartient à l’en-tête et quels fichiers sont des bannières ou des icônes.
Cette approche produit une disposition d’e-mail plus prévisible qu’une unique image de référence générale.
Prompt technique configurable
Le module contient un prompt technique global utilisé pour chaque génération. Il comprend des règles permanentes, notamment :
- préserver les directives Magento,
- ne pas inventer de variables indisponibles,
- ne pas ajouter de JavaScript,
- maintenir la compatibilité avec les clients de messagerie,
- renvoyer uniquement une réponse JSON.
Cela sépare les consignes techniques du prompt métier propre à chaque modèle.
Installation uniquement via Composer
Le module est fourni sous forme de paquet Composer pour Magento :
kowal/module-ai-email-theme-generator
Il est destiné à une installation comme paquet vendor, pas à une copie manuelle dans app/code.
Prêt pour les traductions
Le module est implémenté en anglais et tous les textes visibles sont préparés pour i18n Magento via les helpers de traduction ou des étiquettes et commentaires XML traduisibles.
Refonte des e-mails transactionnels
L’IA peut moderniser les messages Magento par défaut, notamment :
- confirmation de nouvelle commande,
- confirmation d’expédition,
- e-mail de facture,
- e-mail d’avoir,
- messages du compte client,
- réinitialisation du mot de passe.
Adaptation à la marque
L’administrateur peut fournir un prompt et une référence de design afin que le modèle respecte le ton de la boutique, les couleurs, les attentes typographiques et le style de disposition.
Assistance au développeur
Les développeurs peuvent générer une première version, puis examiner le résultat, valider les directives Magento et finaliser le HTML/CSS.
Expérimentation contrôlée
Chaque demande étant enregistrée comme une tâche, l’équipe peut comparer prompts, modèles, résultats, avertissements et erreurs sans perdre l’historique.
Sécurité et contrôle
AI Email Theme Generator assiste les administrateurs et développeurs sans contourner la validation ni le processus de revue des modèles Magento.
Le module prend en charge :
- le stockage chiffré de la clé API,
- l’application automatique configurable du résultat,
- le traitement par file,
- le suivi des statuts des tâches,
- les actions retry et cancel,
- la suppression individuelle et en masse des tâches,
- la validation des champs requis de la réponse IA,
- le blocage des balises
scriptdans le contenu généré, - les ressources graphiques structurées avec URL frontend,
- la conservation facultative des payloads de requête et de réponse.
En production, il est recommandé de désactiver l’application automatique jusqu’à ce que l’équipe ait vérifié la qualité des modèles générés pour ses prompts et cas d’utilisation.
Résumé
AI Email Theme Generator apporte la génération de modèles d’e-mail assistée par IA dans l’administration Magento 2 tout en préservant le workflow natif Email Templates. Il accélère l’amélioration des messages transactionnels, conserve l’auditabilité via les tâches en file et laisse aux développeurs le contrôle des prompts, du format de réponse et de l’application du résultat.
Le consumer est nécessaire pour exécuter la tâche
La configuration se trouve dans Stores → Configuration → Services → AI Email Theme Generator. Renseignez la clé API, choisissez le modèle et définissez les délais, les retries et la politique d’application du résultat.
Le consumer kowal.ai_email.generate.consumer exécute les tâches. En production, assurez son fonctionnement avec votre gestionnaire de processus. L’ajout d’une demande à la file ne signifie pas que la génération est terminée.
La revue manuelle est la politique par défaut
Le module et l’application automatique sont désactivés par défaut. Le validateur contrôle les champs requis, leurs types, un nom, un objet et un contenu non vides, et bloque la balise script.
Cela ne remplace pas la vérification des directives, des variables disponibles et de l’affichage dans les clients de messagerie. Testez le modèle sur le type de message approprié avant de l’affecter aux envois de production.
Références, images et historique
La limite par défaut du fichier de référence est de 5 MiB ; les extensions autorisées sont png, jpg, jpeg, webp, html, htm et txt. Logo, en-tête, bannières et icônes sont transmis avec leurs URL publiques.
La demande transmet le contenu et le contexte au service IA. La conservation des payloads est configurable ; l’historique permet de vérifier résultat, avertissements et erreurs. Le module génère des modèles, mais ne gère ni campagnes ni envois marketing.
Installation via Composer
Package kowal/module-ai-email-theme-generator, module Kowal_AiEmailThemeGenerator. Après avoir configuré l’accès au dépôt Kowal, installez le package, activez le module, mettez Magento à jour et videz le cache. En production, prévoyez la compilation et le déploiement du contenu statique conformément au processus de la boutique.
De la configuration au résultat
1. Vous décrivez le changement attendu
Vous ajoutez le prompt, la référence et les ressources de marque.
2. La file traite la demande
Le consumer exécute la tâche et enregistre le résultat ou l’erreur.
3. Vous vérifiez et appliquez le design
Vous contrôlez les variables, l’apparence et le contenu du message.
Actualisation de la confirmation de commande
Vous chargez le modèle natif, ajoutez le logo et les consignes de style de marque. L’IA prépare une proposition préservant les directives indiquées.
Avant utilisation, vous vérifiez l’aperçu, les données réelles de commande et l’affichage dans les clients de messagerie. Vous pouvez appliquer le résultat manuellement.
Facilitez la préparation des modèles transactionnels
Vous souhaitez adapter le module à votre boutique ? Demandez le déploiement de Kowal AI Email Template Generator et discutez de la configuration ou des extensions nécessaires.
Caractéristiques
| Addtocart Description | Voir la DÉMO du moduleidentifiant : emails |
|---|---|
| Compatibilité avec le modèle | Luma / Blank, KOWAL |
Notice d'installation du module
Guide d’installation et de configuration
1. Prérequis
Le module est destiné à Magento 2 et à une installation gérée par Composer.
Prérequis :
- projet Magento 2 géré par Composer,
- version de PHP compatible avec l’installation Magento utilisée,
- accès à Magento CLI,
- OpenAI API key,
- processus Magento Message Queue consumer opérationnel.
Package du module :
kowal/module-ai-email-theme-generator
Nom du module Magento :
Kowal_AiEmailThemeGenerator
2. Installation
Ajoutez le dépôt Composer :
Les identifiants d’accès au dépôt Composer, c’est-à-dire l’adresse e-mail du client et le token de licence, vous seront envoyés par e-mail après l’achat. Ils sont également disponibles dans l’espace client après connexion sur kowal.store. Remplacez TWOJ_EMAIL_KLIENTA par l’adresse e-mail de votre compte et TWOJ_TOKEN par le token reçu. Exécutez les commandes dans le répertoire racine de Magento.
composer config repositories.kowal composer https://repo.kowal.store
Configurez les identifiants d’accès au dépôt Composer Kowal :
composer config http-basic.repo.kowal.store "TWOJ_EMAIL_KLIENTA" "TWOJ_TOKEN"
Installez le module :
composer require kowal/module-ai-email-theme-generator
Activez le module :
bin/magento module:enable Kowal_AiEmailThemeGenerator
Lancez la mise à jour de Magento :
bin/magento setup:upgrade
Videz le cache :
bin/magento cache:flush
Pour le mode production, lancez les commandes de déploiement standard utilisées dans le projet, par exemple :
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
bin/magento cache:flush
3. Queue Consumer
La génération AI est traitée de manière asynchrone par Magento Message Queue.
Lancez le consumer manuellement :
bin/magento queue:consumers:start kowal.ai_email.generate.consumer
Dans les environnements de production, configurez le consumer sous supervisor, systemd ou un autre gestionnaire de processus utilisé par l’hébergement.
Le module crée des tâches dans le panneau d’administration, mais la requête vers l’AI ne sera pas traitée tant que le consumer ne fonctionne pas.
4. Droits administrateur
Le module ajoute des ressources ACL :
Kowal_AiEmailThemeGenerator::root
Kowal_AiEmailThemeGenerator::jobs
Kowal_AiEmailThemeGenerator::generate
Kowal_AiEmailThemeGenerator::retry
Kowal_AiEmailThemeGenerator::cancel
Kowal_AiEmailThemeGenerator::apply
Kowal_AiEmailThemeGenerator::delete
Kowal_AiEmailThemeGenerator::settings
Pour permettre à l’administrateur d’utiliser le module, attribuez les ressources appropriées dans :
System > Permissions > User Roles
Pour un accès complet, autorisez la ressource principaleAI Email Generationainsi que toutes les ressources enfants.
5. Emplacement de la configuration
Accédez à :
Stores > Configuration > AI Email Generation > AI Email Theme Generator
La section de configuration contient le groupe :
General Settings
6. Champs de configuration
Enabled
Type : Yes/No
Par défaut : No
Active ou désactive les fonctions du module.
Lorsque la valeur est définie surNo:
- le module ne devrait pas créer de tâches de génération AI,
- l’action de génération est bloquée,
- l’administrateur doit d’abord configurer le module.
DéfinissezYesuniquement après avoir préparé l’API key et lancé le queue consumer.
API Provider
Type : Select
Par défaut : OpenAI
Définit le fournisseur AI utilisé par le module.
L’implémentation actuelle prend en charge :
OpenAI
Ce champ existe afin de permettre l’ajout de nouveaux providers à l’avenir sans modifier le workflow de l’administrateur.
OpenAI API Key
Type : champ masqué/chiffré
Stocke l’OpenAI API key utilisée pour la génération.
La valeur est chiffrée par Magento au moyen de :
Magento\Config\Model\Config\Backend\Encrypted
Important :
- ne placez pas l’API key directement dans le code,
- ne commitez pas de clés d’environnement,
- limitez l’accès à ce champ via ACL,
- utilisez une clé disposant des droits adaptés au projet.
OpenAI Model
Type : Select
Définit le modèle OpenAI utilisé pour la génération.
Exemple :
gpt-4.1
La liste est récupérée dynamiquement depuis l’OpenAI Models API à l’aide de l’API key configurée. Le module filtre la réponse pour ne conserver que les identifiants de modèles GPT et met la liste en cache pendant une courte durée afin de ne pas appeler l’API à chaque ouverture de la configuration.
Si l’API key n’a pas encore été enregistrée, le champ affichera une option de secours et demandera à l’administrateur d’enregistrer la clé.
Si l’OpenAI API est temporairement indisponible, le champ conserve le modèle actuellement configuré, dans la mesure du possible.
Utilisez un modèle prenant en charge le type de données d’entrée requis :
- génération de texte pour les prompts et le contenu du template,
- modèle prenant en charge les images si des projets graphiques de référence sont utilisés.
Le modèle sélectionné influence la qualité du résultat, le temps de réponse et le coût.
Request Timeout
Type : Number
Exemple de valeur par défaut :
120
Durée maximale en secondes autorisée pour la requête vers l’OpenAI API.
Valeurs recommandées :
60pour une génération de texte courte,120ou plus pour une génération HTML/CSS complexe,- valeurs plus élevées uniquement si l’infrastructure permet des tâches plus longues dans la file d’attente.
Le timeout concerne le traitement en arrière-plan, et non la requête du formulaire d’administration.
Maximum Retries
Type : Number
Exemple de valeur par défaut :
2
Définit combien de fois le consumer peut relancer automatiquement une tâche de génération échouée.
Les nouvelles tentatives sont utiles en cas d’erreurs temporaires, telles que :
- timeout API,
- erreur temporaire du provider,
- rate limit,
- problème réseau.
Les erreurs permanentes, par exemple une configuration incorrecte ou une réponse AI invalide, doivent être vérifiées dans les détails de la tâche.
Technical Prompt
Type : Textarea
Ce prompt est appliqué à chaque demande de génération. Il doit contenir les règles techniques qui doivent toujours être respectées.
Exemple :
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.
Utilisez ce champ pour les instructions stables, telles que :
- conserver les directives Magento,
- maintenir les variables requises,
- éviter JavaScript,
- retourner uniquement du JSON,
- écrire du HTML compatible avec les clients e-mail,
- utiliser le CSS dans le champ de résultat approprié.
N’utilisez pas ce champ pour des instructions créatives ponctuelles. Le champAI Promptdu formulaire de template sert à cela.
Default User Prompt
Type : Textarea
Ce prompt est affiché par défaut dans la section AI de l’éditeur de template d’e-mail.
Exemple :
Improve this Magento email template while keeping all required Magento variables and directives valid.
L’administrateur peut le modifier avant de créer une tâche de génération.
Utilisez ce champ pour définir une instruction par défaut pratique pour les tâches de génération courantes.
Allowed Design File Types
Type : Text
Exemple de valeur par défaut :
png,jpg,jpeg,webp,html,htm,txt
Liste des extensions de fichiers autorisées pour le projet de référence optionnel, séparées par des virgules.
Exemples pris en charge :
pngjpgjpegwebphtmlhtmtxt
En production, utilisez une liste aussi restrictive que possible. N’autorisez pas les types de fichiers qui ne sont pas nécessaires au processus.
Maximum Design File Size
Type : Number
Exemple de valeur par défaut :
5242880
Taille maximale du fichier de référence en octets.
Exemples :
1048576= 1 MB5242880= 5 MB10485760= 10 MB
Les fichiers volumineux augmentent la taille du payload et peuvent ralentir la génération ou dépasser les limites du provider.
Automatically Apply Result
Type : Yes/No
Par défaut : No
Définit si un résultat AI correct doit immédiatement écraser les champs natifs du template Magento.
Lorsque la valeur est définie surYes, le consumer enregistre le résultat généré dans :
- Template Name
- Template Subject
- Template Content
- Template Styles
Lorsque la valeur est définie surNo, le résultat est conservé dans la tâche et l’administrateur peut le vérifier avant de l’appliquer manuellement.
Paramètre recommandé en production :
No
La validation manuelle est plus sûre, car le résultat AI peut être techniquement correct, mais nécessiter tout de même une revue de marque, juridique ou de layout.
Keep Request and Response Payloads
Type : Yes/No
Par défaut : Yes
Définit si le module enregistre les payloads complets de requête et de réponse dans l’enregistrement de la tâche.
Lorsque l’option est activée, les détails de la tâche peuvent afficher :
- snapshot du template envoyé à l’AI,
- variables disponibles,
- prompts,
- métadonnées du projet de référence,
- réponse AI.
C’est utile pour le débogage et l’audit.
Dans les environnements de production, vérifiez les exigences de confidentialité avant d’activer cette option. Le module ne devrait pas envoyer de données clients réelles à l’AI, mais les payloads peuvent toujours contenir du contenu de templates sensible pour l’entreprise.
Retention Days
Type : Number
Exemple de valeur par défaut :
30
Définit la durée pendant laquelle les anciennes tâches doivent être conservées.
Cette valeur documente la politique de rétention cible. Le projet peut l’utiliser pour mettre en œuvre un nettoyage périodique conformément aux exigences opérationnelles.
7. Exemple : génération du template New Order Confirmation for Guest
Cet exemple décrit le processus complet de génération d’un template d’e-mail Magento amélioré pour :
New Order Confirmation for Guest
Étape 1 : Configurez le module
Accédez à :
Stores > Configuration > AI Email Generation > AI Email Theme Generator
Définissez :
Enabled = Yes
API Provider = OpenAI
OpenAI API Key = <your OpenAI API key>
OpenAI Model = gpt-4.1
Request Timeout = 120
Maximum Retries = 2
Automatically Apply Result = No
Keep Request and Response Payloads = Yes
Enregistrez la configuration et videz le cache si Magento vous le demande.
Étape 2 : Lancez le queue consumer
Lancez :
bin/magento queue:consumers:start kowal.ai_email.generate.consumer
Pendant les tests, le processus doit fonctionner en continu.
Étape 3 : Créez un template Magento natif
Accédez à :
Marketing > Communications > Email Templates
Cliquez sur :
Add New Template
Dans le champTemplate , sélectionnez :
New Order Confirmation for Guest
Cliquez sur :
Load Template
Magento remplira les champs natifs :
- Template Subject
- Template Content
- Template Styles
Définissez le nom du template, par exemple :
New Order Confirmation for Guest - AI Draft
Enregistrez le template.
Le processus de génération AI nécessite un template enregistré, car la tâche doit disposer d’untemplate_id.
Étape 4 : Complétez AI Prompt
Après l’enregistrement, rouvrez le template si nécessaire. L’éditeur standard de template d’e-mail Magento contient la sectionAI Email Generation.
Dans le champAI Prompt , saisissez une instruction métier, par exemple :
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.
Rôle de ce champ :
- décrit l’effet métier attendu,
- concerne uniquement une tâche de génération donnée,
- peut contenir des instructions relatives à la marque, au ton de communication, au layout ou au contenu,
- ne doit pas contenir de données API ni de données clients réelles.
Étape 5 : Ajoutez éventuellement Design Reference
UtilisezDesign Referencesi l’e-mail généré doit suivre une direction visuelle précise.
Exemples de fichiers :
order-email-reference.pngbrand-email-layout.webpemail-layout.htmldesign-notes.txt
Rôle de ce champ :
- fournit à l’AI un contexte visuel ou structurel supplémentaire,
- aide à adapter le template au projet graphique,
- est optionnel,
- doit respecter les limites d’extensions et de taille de fichiers.
Si aucun projet de référence n’est ajouté, l’AI utilisera uniquement le contenu du template, les variables, le prompt technique et le prompt utilisateur.
Étape 6 : Ajoutez éventuellement Error Screenshot
UtilisezError Screenshotsi vous souhaitez montrer à l’AI le problème actuel de rendu, de layout ou de validation du template.
Exemples :
- capture d’écran d’un en-tête mal aligné,
- screenshot d’un problème avec le banner,
- aperçu de l’e-mail avec un espacement incorrect,
- capture depuis un client e-mail montrant un problème de responsivité,
- screenshot d’un message d’erreur provenant d’un outil de test.
Ce champ est transmis à l’AI comme une section JSON distincte :
{
"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."
}
}
Rôle de ce champ :
- montre à l’AI l’erreur actuelle à corriger,
- n’est pas un projet graphique ni un modèle d’apparence cible,
- aide l’AI à comprendre ce qui ne fonctionne pas actuellement,
- doit être utilisé avec une description claire du problème dans
AI Prompt.
Exemple 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.
Étape 7 : Ajoutez des AI Assets structurés
L’éditeur contient une zoneAI Assets. Ces ressources sont enregistrées avec le template Magento et transmises à l’AI sous forme d’URL de médias frontend regroupées.
Groupes de ressources disponibles :
| Le champ | Signification |
|---|---|
| Logo | Logo de la marque utilisé dans l’en-tête ou le pied de page du message. |
| Header Image | Image principale pour la partie supérieure du message. |
| Banners | Liste dynamique de banners promotionnels ou informatifs. |
| Icons | Liste dynamique de petits éléments graphiques, par exemple des bénéfices ou des icônes de services. |
Chaque ressource peut contenir :
| Le champ | Signification |
|---|---|
| File | Fichier graphique envoyé vers Magento media storage. |
| Label | Nom interne aidant l’AI à comprendre l’objectif de la ressource. |
| Alt Text | Texte utilisé dans l’attributaltde l’image. |
| Target URL | Lien utilisé lorsque l’image doit être cliquable. |
| Sort Order | Priorité d’affichage des banners et des icônes. |
Pour les banners et les icônes, cliquez sur :
Add Banner
Add Icon
Le module enregistre les ressources envoyées dans Magento media storage et transmet à l’AI les URL frontend publiques dans la structure :
{
"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
}
]
}
}
Dans les prompts, faites directement référence à ces groupes. Exemple :
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.
Étape 8 : Choisissez la génération après enregistrement
Activez :
Generate with AI after saving
Rôle de ce champ :
- Magento enregistre d’abord le template via l’action native standard save,
- après un enregistrement réussi, le module crée une tâche de génération AI,
- le projet de référence envoyé est joint à la tâche,
- la tâche est traitée de manière asynchrone par le queue consumer.
Si la checkbox n’est pas cochée, l’enregistrement du template fonctionne exactement comme l’enregistrement standard de Magento et aucune tâche AI n’est créée.
Étape 9 : Enregistrez le template
Cliquez sur le bouton Magento standard :
Save Template
Après l’enregistrement du template, le module crée une tâche de génération.
À ce stade :
- l’enregistrement natif du template est terminé,
- le statut de la tâche commence par
pending, - le queue consumer traite la tâche en arrière-plan.
Étape 10 : Vérifiez la tâche
Accédez à :
Marketing > Communications > AI Email Generation Jobs
Ouvrez la tâche créée.
Champs les plus importants :
| Le champ | Signification |
|---|---|
| Statut | Statut actuel du traitement. |
| Template ID | ID du template d’e-mail Magento natif. |
| Template Name | Nom du template enregistré au moment de la création de la tâche. |
| Model | Modèle OpenAI utilisé pour la génération. |
| Attempts | Nombre de tentatives de traitement. |
| Prompt | Prompt utilisateur envoyé depuis le formulaire du template. |
| Request Payload | JSON envoyé à l’AI si l’enregistrement des payloads est activé. |
| Response Payload | JSON retourné par l’AI si l’enregistrement des payloads est activé. |
| Generated Result | Résultat parsé prêt à être appliqué. |
| Assets | URL frontend publiques et métadonnées du logo, de l’en-tête, des banners et des icônes. |
| Error Screenshot | Screenshot contenant les erreurs actuelles, transmis à l’AI comme contexte de correction. |
| Warnings | Avertissements de l’AI concernant des exigences risquées ou incomplètes. |
| Error Message | Cause de l’erreur lorsque la génération échoue. |
| Status History | Historique des changements de statut de la tâche. |
Statuts courants :
| Statut | Signification |
|---|---|
pending |
La tâche a été créée et attend le consumer. |
processing |
Le consumer traite actuellement la tâche. |
retry_scheduled |
La tentative précédente a échoué et une nouvelle tentative a été planifiée. |
completed |
L’AI a retourné un résultat correct. |
failed |
La tâche a échoué après toutes les tentatives ou la validation a échoué. |
cancelled |
L’administrateur a annulé la tâche. |
Étape 11 : Appliquez le résultat
SiAutomatically Apply Result = No, le résultat n’est pas automatiquement enregistré dans le template Magento.
Vérifiez :
- Template Name
- Template Subject
- Template Content
- Template Styles
- Warnings
- Request Payload
- Response Payload
Si le résultat est correct, cliquez sur :
Apply Result
Le module enregistrera les valeurs générées dans les champs natifs du template Magento.
Étape 12 : Vérifiez le template d’e-mail natif
Retournez à :
Marketing > Communications > Email Templates
Ouvrez le template et vérifiez que :
- Template Name a été mis à jour,
- Template Subject a été mis à jour,
- Template Content contient le HTML attendu et les directives Magento,
- Template Styles contient le CSS attendu,
- les variables Magento requises n’ont pas été supprimées.
Envoyez un message de test ou lancez un flux de commande de test conformément au processus QA standard du projet.
Étape 13 : Envoyez une nouvelle correction à l’AI
Après application du résultat viaApply Result, la version actuelle du template est enregistrée dans les champs natifs de Magento. Cela signifie que la demande AI suivante se basera sur cette version, et non sur le template initial.
Vous pouvez affiner plusieurs fois le même template :
- Appliquez le résultat AI via
Apply Result. - Rouvrez le template dans
Marketing > Communications > Email Templates. - Saisissez un nouveau prompt décrivant la correction précise.
- Si le problème est visuel, ajoutez
Error Screenshot. - Cochez
Generate with AI after saving. - Enregistrez le template.
- Vérifiez la nouvelle tâche et appliquez le résultat s’il est correct.
Pour les corrections suivantes, considérezAI Promptcomme une description de modification à appliquer à la version actuelle. Il est préférable d’indiquer :
- ce qui est actuellement incorrect,
- le résultat à obtenir,
- les éléments que l’AI ne doit pas modifier,
- si le
Error Screenshotjoint montre une erreur de rendu, une mise en page visuelle, un problème de responsivité ou un message de validation.
Exemple de prompt pour une correction suivante :
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.
Ce workflow est utile lorsque la première version est proche du résultat attendu, mais nécessite d’affiner des détails tels que les espacements, la responsivité, la visibilité des banners, la position du logo ou le style des boutons.
Vous pouvez répéter ce cycle de nombreuses fois. Chaque nouvelle tâche crée une entrée distincte dans l’historique, ce qui permet de revenir aux prompts, payloads et réponses AI précédents afin de vérifier quelle instruction a conduit à une modification précise.
8. Signification des champs du payload AI
Le module envoie à l’AI un payload structuré. Les sections les plus importantes sont :
template
Contient l’état actuel du template Magento :
- ID du template,
- nom du template,
- subject,
- content,
- styles,
- code original du template.
L’AI utilise cette section comme matériau de base pour la génération.
Important : si un résultat AI a déjà été appliqué viaApply Result, la sectiontemplatecontient déjà cette version mise à jour. Ainsi, la génération suivante peut fonctionner comme une correction du template actuel.
variables
Contient les variables et directives Magento détectées dans le template.
L’AI doit conserver ces valeurs et ne doit pas inventer de variables non prises en charge.
prompts
Contient :
technical- prompt technique global issu de la configuration,user- prompt saisi dans l’éditeur de template.
Le prompt technique protège la structure spécifique à Magento. Le prompt utilisateur décrit le résultat attendu pour un template donné.
design_reference
Contient les métadonnées optionnelles et le contenu du projet de référence envoyé.
La section est vide lorsqu’aucun fichier de référence n’a été envoyé.
error_screenshot
Contient un screenshot optionnel montrant les erreurs actuelles de rendu, de layout, visuelles ou de validation.
Cette section comporte une descriptionpurposeetdescriptionafin que l’AI sache que le fichier sert à comprendre le problème, et non de modèle pour le projet cible.
La section est vide lorsqu’aucune capture d’écran n’a été envoyée.
Lors des corrections suivantes, il est recommandé d’utilisererror_screenshotavec un prompt précis indiquant ce qui doit être corrigé et ce qui ne doit pas être modifié. Ainsi, l’AI peut corriger un problème précis sans reconstruire tout le template.
Exemple : après avoir appliqué le premier résultat AI, l’administrateur constate que, dans Gmail, le banner chevauche la section de résumé de commande. Dans la demande suivante, il joint un screenshot de cette vue et saisit un prompt demandant uniquement la correction des espacements et de la largeur du banner. Le payload contient toujours leTemplate ContentetTemplate Stylesactuels, l’AI travaille donc sur la dernière version enregistrée.
assets
Contient les ressources graphiques structurées enregistrées pour le template :
- logo,
- header image,
- banners,
- icons.
Chaque ressource contient une URL publique de média, label, alt text, target URL, sort order et filename.
L’AI doit utiliser ces URL lors de la construction du HTML et ne doit pas inventer d’adresses d’images supplémentaires.
store_context
Contient les informations de base sur la boutique, telles que :
- store ID,
- locale,
- base URL.
L’AI peut les utiliser pour comprendre la langue et le contexte, mais ne doit pas recevoir de données clients ni de commandes réelles.
9. Dépannage
La tâche reste au statut pending
Cause la plus probable :
- le queue consumer ne fonctionne pas.
Vérifiez :
bin/magento queue:consumers:start kowal.ai_email.generate.consumer
La page de configuration affiche access denied
Vérifiez les droits ACL pour :
Kowal_AiEmailThemeGenerator::settings
Après modification des droits administrateur, déconnectez-vous puis reconnectez-vous.
La génération se termine par une erreur d’absence d’API key
Vérifiez :
OpenAI API Key
Assurez-vous que le module est activé et que la configuration a été enregistrée dans le bon scope.
Le résultat AI a le statut completed, mais le template n’a pas été mis à jour
Vérifiez :
Automatically Apply Result
Si l’option est définie surNo, ouvrez la tâche et cliquez sur :
Apply Result
La correction suivante ne tient pas compte du résultat précédent
Vérifiez si le résultat précédent a été appliqué via :
Apply Result
La génération suivante se base sur le template Magento actuellement enregistré. Si le résultat du job a le statutcompleted, mais n’a pas été appliqué, le job suivant continuera à se baser sur une ancienne version du template.
La réponse AI a été rejetée
Le module valide le JSON retourné. Il peut rejeter le résultat si :
- des champs requis sont manquants,
- les champs requis ont des types incorrects,
- le nom du template, le subject ou le content sont vides,
- le content contient la balise
script, - le résultat n’est pas un JSON valide.
Vérifiez le message d’erreur dans la tâche et relancez la génération avec un prompt plus clair.
10. Paramètres de production recommandés
Valeurs initiales recommandées :
Enabled = Yes
Request Timeout = 120
Maximum Retries = 2
Automatically Apply Result = No
Keep Request and Response Payloads = Yes for testing, No or limited retention for production
Retention Days = 30
Utilisez l’application manuelle du résultat jusqu’à ce que l’équipe soit certaine que les prompts, le modèle sélectionné et les règles de validation produisent des templates cohérents.