Kowal_Affiliate - instruções de instalação e configuração
Este documento descreve o processo de instalação, ativação e primeira configuração do módulo Kowal_Affiliate para Magento 2. As instruções abrangem tanto os requisitos técnicos como os passos práticos necessários para lançar o programa de afiliados na loja.
1. Requisitos de sistema
O módulo destina-se a:
- Magento Open Source / Adobe Commerce 2.4.7+
- PHP 8.2 ou 8.3
No projeto Magento devem estar disponíveis, pelo menos, os módulos:
Magento_StoreMagento_CmsMagento_CustomerMagento_EmailMagento_QuoteMagento_SalesMagento_SalesRuleMagento_Backend
2. Métodos de instalação
O módulo pode ser implementado de forma padrão como um pacote Composer.
2.1. Instalação através do Composer
O módulo é distribuído como pacote Composer; um exemplo de processo é o seguinte:
composer require kowal/module-affiliatebin/magento module:enable Kowal_Affiliatebin/magento setup:upgradebin/magento setup:di:compilebin/magento cache:flush
2.3. Modo de produção
Se a loja estiver a funcionar em production mode, após a instalação também vale a pena executar:
bin/magento setup:static-content:deploy
3. O que o módulo cria durante a instalação
Durante a instalação, o módulo:
- cria as suas próprias tabelas de base de dados relacionadas com afiliação,
- expande
quote e sales_order com campos de afiliação, - adiciona atributos de cliente utilizados para gerir o afiliado,
- cria a página CMS predefinida do programa de parceiros,
- prepara a configuração do sistema e cron jobs,
- regista templates de e-mail e recursos do painel de administração.
3.1. Página CMS predefinida
Após a instalação, é criada uma página de exemplo do programa de parceiros:
identifier: affiliate-programtitle: Affiliate Partnership Program
A página tem caráter universal e pode ser utilizada em produção após uma pequena personalização do conteúdo.
O patch é idempotente:
- se uma página com este
identifier já existir, o módulo não a substituirá.
4. Onde encontrar a configuração do módulo
O painel de configuração encontra-se em:
Stores -> Configuration -> Affiliate Program
Secções mais importantes:
GeneralCommissionPayoutsAffiliate PortalNotificationsFraudAIReporting
5. Primeira configuração após a instalação
Após a ativação do módulo, recomenda-se a seguinte ordem de configuração:
- ativar o módulo globalmente,
- definir o registo de afiliados,
- configurar a comissão e o hold period,
- definir o limite mínimo de pagamentos,
- preencher os conteúdos do portal do afiliado,
- configurar as notificações do administrador,
- configurar opcionalmente a AI,
- realizar um teste de registo, clique de afiliado e encomenda.
6. Configuração detalhada
6.1. General
Enable Module
Interruptor global do módulo.
Se a definição estiver desativada:
- o tracking de afiliados não deverá funcionar,
- o formulário de registo não deverá funcionar,
- as comissões e payouts não serão geridos.
Recomendação:
Yes no ambiente de produção após a conclusão dos testes,No apenas durante o período de desativação do programa.
Enable Affiliate Registration
Ativa o formulário de candidatura ao programa de afiliados no frontend da loja.
Se a opção estiver desativada:
- novos parceiros não se poderão registar autonomamente,
- o administrador ainda poderá marcar manualmente o cliente como afiliado.
Tracking Cookie Lifetime (days)
Define o tempo de vida da atribuição baseada em cookie após o clique num link de afiliado.
Exemplos:
30 para um programa de afiliados padrão,7 para campanhas curtas,60 ou 90 apenas quando o regulamento do programa o prevê.
Default Redirect Path
Caminho de reserva utilizado quando o tracking link não contém um target válido.
Exemplos:
/promotionscatalog/category/view/id/12
6.2. Commission
Enable Commissions
Ativa o cálculo de comissões para encomendas afiliadas.
Se o campo estiver desativado:
- a afiliação pode ser guardada,
- mas não será criado um registo na tabela de comissões.
Default Commission Rate (%)
Taxa percentual de comissão predefinida.
Exemplo:
10 significa uma comissão de 10% sobre a base de cálculo atual.
Commission Hold Period (days)
Número de dias durante os quais a comissão permanece em estado pendente.
Depois deste período, o cron pode aprovar automaticamente a comissão.
Recomendação:
14 como valor predefinido seguro,0 apenas num programa muito simples sem risco de devoluções.
6.3. Payouts
Enable Payouts
Ativa o workflow de pagamentos para afiliados.
Se a opção estiver desativada:
- o parceiro não apresentará um pedido de payout,
- o administrador ainda poderá analisar comissões, mas não processará o pagamento no módulo.
Minimum Payout Amount
Saldo mínimo necessário para solicitar um pagamento.
Exemplos:
6.4. Affiliate Portal
Esta secção controla os conteúdos apresentados no dashboard do afiliado.
Dashboard Intro
Breve descrição no topo do dashboard do afiliado.
Deve explicar ao parceiro:
- onde encontra o link de afiliado,
- onde verá as comissões,
- como funciona o painel.
Program Rules
Regras de colaboração visíveis para o afiliado.
É preferível introduzir:
- uma regra por linha,
- mensagens concisas e inequívocas.
Banner Title
Título predefinido do material promocional de exemplo.
Banner Subtitle
Breve descrição sob o título do banner.
Banner Target Path
Caminho de destino predefinido para links de afiliado e banners.
Exemplos:
/promotions/springcatalog/category/view/id/24
6.5. Notifications
Enable Notifications
Ativa o sistema interno de notificações e a fila de notificações.
Admin Notification Email
Endereço de e-mail do administrador que deve receber as principais mensagens operacionais.
Se o campo ficar vazio:
- o módulo pode utilizar o endereço predefinido
general do Magento como fallback em fluxos selecionados.
Notification Log Retention (days)
Define durante quanto tempo os registos no log de notificações devem ser mantidos antes do cleanup.
6.6. Fraud
Enable Fraud Checks
Ativa controlos antifraude básicos.
Block Self Referral
Bloqueia a comissão quando o cliente que faz a encomenda é simultaneamente o afiliado associado a essa encomenda.
6.7. AI
A secção AI é opcional e não é necessária para o funcionamento básico do programa de afiliados.
Enable AI
Interruptor principal das funcionalidades AI.
OpenAI API Key
Chave API para comunicação com OpenAI.
O campo é armazenado na configuração encriptada.
AI Model Name
Modelo utilizado para funcionalidades AI.
A lista de modelos pode ser obtida da OpenAI após a chave API ser guardada corretamente.
OpenAI Request Timeout (seconds)
Tempo máximo de espera por uma resposta da OpenAI.
Recomendação prática:
60 segundos para um funcionamento mais estável em produção.
Enable AI Diagnostic Logging
Ativa o registo diagnóstico de requests e respostas AI.
Útil em:
- integração,
- testes,
- análise de timeouts e erros de resposta.
AI Diagnostic Max Chars
Comprimento máximo do preview do payload registado.
Enable Affiliate Assistant
Ativa o assistente do afiliado se a loja pretender utilizar esta funcionalidade.
Enable Weekly AI Reports
Permite gerar resumos AI cíclicos.
Enable Product Knowledge Retrieval
Permite utilizar conhecimento de produto a partir de Vector Store.
Enable Program Knowledge Retrieval
Permite utilizar conhecimento sobre o programa de afiliados, FAQ e documentação.
Product Vector Store Scope
Define como é resolvido product_vector_store_id.
Product Vector Store ID
Identificador Vector Store, se a loja utilizar retrieval.
Redact Personal Data
Remove ou mascara dados pessoais antes de enviar o prompt para a camada AI.
6.8. Reporting
Enable Reporting
Ativa a geração de relatórios e exportações CSV.
Export Directory
Caminho do diretório onde as exportações geradas devem ser guardadas.
Exemplo:
var/export/affiliate
7. Configuração do cliente como afiliado
Após a instalação, o módulo expande a edição de cliente Magento com campos de afiliação.
Na edição do cliente é possível gerir, entre outros:
Affiliate ParticipantAffiliate StatusAffiliate Referral CodeAffiliate Website URLAffiliate NotesAffiliate BalanceAffiliate Coupon Discount (%)
7.1. Affiliate Participant
Indica se o cliente pertence ao programa de afiliados.
7.2. Affiliate Status
Estados mais importantes:
PendingActiveSuspendedRejectedBlocked
7.3. Affiliate Balance
O saldo é calculado automaticamente a partir das comissões aprovadas e prontas para pagamento.
O campo:
- é visível na edição do cliente,
- não deve ser editado manualmente,
- atualiza-se automaticamente após alterações nas comissões.
7.4. Affiliate Coupon Discount (%)
Este campo permite atribuir ao afiliado uma percentagem de desconto que funcionará no seu referral_code.
Se introduzir um valor superior a 0, o módulo:
- criará ou atualizará a regra de carrinho Magento,
- definirá o cupão igual ao código do afiliado,
- permitirá que os clientes utilizem este código como cupão no carrinho,
- atribuirá a encomenda ao afiliado com base em
coupon_code.
Exemplo:
- o afiliado tem o código
FMX1FBXXY3 - o administrador introduz
5 - o cliente introduz
FMX1FBXXY3 como cupão de desconto - o Magento aplica 5% de desconto
- o módulo atribui a encomenda ao afiliado.
8. Cron jobs do módulo
O módulo utiliza crons no grupo default.
8.1. Auto approve commissions
job: kowal_affiliate_auto_approve_commissionsschedule: */15 * * * *
A tarefa:
- verifica comissões
pending, - após o hold period, altera-as para
approved.
8.2. Process notifications
job: kowal_affiliate_process_notificationsschedule: */10 * * * *
A tarefa:
- processa a fila de notificações,
- marca os registos como enviados,
- no caso do canal de e-mail, envia mensagens transacionais.
8.3. Cleanup notification log
job: kowal_affiliate_cleanup_notification_logschedule: 30 2 * * *
A tarefa:
- remove registos antigos do log de notificações de acordo com a retenção.
8.4. Weekly AI insights
job: kowal_affiliate_generate_weekly_ai_insightsschedule: 0 6 * * 1
A tarefa:
- gera insights AI semanais, se a funcionalidade estiver ativa.
9. Comandos CLI
O módulo disponibiliza comandos de serviço:
bin/magento kowal:affiliate:auto-approvebin/magento kowal:affiliate:process-notificationsbin/magento kowal:affiliate:cleanup-notificationsbin/magento kowal:affiliate:generate-ai-insightsbin/magento kowal:affiliate:export-report
Os mais úteis no primeiro arranque são:
bin/magento kowal:affiliate:process-notificationsbin/magento kowal:affiliate:auto-approve
10. Primeiro teste após a instalação
Depois de configurar o módulo, recomenda-se um teste simples end-to-end.
10.1. Teste de registo de afiliado
- Aceda ao formulário de registo de afiliado.
- Envie a candidatura.
- Verifique se a conta de afiliado foi criada.
- Verifique se o cliente tem o estado
Pending. - Verifique se foram criados registos de notificação.
10.2. Teste de ativação
- Abra a edição do cliente no painel de administração.
- Defina o estado do afiliado como
Active ou utilize a ação de aprovação. - Verifique se o cliente vê o dashboard de afiliado.
10.3. Teste do link de afiliado
- Copie o link de afiliado do dashboard.
- Aceda à loja através desse link.
- Adicione um produto ao carrinho.
- Faça a encomenda.
- Verifique se a encomenda tem:
affiliate_idaffiliate_referral_codeis_affiliate_order = 1
10.4. Teste do cupão de afiliado
- Defina para o afiliado
Affiliate Coupon Discount (%), por exemplo 5. - Guarde o cliente.
- Certifique-se de que o afiliado tem o estado
Active. - No carrinho, introduza o seu
Referral Code como cupão. - Faça a encomenda.
- Verifique:
- se o desconto foi aplicado,
- se a encomenda foi atribuída ao afiliado,
- se a comissão foi criada.
10.5. Teste de payouts
- Aprove a comissão ou aguarde pelo auto-approve.
- Verifique o saldo do afiliado.
- Apresente um pedido de pagamento.
- Marque o payout como pago no painel de administração.
11. Problemas mais frequentes após a instalação
11.1. Falta de comissão após a encomenda
Verifique:
- se a encomenda tem
affiliate_id, - se as comissões estão ativadas,
- se o módulo funciona após a correção de criação de comissão depois de guardar os dados de afiliação na encomenda,
- se aparece um registo na tabela
kowal_affiliate_commission.
11.2. A grelha de clientes não mostra o saldo atual do afiliado
Verifique:
- se o índice
customer_grid foi atualizado, - se
reindexRow funciona após gravações, - se o valor na edição do cliente corresponde ao valor na grelha.
Se necessário, execute:
bin/magento indexer:reindex customer_grid
11.3. A AI não responde
Verifique:
- se
Enable AI está ativado, - se foi guardada uma
OpenAI API Key correta, - se foi selecionado um modelo,
- se o timeout não é demasiado baixo,
- se
var/log não mostra erros de request para a OpenAI.
11.4. As notificações não são enviadas
Verifique:
- se os crons Magento estão a funcionar,
- se
Enable Notifications está ativo, - se os registos estão a ser guardados em
kowal_affiliate_notification_log, - se é possível executar manualmente:
bin/magento kowal:affiliate:process-notifications
12. Configuração inicial recomendada
Para a primeira implementação em produção, recomenda-se este conjunto:
Enable Module = YesEnable Affiliate Registration = YesTracking Cookie Lifetime = 30Enable Commissions = YesDefault Commission Rate = 10Commission Hold Period = 14Enable Payouts = YesMinimum Payout Amount = 100Enable Notifications = YesBlock Self Referral = YesEnable AI = No no início, se a loja não precisar de AI desde o primeiro dia
13. Resumo
Após a instalação e configuração corretas, Kowal_Affiliate permite lançar no Magento 2 um programa de parceiros completo que inclui:
- afiliados,
- links de recomendação,
- códigos de afiliado,
- cupões de desconto de afiliados,
- comissões,
- payouts,
- notificações,
- dashboard do parceiro,
- segurança básica e automação.