Ordini Google Calendar (dfordercalendar)
Installare e configurare l'invio automatico degli ordini PrestaShop in Google Calendar: credenziali Google Cloud, connessione OAuth 2.0, personalizzazione degli eventi e risoluzione dei problemi.
Panoramica
Ordini Google Calendar (dfordercalendar) crea automaticamente un evento nel tuo calendario Google per ogni ordine convalidato sul tuo negozio PrestaShop 8 o 9. L’evento contiene riferimento, cliente, totale, metodo di pagamento, corriere, elenco dei prodotti e indirizzo di consegna. La connessione usa OAuth 2.0 con le tue credenziali Google Cloud: nessun dato passa per un server di terzi.
Installazione
- Nel back-office, apri Moduli e poi Gestione moduli.
- Clicca su Carica un modulo e seleziona il file dfordercalendar.zip.
- A installazione conclusa, clicca su Configura.
Requisiti: PrestaShop 8.0 a 9.x, PHP 7.4 a 8.3 con estensione cURL attiva (presente su quasi tutti gli hosting).
Creare le credenziali Google (Google Cloud Console)
Il modulo si connette all’API Google Calendar con credenziali OAuth 2.0 che crei una sola volta, in una decina di minuti.
1. Creare un progetto e attivare l’API
- Apri console.cloud.google.com e accedi con l’account Google proprietario del calendario di destinazione.
- Crea un progetto (ad esempio «Negozio PrestaShop»).
- Nel menu, apri API e servizi, poi Libreria, cerca «Google Calendar API» e clicca su Abilita.
2. Configurare la schermata di consenso
- Apri API e servizi, poi Schermata consenso OAuth.
- Scegli il tipo Esterno (o Interno se usi Google Workspace), compila il nome dell’applicazione e la tua email, poi salva.
Finché l’applicazione resta in stato «In fase di test», Google fa scadere la connessione dopo 7 giorni. Due soluzioni: pubblicare l’applicazione (pulsante Pubblica app, per questo tipo di utilizzo non serve alcuna verifica) oppure aggiungere il proprio account alla lista degli utenti di test e pubblicare in seguito. Per la produzione, pubblica l’applicazione.
3. Creare la credenziale OAuth 2.0
- Apri API e servizi, poi Credenziali, clicca su Crea credenziali e poi su ID client OAuth.
- Tipo di applicazione: Applicazione web.
- In «URI di reindirizzamento autorizzati», incolla esattamente l’URL mostrato nel pannello Connessione Google della configurazione del modulo (termina con controller=oauth).
- Conferma: Google mostra il tuo Client ID e il tuo Client Secret.
L’URI di reindirizzamento va copiato identico, protocollo https compreso. È la causa numero 1 dell’errore redirect_uri_mismatch.
Connessione del modulo
- Nella configurazione del modulo, incolla Client ID e Client Secret, poi salva.
- Clicca su Collega l’account Google: Google chiede l’autorizzazione ad accedere ai tuoi calendari.
- Conferma: un messaggio conferma la connessione, torna alla configurazione.
- In Calendario di destinazione, scegli il calendario che riceverà gli ordini (sono elencati tutti i calendari con permesso di scrittura, condivisi inclusi), poi salva.
Il token di accesso si rinnova automaticamente: la connessione si fa una volta sola. Il pulsante Disconnetti elimina i token in qualsiasi momento.
Configurazione degli eventi
Modello del titolo
Il titolo dell’evento si compone liberamente con le variabili seguenti:
{reference}: riferimento dell’ordine{customer}: nome e cognome del cliente{total}: totale IVA inclusa formattato nella valuta dell’ordine{payment}: metodo di pagamento{carrier}: corriere{shop}: nome del negozio
Esempio: Ordine {reference} - {customer} ({total})
Tipo e contenuto dell’evento
- Tipo di evento: con orario alla data e ora dell’ordine (durata regolabile in minuti, fuso orario del negozio) o di un giorno intero.
- Includi l’elenco dei prodotti: aggiunge ogni riga con la quantità nella descrizione.
- Includi l’indirizzo di consegna: aggiunto nella descrizione e nel campo luogo dell’evento.
- Includi email e telefono del cliente: recapiti aggiunti nella descrizione.
- Aggiorna l’evento al cambio di stato dell’ordine: aggiunge lo stato corrente al titolo a ogni cambio.
Funzionamento quotidiano
Non appena un ordine viene convalidato, l’evento è creato nel calendario di destinazione. Nella scheda ordine del back-office, un riquadro Google Calendar mostra il link diretto all’evento, oppure lo stato di sincronizzazione in caso di problema.
Il pulsante «Crea un evento di test dall’ultimo ordine» permette di verificare l’intera catena senza attendere un ordine reale.
Errori e nuovo tentativo
Un errore di chiamata all’API Google non blocca mai la convalida dell’ordine. L’errore viene registrato con il messaggio esatto restituito da Google e compare nel pannello Sincronizzazioni non riuscite della configurazione. Il pulsante Riprova gli eventi in errore ricrea tutti gli eventi mancanti in un clic. Gli errori sono tracciati anche nei log di PrestaShop (Parametri avanzati, poi Log).
Risoluzione dei problemi
redirect_uri_mismatch
L’URI di reindirizzamento dichiarato in Google Cloud Console non corrisponde esattamente a quello mostrato dal modulo. Copialo di nuovo dalla configurazione, senza spazi o caratteri mancanti, e verifica l’https.
access_denied o connessione che scade dopo 7 giorni
La tua applicazione OAuth è in stato «In fase di test». Pubblicala dalla schermata di consenso OAuth (vedi sopra), poi ricollega l’account.
Errore 403: Google Calendar API has not been used
L’API Google Calendar non è abilitata sul progetto. Torna alla Libreria, abilitala, attendi un minuto e riprova gli eventi in errore.
Un calendario non compare nell’elenco
Sono elencati solo i calendari su cui l’account collegato ha permesso di scrittura. Per un calendario condiviso, chiedi al proprietario il permesso «Apportare modifiche agli eventi».
Dati e disinstallazione
I token OAuth e il registro di sincronizzazione sono salvati nel database del negozio. I dati degli ordini viaggiano solo tra il tuo server e l’API di Google, in HTTPS. La disinstallazione del modulo elimina token, configurazione e tabella di registro; gli eventi già creati restano nel tuo calendario Google.