Il plug-in collega il configuratore a un negozio WooCommerce. È in accesso anticipato: non è nella directory dei plugin di WordPress, non ha un prezzo indicato e non è ancora stato eseguito end-to-end su un WordPress e WooCommerce reali nel nostro ambiente di test, quindi provalo prima su un negozio di staging.
Cosa fa
- Aggiunge un pulsante Order cut to size (l’etichetta puoi cambiarla tu) alle pagine prodotto che scegli.
- Apre il configuratore in un pop-up, in un pannello laterale o nella pagina, con il pannello del prodotto già selezionato.
- Inserisce il risultato nel carrello WooCommerce come una sola riga, con il prezzo ricavato dal preventivo verificato.
- Conserva sulla riga d’ordine l’id d’ordine CutOptim e l’hash del preventivo, e mostra nell’ordine un breve riepilogo leggibile «Cut to size».
- Riceve i webhook firmati di CutOptim e aggiunge una nota all’ordine WooCommerce.
Installazione e configurazione
Requisiti: WordPress 6.0 o successivo, PHP 7.4 o successivo e WooCommerce.
- Installa e attiva WooCommerce, poi il plug-in.
- Apri WooCommerce > CutOptim Configurator e inserisci il tenant id, la chiave pubblicabile e la chiave segreta. La chiave segreta può invece essere definita in
wp-config.phpcomeCUTOPTIM_API_SECRET. Le chiavi provengono dalla console; la chiave pubblicabile funziona solo sugli indirizzi web che vi hai elencato per essa. - Scegli come si apre il configuratore, l’etichetta del pulsante e le categorie di prodotto che ricevono il pulsante (nessuna selezionata significa ogni prodotto mappato).
- Mappa i prodotti ai pannelli (vedi sotto).
- Per le note d’ordine, inserisci il segreto del webhook nel plug-in e aggiungi alla tua configurazione l’indirizzo del webhook che la pagina delle impostazioni mostra (vedi ordini). Sono ammessi più segreti, uno per riga, in modo che un segreto possa essere ruotato.
Mappare un prodotto a un pannello
Il pulsante compare solo su un prodotto che rappresenta un pannello del tuo catalogo CutOptim. Il plug-in risolve il pannello in quest’ordine:
- i campi CutOptim board e CutOptim thickness (mm) del prodotto stesso nei dati del prodotto;
- una regola SKU to board nelle impostazioni, una per riga, per esempio
MDF-18 = MDF raw | 18oppurePLY-* = Birch plywood; uno SKU esatto prevale su un prefisso e una riga che inizia con#è un commento; - gli attributi di prodotto
cutoptim_materialecutoptim_thickness.
Un nome di pannello con markup o uno spessore fuori da 0-200 mm viene scartato, non corretto. Con un pannello mappato, il configuratore si apre sull’elenco dei tagli.
Come il prezzo arriva nel carrello
Il configuratore nel browser segnala l’ordine, ma un numero del browser non è mai considerato affidabile. L’unica via del plug-in verso il carrello è una route REST sul tuo server. Quella route:
- invia il preventivo firmato a CutOptim per la verifica con la tua chiave segreta e rifiuta se non è valido;
- controlla che il preventivo corrisponda alle righe che il cliente ha visto;
- confronta la valuta con quella del negozio e rifiuta una discordanza;
- aggiunge una riga di carrello con il prezzo ricavato dai totali verificati, lordo o netto secondo l’impostazione fiscale del tuo negozio.
Se qualcosa non va, non viene aggiunto nulla e al cliente viene chiesto di riprovare. Al checkout l’id d’ordine CutOptim e l’hash del preventivo vengono copiati sulla riga d’ordine. La conferma di un webhook conta solo se il suo hash del piano coincide con quello memorizzato sulla riga.
I controlli e le chiamate API che li sostengono sono nel riferimento API del configuratore.
Limiti
- Accesso anticipato. Non è nella directory di WordPress; provalo prima in staging.
- Valuta. La valuta del negozio e quella della configurazione CutOptim devono coincidere.
- Lingua. I testi propri del plug-in (impostazioni e messaggi) sono in inglese; il widget del configuratore è in dieci lingue.
- Pagamento. Pagamento, magazzino, imposte e spedizione sono compito di WooCommerce.
- Note d’ordine. Il plug-in accetta gli eventi di stato dell’ordine; un evento di stato viene inviato dal servizio solo quando cambi lo stato di un ordine nella console.