Google Indexing API para Magento 2
50,00 € 50,00 €
O AI Email Theme Generator expande a gestão de modelos de email no Magento 2 com geração assistida por IA. O módulo adiciona um processo prático para melhorar os modelos transacionais nativos do Magento diretamente a partir do painel de administração, sem substituir o sistema padrão de modelos de email.
Os administradores podem gerar, reconstruir, corrigir ou expandir modelos de email Magento existentes com o ChatGPT através da OpenAI API. O resultado da geração é devolvido como dados estruturados e pode ser guardado nos campos nativos do Magento:
O processo é controlado, auditável e assíncrono. Cada pedido de IA é tratado pela fila do Magento e acompanhado como uma tarefa separada com informação sobre estado, histórico, erros, payload do pedido, payload da resposta e resultado gerado.
Os emails transacionais do Magento são um ponto de contacto importante com o cliente, mas o seu aspeto predefinido é normalmente muito genérico e exige trabalho manual com HTML/CSS para o adaptar à marca. O AI Email Theme Generator reduz o tempo necessário para preparar melhores modelos de email, mantendo o resultado na infraestrutura nativa do Magento.
O módulo é adequado para:
O módulo expande a interface de administração padrão do Magento:
Marketing > Communications > Email TemplatesO modelo guardado recebe campos adicionais de IA diretamente no editor padrão de modelos de email do Magento. O administrador pode introduzir um prompt, adicionar um design de referência opcional, preparar recursos gráficos e solicitar a geração com o ChatGPT.
O resultado da IA é esperado como JSON e mapeado para os campos nativos do 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']}Desta forma, o resultado é previsível e mais fácil de validar antes de ser guardado.
A geração não é executada durante o carregamento da página de administração. O módulo cria uma tarefa na fila e processa-a em segundo plano com a Magento Message Queue.
Isto evita longos tempos de espera no painel de administração e dá à equipa uma visão clara de cada pedido de geração.
As tarefas de geração estão disponíveis em:
Marketing > Communications > AI Email Generation JobsCada tarefa mostra:
As tarefas falhadas podem ser repetidas, as tarefas pendentes podem ser canceladas e os resultados concluídos podem ser aplicados manualmente se a gravação automática do resultado estiver desativada.
Os administradores podem adicionar um ficheiro de referência, por exemplo, uma imagem, HTML ou ficheiro de texto. O ficheiro é anexado ao contexto da IA e pode ser utilizado para gerar um modelo alinhado com o conceito gráfico escolhido.
O editor nativo de modelos de email também pode armazenar recursos de IA atribuídos a um modelo específico:
Cada recurso pode ter uma etiqueta, texto alternativo, URL de destino e ordem de ordenação. As linhas de banners e ícones podem ser adicionadas dinamicamente no formulário.
Durante a geração, o módulo envia para a IA a secção assets com URLs frontend públicos agrupados por finalidade. Assim, o ChatGPT sabe qual imagem é o logótipo, qual pertence ao cabeçalho, quais ficheiros são banners e quais são ícones.
Esta abordagem proporciona um layout de email mais previsível do que enviar uma única imagem de referência genérica.
O módulo inclui um prompt técnico global utilizado em cada pedido de geração. O prompt contém regras técnicas fixas, por exemplo:
Isto separa as instruções técnicas do prompt de negócio escrito para um modelo individual.
O módulo é preparado como um pacote Composer para Magento:
kowal/module-ai-email-theme-generatorDestina-se a ser instalado como pacote de vendor, e não a ser copiado manualmente para app/code.
O módulo está implementado em inglês e todos os textos visíveis estão preparados para o mecanismo i18n do Magento através de helpers de tradução ou etiquetas e comentários XML traduzíveis.
A IA pode ser utilizada para modernizar as mensagens predefinidas do Magento, tais como:
O administrador pode fornecer um prompt e um design de referência para que o modelo gerado corresponda ao tom de comunicação da loja, às cores, às expectativas tipográficas e ao estilo de layout.
Os developers podem utilizar o módulo para gerar a primeira versão de um modelo e, em seguida, verificar o resultado, validar as diretivas do Magento e aperfeiçoar o HTML/CSS final.
Como cada pedido é guardado como uma tarefa, a equipa pode comparar prompts, modelos, resultados, avisos e erros sem perder o histórico.
O AI Email Theme Generator foi concebido para apoiar administradores e developers, não para contornar a validação nem o processo de revisão dos modelos Magento.
O módulo suporta:
script no conteúdo gerado,Em ambientes de produção, recomenda-se desativar a aplicação automática do resultado até que a equipa verifique a qualidade dos modelos gerados para os seus prompts e casos de utilização.
O AI Email Theme Generator introduz a geração de modelos de email assistida por IA no painel Magento 2, mantendo simultaneamente o workflow nativo de Email Templates. O módulo ajuda a melhorar mensagens transacionais mais rapidamente, mantém a auditabilidade através de tarefas na fila e dá aos developers controlo sobre prompts, formato da resposta e forma de aplicação do resultado.
O módulo destina-se a Magento 2 e a instalações geridas pelo Composer.
Necessário:
Pacote do módulo:
kowal/module-ai-email-theme-generatorNome do módulo Magento:
Kowal_AiEmailThemeGeneratorAdicione o repositório Composer:
composer config repositories.ai.email.theme.generator vcs https://github.com/kowalco/ai-email-theme-generatorSe o repositório for privado, configure a autenticação GitHub:
composer config --global --auth github-oauth.github.com Instale o módulo:
composer require kowal/module-ai-email-theme-generatorAtive o módulo:
bin/magento module:enable Kowal_AiEmailThemeGeneratorExecute a atualização do Magento:
bin/magento setup:upgradeLimpe a cache:
bin/magento cache:flushPara o modo de produção, execute os comandos de deployment padrão utilizados no projeto, por exemplo:
bin/magento setup:di:compilebin/magento setup:static-content:deploybin/magento cache:flushA geração com IA é processada de forma assíncrona pela Magento Message Queue.
Execute o consumer manualmente:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerEm ambientes de produção, configure o consumer com supervisor, systemd ou outro gestor de processos utilizado pelo alojamento.
O módulo cria tarefas no painel de administração, mas o pedido para a IA não será processado enquanto o consumer não estiver em execução.
O módulo adiciona recursos ACL:
Kowal_AiEmailThemeGenerator::rootKowal_AiEmailThemeGenerator::jobsKowal_AiEmailThemeGenerator::generateKowal_AiEmailThemeGenerator::retryKowal_AiEmailThemeGenerator::cancelKowal_AiEmailThemeGenerator::applyKowal_AiEmailThemeGenerator::deleteKowal_AiEmailThemeGenerator::settingsPara que o administrador possa utilizar o módulo, atribua os recursos adequados em:
System > Permissions > User RolesPara acesso total, permita o recurso principal AI Email Generation e todos os recursos subordinados.
Aceda a:
Stores > Configuration > AI Email Generation > AI Email Theme GeneratorA secção de configuração contém o grupo:
General SettingsTipo: Yes/No
Predefinição: No
Ativa ou desativa as funcionalidades do módulo.
Quando definido como No:
Defina Yes apenas depois de preparar a API key e iniciar o queue consumer.
Tipo: Select
Predefinição: OpenAI
Define o fornecedor de IA utilizado pelo módulo.
A implementação atual suporta:
OpenAIO campo existe para permitir adicionar outros providers no futuro sem alterar o workflow do administrador.
Tipo: campo ocultado/encriptado
Armazena a OpenAI API key utilizada para a geração.
O valor é encriptado pelo Magento com:
MagentoConfigModelConfigBackendEncryptedImportante:
Tipo: Select
Define o modelo OpenAI utilizado para a geração.
Exemplo:
gpt-4.1A lista é obtida dinamicamente a partir da OpenAI Models API utilizando a API key configurada. O módulo filtra a resposta para identificadores de modelos GPT e coloca a lista em cache durante um curto período, para não chamar a API sempre que a configuração é aberta.
Se a API key ainda não tiver sido guardada, o campo mostrará uma opção de contingência e pedirá ao administrador para guardar a chave.
Se a OpenAI API estiver temporariamente indisponível, o campo mantém o modelo atualmente configurado, sempre que possível.
Utilize um modelo que suporte o tipo de dados de entrada necessário:
O modelo escolhido influencia a qualidade do resultado, o tempo de resposta e o custo.
Tipo: Number
Exemplo de valor predefinido:
120Tempo máximo em segundos permitido para o pedido à OpenAI API.
Valores recomendados:
60 para geração curta de texto,120 ou mais para geração HTML/CSS complexa,O timeout aplica-se ao processamento em segundo plano, não ao pedido do formulário de administração.
Tipo: Number
Exemplo de valor predefinido:
2Define quantas vezes o consumer pode repetir automaticamente uma tarefa de geração falhada.
As repetições são úteis em erros temporários, tais como:
Erros permanentes, por exemplo configuração incorreta ou resposta inválida da IA, devem ser verificados nos detalhes da tarefa.
Tipo: Textarea
Este prompt é aplicado a cada pedido de geração. Deve conter regras técnicas que têm sempre de ser preservadas.
Exemplo:
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.Utilize este campo para instruções estáveis, como:
Não utilize este campo para instruções criativas pontuais. Para isso existe o AI Prompt no formulário do modelo.
Tipo: Textarea
Este prompt é apresentado por predefinição na secção de IA do editor de modelos de email.
Exemplo:
Improve this Magento email template while keeping all required Magento variables and directives valid.O administrador pode alterá-lo antes de criar a tarefa de geração.
Utilize este campo para definir uma instrução predefinida prática para tarefas típicas de geração.
Tipo: Text
Exemplo de valor predefinido:
png,jpg,jpeg,webp,html,htm,txtLista de extensões de ficheiros permitidas para o design de referência opcional, separadas por vírgulas.
Exemplos suportados:
pngjpgjpegwebphtmlhtmtxtEm produção, utilize uma lista tão restritiva quanto possível. Não permita tipos de ficheiro que não sejam necessários no processo.
Tipo: Number
Exemplo de valor predefinido:
5242880Tamanho máximo do ficheiro de referência em bytes.
Exemplos:
1048576 = 1 MB5242880 = 5 MB10485760 = 10 MBFicheiros grandes aumentam o tamanho do payload e podem tornar a geração mais lenta ou exceder os limites do provider.
Tipo: Yes/No
Predefinição: No
Define se um resultado válido da IA deve substituir imediatamente os campos nativos do modelo Magento.
Quando definido como Yes, o consumer guarda o resultado gerado em:
Quando definido como No, o resultado é armazenado na tarefa e o administrador pode verificá-lo antes de o aplicar manualmente.
Configuração recomendada para produção:
NoA aprovação manual é mais segura, porque o resultado da IA pode estar tecnicamente correto, mas ainda assim exigir revisão de marca, legal ou de layout.
Tipo: Yes/No
Predefinição: Yes
Define se o módulo guarda os payloads completos do pedido e da resposta no registo da tarefa.
Quando a opção está ativa, os detalhes da tarefa podem mostrar:
Isto é útil para debugging e auditoria.
Em ambientes de produção, verifique os requisitos de privacidade antes de ativar esta opção. O módulo não deve enviar dados reais de clientes para a IA, mas os payloads podem ainda conter conteúdo de modelos sensível para o negócio.
Tipo: Number
Exemplo de valor predefinido:
30Define durante quanto tempo as tarefas antigas devem ser mantidas.
Este valor documenta a política de retenção pretendida. O projeto pode utilizá-lo para implementar limpeza periódica de acordo com os requisitos operacionais.
Este exemplo descreve o processo completo de geração de um modelo de email Magento melhorado para:
New Order Confirmation for GuestAceda a:
Stores > Configuration > AI Email Generation > AI Email Theme GeneratorDefina:
Enabled = YesAPI Provider = OpenAIOpenAI API Key = OpenAI Model = gpt-4.1Request Timeout = 120Maximum Retries = 2Automatically Apply Result = NoKeep Request and Response Payloads = Yes Guarde a configuração e limpe a cache se o Magento o solicitar.
Execute:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerDurante os testes, o processo deve estar sempre em execução.
Aceda a:
Marketing > Communications > Email TemplatesClique em:
Add New TemplateNo campo Template, selecione:
New Order Confirmation for GuestClique em:
Load TemplateO Magento irá preencher os campos nativos:
Defina o nome do modelo, por exemplo:
New Order Confirmation for Guest - AI DraftGuarde o modelo.
O processo de geração com IA requer um modelo guardado, porque a tarefa tem de ter um template_id persistente.
Depois de guardar, abra novamente o modelo, se necessário. O editor padrão de modelos de email do Magento contém a secção AI Email Generation.
No campo AI Prompt, introduza a instrução de negócio, por exemplo:
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 deste campo:
Utilize Design Reference se o email gerado deve seguir uma direção visual específica.
Ficheiros de exemplo:
order-email-reference.pngbrand-email-layout.webpemail-layout.htmldesign-notes.txtSignificado deste campo:
Se nenhum design de referência for adicionado, a IA utilizará apenas o conteúdo do modelo, as variáveis, o prompt técnico e o prompt do utilizador.
Utilize Error Screenshot se quiser mostrar à IA o problema atual de renderização, layout ou validação do modelo.
Exemplos:
Este campo é enviado para a IA como uma secção JSON separada:
{ '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 deste campo:
AI Prompt.Exemplo 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.O editor inclui a área AI Assets. Estes recursos são guardados com o modelo Magento e enviados para a IA como URLs frontend de media agrupados.
Grupos de recursos disponíveis:
| Campo | Significado |
|---|---|
| Logo | Logótipo da marca utilizado no cabeçalho ou rodapé da mensagem. |
| Header Image | Imagem principal para a parte superior da mensagem. |
| Banners | Lista dinâmica de banners promocionais ou informativos. |
| Icons | Lista dinâmica de pequenos elementos gráficos, por exemplo benefícios ou ícones de serviços. |
Cada recurso pode conter:
| Campo | Significado |
|---|---|
| File | Ficheiro gráfico enviado para o Magento media storage. |
| Label | Nome interno que ajuda a IA a compreender a finalidade do recurso. |
| Alt Text | Texto utilizado no atributo alt da imagem. |
| Target URL | Link utilizado quando a imagem deve ser clicável. |
| Sort Order | Prioridade de apresentação de banners e ícones. |
Para banners e ícones, clique em:
Add BannerAdd IconO módulo guarda os recursos enviados no Magento media storage e envia para a IA URLs frontend públicos na estrutura:
{ '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 } ] }}Nos prompts, faça referência direta a estes grupos. Exemplo:
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.Ative:
Generate with AI after savingSignificado deste campo:
Se a checkbox não estiver selecionada, a gravação do modelo funciona exatamente como a gravação padrão do Magento e nenhuma tarefa de IA será criada.
Clique no botão padrão do Magento:
Save TemplateDepois de guardar o modelo, o módulo cria uma tarefa de geração.
Neste momento:
pending,Aceda a:
Marketing > Communications > AI Email Generation JobsAbra a tarefa criada.
Campos mais importantes:
| Campo | Significado |
|---|---|
| Status | Estado atual do processamento. |
| Template ID | ID do modelo de email nativo do Magento. |
| Template Name | Nome do modelo guardado no momento de criação da tarefa. |
| Model | Modelo OpenAI utilizado para a geração. |
| Attempts | Número de tentativas de processamento. |
| Prompt | Prompt do utilizador enviado a partir do formulário do modelo. |
| Request Payload | JSON enviado para a IA, se o armazenamento de payloads estiver ativo. |
| Response Payload | JSON devolvido pela IA, se o armazenamento de payloads estiver ativo. |
| Generated Result | Resultado analisado e pronto a aplicar. |
| Assets | URLs frontend públicos e metadados de logótipo, cabeçalho, banners e ícones. |
| Error Screenshot | Screenshot com erros atuais, enviado para a IA como contexto de correção. |
| Warnings | Avisos da IA sobre requisitos arriscados ou incompletos. |
| Error Message | Causa do erro quando a geração falha. |
| Status History | Histórico de alterações de estado da tarefa. |
Estados típicos:
| Estado | Significado |
|---|---|
pending | A tarefa foi criada e aguarda pelo consumer. |
processing | O consumer está atualmente a processar a tarefa. |
retry_scheduled | A tentativa anterior falhou e foi agendada uma nova tentativa. |
completed | A IA devolveu um resultado válido. |
failed | A tarefa falhou após todas as tentativas ou a validação não foi bem-sucedida. |
cancelled | O administrador cancelou a tarefa. |
Se Automatically Apply Result = No, o resultado não é guardado automaticamente no modelo Magento.
Verifique:
Se o resultado estiver correto, clique em:
Apply ResultO módulo guardará os valores gerados nos campos nativos do modelo Magento.
Volte a:
Marketing > Communications > Email TemplatesAbra o modelo e verifique:
Envie uma mensagem de teste ou execute um fluxo de pedido de teste de acordo com o processo QA padrão do projeto.
Depois de aplicar o resultado com Apply Result, a versão atual do modelo fica guardada nos campos nativos do Magento. Isto significa que o pedido de IA seguinte será baseado nessa versão, e não no modelo original.
Pode aperfeiçoar o mesmo modelo várias vezes:
Apply Result.Marketing > Communications > Email Templates.Error Screenshot.Generate with AI after saving.Nas correções seguintes, trate o AI Prompt como uma descrição da alteração à versão atual. O ideal é indicar:
Error Screenshot anexado mostra um erro de renderização, layout visual, problema de responsividade ou mensagem de validação.Exemplo de prompt para uma correção seguinte:
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 é útil quando a primeira versão está próxima do efeito esperado, mas requer aperfeiçoamento de detalhes, como espaçamentos, responsividade, visibilidade de banners, posição do logótipo ou estilo dos botões.
Pode repetir este ciclo muitas vezes. Cada nova tarefa cria uma entrada separada no histórico, por isso é possível regressar a prompts, payloads e respostas da IA anteriores para verificar qual instrução levou a uma alteração concreta.
O módulo envia para a IA um payload estruturado. As secções mais importantes são:
Contém o estado atual do modelo Magento:
A IA utiliza esta secção como material base para a geração.
Importante: se o resultado da IA tiver sido previamente aplicado através de Apply Result, a secção template já contém essa versão atualizada. Assim, a geração seguinte pode funcionar como uma correção ao modelo atual.
Contém variáveis e diretivas Magento detetadas no modelo.
A IA deve preservar estes valores e não deve inventar variáveis não suportadas.
Contém:
technical - prompt técnico global da configuração,user - prompt introduzido no editor do modelo.O prompt técnico protege a estrutura específica do Magento. O prompt do utilizador descreve o resultado esperado para um único modelo.
Contém metadados opcionais e o conteúdo do design de referência enviado.
A secção fica vazia quando não é enviado qualquer ficheiro de referência.
Contém um screenshot opcional que mostra erros atuais de renderização, layout, visuais ou de validação.
Esta secção tem a descrição purpose e description para que a IA saiba que o ficheiro serve para compreender o problema, e não como modelo do design final.
A secção fica vazia quando não é enviada uma captura de ecrã.
Em correções seguintes, vale a pena utilizar error_screenshot juntamente com um prompt preciso que indique o que deve ser corrigido e o que não deve ser alterado. Assim, a IA pode resolver um problema específico sem reconstruir todo o modelo.
Exemplo: depois de aplicar o primeiro resultado da IA, o administrador repara que, no Gmail, o banner sobrepõe a secção de resumo do pedido. No pedido seguinte, anexa um screenshot dessa vista e introduz um prompt pedindo apenas a correção dos espaçamentos e da largura do banner. O payload continua a conter o Template Content e o Template Styles atuais, por isso a IA trabalha sobre a última versão guardada.
Contém recursos gráficos estruturados guardados para o modelo:
Cada recurso contém URL público de media, label, alt text, target URL, sort order e filename.
A IA deve utilizar estes URLs ao construir o HTML e não deve inventar endereços adicionais de imagens.
Contém informações básicas sobre a loja, tais como:
A IA pode utilizá-las para compreender o idioma e o contexto, mas não deve receber dados reais de clientes ou pedidos.
Causa mais provável:
Verifique:
bin/magento queue:consumers:start kowal.ai_email.generate.consumerVerifique as permissões ACL para:
Kowal_AiEmailThemeGenerator::settingsDepois de alterar as permissões do administrador, termine a sessão e volte a iniciar sessão.
Verifique:
OpenAI API KeyCertifique-se de que o módulo está ativo e que a configuração foi guardada no scope correto.
Verifique:
Automatically Apply ResultSe a opção estiver definida como No, abra a tarefa e clique em:
Apply ResultVerifique se o resultado anterior foi aplicado através de:
Apply ResultA geração seguinte baseia-se no modelo Magento atualmente guardado. Se o resultado do job tiver estado completed, mas não tiver sido aplicado, o job seguinte continuará a basear-se na versão mais antiga do modelo.
O módulo valida o JSON devolvido. Pode rejeitar o resultado se:
script,Verifique a mensagem de erro na tarefa e repita a geração com um prompt mais claro.
Valores iniciais recomendados:
Enabled = YesRequest Timeout = 120Maximum Retries = 2Automatically Apply Result = NoKeep Request and Response Payloads = Yes for testing, No or limited retention for productionRetention Days = 30Utilize a aplicação manual do resultado até que a equipa tenha confiança de que os prompts, o modelo escolhido e as regras de validação produzem modelos consistentes.