Installazione passo passo
- Carica l'estensione
Vai su Extensions > Installer, carica `zefirox.ocmod.zip` e premi Install. Per ricevere il pacchetto crea il tuo account.
- Installa il modulo
In Extensions > Extensions scegli il tipo Modules, trova Zefirox, premi Install e poi Edit.
- Genera la chiave API
Nella dashboard Zefirox apri Impostazioni > Altri CMS e premi Genera chiave API.
- Compila le impostazioni
Inserisci Zefirox API URL (l'URL API indicato nella dashboard), Widget script URL (`<URL dashboard>/dms-widget.js`), API key e, in Product → campaign mapping, una riga `id_prodotto=UUID_campagna` per prodotto. Imposta Status su attivo e salva.
- Aggiungi il widget al layout prodotto
In Design > Layouts > Product aggiungi il modulo "Zefirox" in posizione Content Top o Column Right.
- Controlla il cron
Verifica che il cron di OpenCart sia attivo (System > Maintenance > Cron Jobs, oppure un cron del server su `index.php?route=cron/cron`): serve a ritentare gli invii falliti.
Cosa ottieni su OpenCart
- Widget come modulo di layout nella pagina prodotto (Content Top o Column Right).
- Mappatura semplice prodotto → campagna, una riga per prodotto.
- Invio dell'ordine quando passa a uno stato "in lavorazione" o "completato" del negozio.
- Una richiesta firmata (HMAC SHA-256 con timestamp) per campagna, con chiave di idempotenza.
- Importi nella valuta dell'ordine, tasse incluse, in unità minori.
- Ritentativi automatici tramite il cron di OpenCart.
Come vengono sincronizzati gli ordini
L'estensione registra un evento sull'aggiornamento dello storico ordine. Quando l'ordine entra in uno degli stati configurati come "in lavorazione" o "completato" (Settings > Option > Checkout), i prodotti vengono raggruppati per campagna e parte una richiesta firmata per ciascuna.
L'esito viene salvato in una tabella dedicata; gli invii che possono essere ripetuti vengono ripresi dal cron.
Sicurezza
La chiave API resta nell'admin di OpenCart e firma ogni richiesta con un timestamp. Se una chiave è già salvata, puoi lasciare il campo vuoto per mantenerla.
Domande frequenti
Quali versioni di OpenCart sono supportate?
OpenCart 4, dalla 4.0.2 in poi (4.0.2.x e 4.1.x).
Il widget non compare: cosa controllo?
Che il modulo sia attivo (Status), che il prodotto sia nella mappatura e che il modulo "Zefirox" sia stato aggiunto al layout Product in Design > Layouts.
Quando un ordine viene considerato pagato?
Quando entra in uno degli stati che il negozio considera "in lavorazione" o "completato", definiti in Settings > Option > Checkout.