Installazione passo passo
- Copia il modulo
Dalla root di Magento copia la cartella del modulo in `app/code/Zefirox/Connector`. Per ricevere il modulo crea il tuo account.
- Abilita il modulo
Esegui `bin/magento module:enable Zefirox_Connector`, poi `bin/magento setup:upgrade`, in produzione `bin/magento setup:di:compile` e infine `bin/magento cache:flush`.
- Genera la chiave API
Nella dashboard Zefirox apri Impostazioni > Altri CMS e premi Genera chiave API.
- Configura la connessione
In Stores > Configuration > Zefirox > Connection imposta Enabled, Zefirox API URL (l'URL API indicato nella dashboard), Widget script URL e API key, che viene salvata cifrata.
- Collega i prodotti
In Catalog > Products modifica il prodotto e compila l'attributo Zefirox campaign ID (gruppo General). Sui configurabili puoi impostarlo sul padre o sui singoli prodotti figli.
- Verifica cron e CSP
Assicurati che il cron di Magento giri ogni minuto (`bin/magento cron:run`). Se usi host diversi da quelli predefiniti, aggiorna `etc/csp_whitelist.xml` del modulo.
Cosa ottieni su Magento 2
- Widget nella pagina prodotto subito dopo il prezzo, compatibile con la Content Security Policy.
- Attributo prodotto "Zefirox campaign ID", anche sui figli dei prodotti configurabili.
- Invio dell'ordine solo dopo il pagamento (stato processing/complete e importo pagato).
- Una richiesta firmata (HMAC SHA-256 con timestamp) per campagna, con chiave di idempotenza.
- Chiave API salvata cifrata nella configurazione.
- Ritentativi automatici ogni 10 minuti tramite cron, fino a 6 tentativi.
Come vengono sincronizzati gli ordini
A ogni salvataggio dell'ordine il modulo verifica se è pagato, cioè in stato processing o complete con un importo pagato, quindi dopo il pagamento della fattura. A quel punto raggruppa gli articoli per campagna e invia una richiesta firmata per ciascuna.
L'importo è il totale riga tasse incluse meno lo sconto, in centesimi. L'esito viene salvato in una tabella dedicata; gli invii falliti vengono ripresi dal job cron `zefirox_retry_pending`.
Widget e Content Security Policy
Il blocco del widget viene aggiunto alla pagina prodotto e inizializzato in modo compatibile con la CSP di Magento. Il modulo include una whitelist per gli host predefiniti: se configuri URL diversi, aggiungili a `etc/csp_whitelist.xml`.
Domande frequenti
Il modulo è sul Magento Marketplace?
Non ancora: si installa copiando il modulo in `app/code` e abilitandolo con `bin/magento`.
Funziona con i prodotti configurabili?
Sì: puoi impostare lo Zefirox campaign ID sul prodotto padre oppure sui singoli figli.
Quando viene inviato l'ordine a Zefirox?
Solo quando risulta pagato. Gli ordini in attesa di pagamento non vengono inviati.