Kowal_Affiliate - instrucțiuni de instalare și configurare
Acest document descrie modul de instalare, activare și configurare inițială a modulului Kowal_Affiliate pentru Magento 2. Instrucțiunile acoperă atât cerințele tehnice, cât și pașii practici necesari pentru lansarea programului de afiliere în magazin.
1. Cerințe de sistem
Modulul este destinat pentru:
- Magento Open Source / Adobe Commerce 2.4.7+
- PHP 8.2 sau 8.3
În proiectul Magento ar trebui să fie disponibile cel puțin modulele:
Magento_StoreMagento_CmsMagento_CustomerMagento_EmailMagento_QuoteMagento_SalesMagento_SalesRuleMagento_Backend
2. Metode de instalare
Modulul poate fi implementat standard ca pachet Composer.
2.1. Instalare prin Composer
Modulul este distribuit ca pachet Composer, iar un proces exemplificativ arată astfel:
composer require kowal/module-affiliatebin/magento module:enable Kowal_Affiliatebin/magento setup:upgradebin/magento setup:di:compilebin/magento cache:flush2.3. Mod producție
Dacă magazinul funcționează în production mode, după instalare merită executat și:
bin/magento setup:static-content:deploy3. Ce creează modulul în timpul instalării
În timpul instalării, modulul:
- creează propriile tabele de bază de date legate de afiliere,
- extinde
quoteșisales_ordercu câmpuri de afiliere, - adaugă atribute de client utilizate pentru gestionarea afiliatului,
- creează pagina CMS implicită a programului de parteneriat,
- pregătește configurația de sistem și cron jobs,
- înregistrează șabloanele de e-mail și resursele panoului de administrare.
3.1. Pagina CMS implicită
După instalare este creată o pagină exemplificativă a programului de parteneriat:
identifier: affiliate-programtitle: Affiliate Partnership ProgramPagina are caracter universal și poate fi utilizată în producție după o personalizare minoră a conținutului.
Patch-ul este idempotent:
- dacă pagina cu acest
identifierexistă deja, modulul nu o va suprascrie.
4. Unde găsiți configurația modulului
Panoul de configurare se află în:
Stores -> Configuration -> Affiliate ProgramCele mai importante secțiuni:
GeneralCommissionPayoutsAffiliate PortalNotificationsFraudAIReporting
5. Prima configurare după instalare
După activarea modulului, se recomandă următoarea ordine de configurare:
- activați modulul global,
- setați înregistrarea afiliaților,
- configurați comisionul și hold period,
- setați pragul minim de plată,
- completați conținutul portalului afiliatului,
- configurați notificările administratorului,
- opțional, configurați AI,
- efectuați un test de înregistrare, clic de afiliere și comandă.
6. Configurare detaliată
6.1. General
Enable Module
Comutatorul global al modulului.
Dacă setarea este dezactivată:
- trackingul de afiliere nu ar trebui să funcționeze,
- formularul de înregistrare nu ar trebui să funcționeze,
- comisioanele și payouturile nu vor fi gestionate.
Recomandare:
Yesîn mediul de producție după finalizarea testelor,Nodoar pe durata dezactivării programului.
Enable Affiliate Registration
Activează formularul de înscriere în programul de afiliere pe frontendul magazinului.
Dacă opțiunea este dezactivată:
- partenerii noi nu se vor putea înregistra singuri,
- administratorul poate în continuare marca manual clientul ca afiliat.
Tracking Cookie Lifetime (days)
Definește durata de viață a atribuirii bazate pe cookie după clicul pe linkul de afiliere.
Exemple:
30pentru un program de afiliere standard,7pentru campanii scurte,60sau90doar atunci când regulamentul programului prevede acest lucru.
Default Redirect Path
Calea de rezervă utilizată atunci când tracking linkul nu conține un target corect.
Exemple:
/promotionscatalog/category/view/id/12
6.2. Commission
Enable Commissions
Activează calcularea comisioanelor pentru comenzile de afiliere.
Dacă câmpul este dezactivat:
- afilierea poate fi salvată,
- dar înregistrarea în tabelul de comisioane nu va fi creată.
Default Commission Rate (%)
Rata implicită a comisionului procentual.
Exemplu:
10înseamnă un comision de 10% din baza actuală de calcul.
Commission Hold Period (days)
Numărul de zile în care comisionul rămâne în status de așteptare.
După expirarea acestei perioade, cron poate aproba automat comisionul.
Recomandare:
14ca valoare implicită sigură,0doar pentru un program foarte simplu, fără risc de retururi.
6.3. Payouts
Enable Payouts
Activează workflow-ul de plăți pentru afiliați.
Dacă opțiunea este dezactivată:
- partenerul nu va depune o cerere de payout,
- administratorul poate analiza în continuare comisioanele, dar nu va gestiona plata în modul.
Minimum Payout Amount
Soldul minim necesar pentru solicitarea unei plăți.
Exemple:
100250500
6.4. Affiliate Portal
Această secțiune controlează conținutul afișat în dashboardul afiliatului.
Dashboard Intro
Scurtă descriere în partea de sus a dashboardului afiliatului.
Ar trebui să îi explice partenerului:
- unde găsește linkul de afiliere,
- unde vede comisioanele,
- cum funcționează panoul.
Program Rules
Reguli de colaborare vizibile pentru afiliat.
Cel mai bine este să introduceți:
- o singură regulă pe fiecare linie,
- mesaje concise și clare.
Banner Title
Titlul implicit al materialului promoțional exemplificativ.
Banner Subtitle
Scurtă descriere sub titlul bannerului.
Banner Target Path
Calea implicită a targetului pentru linkurile de afiliere și bannere.
Exemple:
/promotions/springcatalog/category/view/id/24
6.5. Notifications
Enable Notifications
Activează sistemul intern de notificări și coada de notificări.
Admin Notification Email
Adresa e-mail a administratorului care trebuie să primească cele mai importante mesaje operaționale.
Dacă acest câmp rămâne gol:
- modulul poate utiliza adresa implicită
generalMagento ca fallback în flow-uri selectate.
Notification Log Retention (days)
Definește cât timp trebuie păstrate înregistrările din logul de notificări înainte de cleanup.
6.6. Fraud
Enable Fraud Checks
Activează controalele antifraudă de bază.
Block Self Referral
Blochează comisionul atunci când clientul care plasează comanda este în același timp afiliatul asociat cu acea comandă.
6.7. AI
Secțiunea AI este opțională și nu este necesară pentru funcționarea de bază a programului de afiliere.
Enable AI
Comutatorul principal al funcțiilor AI.
OpenAI API Key
Cheia API pentru comunicarea cu OpenAI.
Câmpul este stocat în configurația criptată.
AI Model Name
Modelul utilizat pentru funcțiile AI.
Lista modelelor poate fi preluată de la OpenAI după salvarea corectă a cheii API.
OpenAI Request Timeout (seconds)
Timpul maxim de așteptare pentru răspunsul de la OpenAI.
Recomandare practică:
60de secunde pentru o funcționare mai stabilă în producție.
Enable AI Diagnostic Logging
Activează logarea diagnostică a requesturilor și răspunsurilor AI.
Util în:
- integrare,
- teste,
- analiza timeouturilor și erorilor de răspuns.
AI Diagnostic Max Chars
Lungimea maximă a preview-ului de payload logat.
Enable Affiliate Assistant
Activează asistentul afiliatului dacă magazinul dorește să utilizeze această funcție.
Enable Weekly AI Reports
Permite generarea de rezumate AI ciclice.
Enable Product Knowledge Retrieval
Permite utilizarea cunoștințelor despre produse din Vector Store.
Enable Program Knowledge Retrieval
Permite utilizarea cunoștințelor despre programul de afiliere, FAQ și documentație.
Product Vector Store Scope
Definește modul în care este rezolvat product_vector_store_id.
Product Vector Store ID
Identificatorul Vector Store, dacă magazinul utilizează retrieval.
Redact Personal Data
Elimină sau maschează datele personale înainte de trimiterea promptului către stratul AI.
6.8. Reporting
Enable Reporting
Activează generarea de rapoarte și exporturi CSV.
Export Directory
Calea directorului în care trebuie salvate exporturile generate.
Exemplu:
var/export/affiliate7. Configurarea clientului ca afiliat
După instalare, modulul extinde editarea clientului Magento cu câmpuri de afiliere.
În editarea clientului puteți gestiona, printre altele:
Affiliate ParticipantAffiliate StatusAffiliate Referral CodeAffiliate Website URLAffiliate NotesAffiliate BalanceAffiliate Coupon Discount (%)
7.1. Affiliate Participant
Indică dacă clientul face parte din programul de afiliere.
7.2. Affiliate Status
Cele mai importante statusuri:
PendingActiveSuspendedRejectedBlocked
7.3. Affiliate Balance
Soldul este calculat automat din comisioanele aprobate și gata de plată.
Câmpul:
- este vizibil în editarea clientului,
- nu ar trebui editat manual,
- se actualizează automat după schimbările comisioanelor.
7.4. Affiliate Coupon Discount (%)
Acest câmp permite atribuirea către afiliat a unui procent de reducere care va funcționa pe referral_code al acestuia.
Dacă introduceți o valoare mai mare decât 0, modulul:
- va crea sau actualiza regula de coș Magento,
- va seta cuponul egal cu codul afiliatului,
- va permite clienților să utilizeze acest cod ca un cupon în coș,
- va atribui comanda afiliatului pe baza
coupon_code.
Exemplu:
- afiliatul are codul
FMX1FBXXY3 - administratorul introduce
5 - clientul introduce
FMX1FBXXY3ca voucher de reducere - Magento aplică o reducere de 5%
- modulul atribuie comanda afiliatului.
8. Cron jobs ale modulului
Modulul utilizează cronuri în grupul default.
8.1. Auto approve commissions
job: kowal_affiliate_auto_approve_commissionsschedule: */15 * * * *Sarcina:
- verifică comisioanele
pending, - după expirarea hold period le schimbă în
approved.
8.2. Process notifications
job: kowal_affiliate_process_notificationsschedule: */10 * * * *Sarcina:
- procesează coada de notificări,
- marchează înregistrările ca trimise,
- în cazul canalului e-mail trimite mesaje tranzacționale.
8.3. Cleanup notification log
job: kowal_affiliate_cleanup_notification_logschedule: 30 2 * * *Sarcina:
- șterge înregistrările vechi din logul notificărilor conform retenției.
8.4. Weekly AI insights
job: kowal_affiliate_generate_weekly_ai_insightsschedule: 0 6 * * 1Sarcina:
- generează insighturi AI săptămânale, dacă funcția este activă.
9. Comenzi CLI
Modulul oferă comenzi de service:
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-reportCele mai utile la prima lansare sunt:
bin/magento kowal:affiliate:process-notificationsbin/magento kowal:affiliate:auto-approve10. Primul test după instalare
După configurarea modulului, se recomandă un test simplu end-to-end.
10.1. Testul înregistrării afiliatului
- Accesați formularul de înregistrare a afiliatului.
- Trimiteți cererea.
- Verificați dacă a fost creat contul afiliatului.
- Verificați dacă clientul are status
Pending. - Verificați dacă au fost create înregistrări de notificare.
10.2. Testul activării
- Deschideți editarea clientului în panoul de administrare.
- Setați statusul afiliatului la
Activesau utilizați acțiunea de aprobare. - Verificați dacă clientul vede dashboardul afiliatului.
10.3. Testul linkului de afiliere
- Copiați linkul de afiliere din dashboard.
- Accesați magazinul prin acest link.
- Adăugați produsul în coș.
- Plasați comanda.
- Verificați dacă comanda are:
affiliate_idaffiliate_referral_codeis_affiliate_order = 1
10.4. Testul cuponului de afiliere
- Setați afiliatului
Affiliate Coupon Discount (%), de ex.5. - Salvați clientul.
- Asigurați-vă că afiliatul are status
Active. - În coș, introduceți
Referral Codeal acestuia ca voucher. - Plasați comanda.
- Verificați:
- dacă reducerea a fost aplicată,
- dacă comanda a fost atribuită afiliatului,
- dacă a fost creat comisionul.
10.5. Testul payouturilor
- Aprobați comisionul sau așteptați auto-approve.
- Verificați soldul afiliatului.
- Depuneți o cerere de plată.
- Marcați payoutul ca plătit în panoul de administrare.
11. Cele mai frecvente probleme după instalare
11.1. Lipsa comisionului după comandă
Verificați:
- dacă comanda are
affiliate_id, - dacă sunt activate comisioanele,
- dacă modulul funcționează după corecția creării comisionului după salvarea datelor de afiliere pe order,
- dacă în tabelul
kowal_affiliate_commissionapare o înregistrare.
11.2. Gridul clienților nu afișează soldul actual al afiliatului
Verificați:
- dacă indexul
customer_grida fost reîmprospătat, - dacă după salvări funcționează
reindexRow, - dacă valoarea din editarea clientului corespunde cu valoarea din grid.
Dacă este necesar, rulați:
bin/magento indexer:reindex customer_grid11.3. AI nu răspunde
Verificați:
- dacă
Enable AIeste activat, - dacă a fost salvat un
OpenAI API Keycorect, - dacă a fost selectat modelul,
- dacă timeoutul nu este prea mic,
- dacă
var/lognu afișează erori ale requestului către OpenAI.
11.4. Notificările nu sunt trimise
Verificați:
- dacă funcționează cronurile Magento,
- dacă
Enable Notificationseste activ, - dacă înregistrările sunt salvate în
kowal_affiliate_notification_log, - dacă poate fi rulat manual:
bin/magento kowal:affiliate:process-notifications12. Configurare inițială recomandată
Pentru prima implementare în producție, se recomandă următorul set:
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 = Nola început, dacă magazinul nu are nevoie de AI din prima zi
13. Rezumat
După instalarea și configurarea corectă, Kowal_Affiliate permite lansarea în Magento 2 a unui program complet de parteneriat care include:
- afiliați,
- linkuri de recomandare,
- coduri de afiliere,
- cupoane de reducere ale afiliaților,
- comisioane,
- payouturi,
- notificări,
- dashboard pentru partener,
- securitate de bază și automatizare.


