DataFirefly Loyalty — Programma Fedeltà Shopware 6
Programma fedeltà Shopware 6: installazione, punti, livelli, buoni e risoluzione dei problemi.
Panoramica
DataFirefly Loyalty aggiunge un programma fedeltà completo a Shopware 6: i tuoi clienti guadagnano punti a ogni ordine, salgono di livello con moltiplicatori e convertono i punti in buoni basati sulle promozioni native di Shopware. L’estensione funziona su Shopware 6.5, 6.6 e 6.7 con un unico ZIP, senza alcuna compilazione.
Installazione
Dall’amministrazione
- Vai in Estensioni > Le mie estensioni.
- Fai clic su Carica estensione e seleziona il file
DfLoyalty-1.0.0.zip. - Fai clic su Installa, poi attiva l’estensione.
Da riga di comando
bin/console plugin:refresh
bin/console plugin:install --activate DfLoyalty
bin/console cache:clear
L’installazione crea due tabelle dedicate: df_loyalty_account (una riga per cliente) e df_loyalty_transaction (il registro di tutte le operazioni sui punti).
Non serve alcuna compilazione JavaScript: l’estensione non include alcun modulo di amministrazione compilato, il che garantisce la compatibilità con i rami 6.5, 6.6 e 6.7.
Configurazione
Apri Estensioni > Le mie estensioni > DataFirefly Loyalty > Configura. Tutte le impostazioni sono disponibili per canale di vendita: puoi attivare il programma su un solo negozio o applicare tassi diversi per canale.
Accredito dei punti
- Attiva il programma: interruttore generale. Se disattivato, la pagina account del cliente restituisce un errore 404 e non viene accreditato alcun punto.
- Trigger di accredito: Pagamento incassato (stato transazione
paid, consigliato) o Ordine completato (stato ordinecompleted). - Punti per unità monetaria: punti guadagnati per unità spesa. Predefinito: 1.
- Base di calcolo: importo dell’ordine lordo o netto.
- Includere le spese di spedizione: per impostazione predefinita, la spedizione è esclusa dal calcolo.
Livelli
Sono configurabili tre livelli, ciascuno con nome, soglia e moltiplicatore. Le soglie si applicano ai punti accumulati nel tempo (che non diminuiscono mai con un riscatto), il moltiplicatore si applica a tutti i guadagni futuri.
- Livello 1 — predefinito: Bronzo, da 0 punti, moltiplicatore ×1.0
- Livello 2 — predefinito: Argento, da 500 punti, moltiplicatore ×1.25
- Livello 3 — predefinito: Oro, da 2 000 punti, moltiplicatore ×1.5
Esempio: un cliente Argento (×1.25) che effettua un ordine di 100 € lordi con un tasso di 1 punto per euro guadagna 125 punti.
Riscatto dei buoni
- Tasso di conversione: punti necessari per 1 € di buono. Predefinito: 100 (100 punti = 1,00 €).
- Minimo di riscatto: punti minimi per riscattare. Predefinito: 200.
- Incremento di riscatto: i punti si convertono in multipli di questo valore. Predefinito: 100.
- Validità dei buoni: durata del buono in giorni. Predefinito: 90.
Funzionamento per il cliente
Una voce Programma fedeltà compare nel menu dell’account cliente. La pagina /account/loyalty mostra:
- il saldo punti disponibile e il totale dei punti accumulati nel tempo;
- il livello attuale con una barra di avanzamento verso il livello successivo;
- il modulo di riscatto dei buoni;
- la cronologia delle ultime 50 operazioni (guadagni, riscatti, revoche).
Quando un cliente riscatta i punti, l’estensione crea una promozione nativa di Shopware: un codice unico del tipo LOYAL-XXXXXXXX, riservato al suo account, monouso, con uno sconto fisso sul carrello. Il codice si applica nel carrello come qualsiasi codice promozionale. Tutte le promozioni generate si trovano in Marketing > Promozioni.
Annullamenti e rimborsi
Quando un ordine passa allo stato Annullato o il suo pagamento passa allo stato Rimborsato, i punti guadagnati su quell’ordine vengono revocati automaticamente. L’operazione è tracciata nella cronologia del cliente con l’etichetta «Annullati». La revoca è idempotente: può avvenire al massimo una volta per ordine.
Nella versione 1.0, un rimborso parziale non viene ripartito pro quota: è il passaggio del pagamento completo allo stato Rimborsato che attiva la revoca di tutti i punti dell’ordine.
Sicurezza e integrità dei dati
- L’addebito dei punti è atomico a livello di database: due riscatti simultanei non possono spendere due volte lo stesso saldo.
- Ogni operazione viene inscritta in un registro append-only, con riferimento all’ordine, tipo, punti con segno e codice del buono quando applicabile.
- La creazione del buono e la scrittura contabile avvengono nella stessa transazione SQL: mai un buono senza addebito, mai un addebito senza buono.
Risoluzione dei problemi
Il link Programma fedeltà non compare nell’account
L’estensione inserisce il suo link tramite il blocco Twig page_account_sidebar_link_orders. Se il tuo tema personalizzato ha rimosso o rinominato questo blocco, aggiungi il link manualmente nel template della sidebar dell’account, puntando alla route frontend.account.dfloyalty.page.
I punti non vengono accreditati
- Verifica che il programma sia attivo per il canale di vendita interessato.
- Verifica il trigger configurato: con Pagamento incassato, la transazione deve raggiungere lo stato
paid; con Ordine completato, l’ordine deve raggiungerecompleted. - Svuota la cache dopo ogni modifica di configurazione:
bin/console cache:clear.
Disinstallazione
Durante la disinstallazione, Shopware propone di conservare i dati. Se deselezioni questa opzione, le tabelle df_loyalty_account e df_loyalty_transaction vengono eliminate definitivamente — i buoni già generati restano, poiché sono promozioni standard di Shopware.