PS PrestaShop Débutant

Commandes Google Calendar (dfordercalendar)

Installer et configurer l'envoi automatique des commandes PrestaShop dans Google Calendar : identifiants Google Cloud, connexion OAuth 2.0, personnalisation des événements et dépannage.

Mis à jour Version du module 1.0.0

Présentation

Commandes Google Calendar (dfordercalendar) crée automatiquement un événement dans votre agenda Google à chaque commande validée sur votre boutique PrestaShop 8 ou 9. L’événement contient la référence, le client, le total, le moyen de paiement, le transporteur, la liste des produits et l’adresse de livraison. La connexion utilise OAuth 2.0 avec vos propres identifiants Google Cloud : aucune donnée ne transite par un serveur tiers.

Installation

  1. Dans le back-office, ouvrez Modules puis Gestionnaire de modules.
  2. Cliquez sur Installer un module et sélectionnez le fichier dfordercalendar.zip.
  3. Une fois le module installé, cliquez sur Configurer.

Prérequis : PrestaShop 8.0 à 9.x, PHP 7.4 à 8.3 avec l’extension cURL active (présente sur la quasi-totalité des hébergements).

Créer les identifiants Google (Google Cloud Console)

Le module se connecte à l’API Google Calendar avec des identifiants OAuth 2.0 que vous créez une seule fois, en une dizaine de minutes.

1. Créer un projet et activer l’API

  1. Ouvrez console.cloud.google.com et connectez-vous avec le compte Google qui possède l’agenda cible.
  2. Créez un projet (par exemple « Boutique PrestaShop »).
  3. Dans le menu, ouvrez API et services puis Bibliothèque, recherchez « Google Calendar API » et cliquez sur Activer.

2. Configurer l’écran de consentement

  1. Ouvrez API et services puis Écran de consentement OAuth.
  2. Choisissez le type Externe (ou Interne si vous êtes sur Google Workspace), renseignez le nom de l’application et votre email, puis enregistrez.

Tant que l’application reste en statut « En test », Google fait expirer la connexion au bout de 7 jours. Deux solutions : publier l’application (bouton Publier l’application, aucune validation n’est requise pour ce type d’usage) ou ajouter votre propre compte dans la liste des utilisateurs test puis publier plus tard. Pour un usage en production, publiez l’application.

3. Créer l’identifiant OAuth 2.0

  1. Ouvrez API et services puis Identifiants, cliquez sur Créer des identifiants puis ID client OAuth.
  2. Type d’application : Application Web.
  3. Dans « URI de redirection autorisés », collez exactement l’URL affichée dans le panneau Connexion Google de la configuration du module (elle se termine par controller=oauth).
  4. Validez : Google affiche votre Client ID et votre Client Secret.

L’URI de redirection doit être copiée à l’identique, protocole https compris. C’est la cause numéro 1 de l’erreur redirect_uri_mismatch.

Connexion du module

  1. Dans la configuration du module, collez le Client ID et le Client Secret, puis enregistrez.
  2. Cliquez sur Connecter le compte Google : Google demande l’autorisation d’accéder à vos agendas.
  3. Validez : un message confirme la connexion, revenez dans la configuration.
  4. Dans Calendrier cible, choisissez l’agenda qui recevra les commandes (tous vos agendas accessibles en écriture sont listés, agendas partagés inclus), puis enregistrez.

Le jeton d’accès est renouvelé automatiquement, la connexion n’est à faire qu’une fois. Le bouton Déconnecter supprime les jetons à tout moment.

Configuration des événements

Modèle de titre

Le titre de l’événement est composé librement avec les variables suivantes :

  • {reference} : référence de la commande
  • {customer} : prénom et nom du client
  • {total} : total TTC formaté dans la devise de la commande
  • {payment} : moyen de paiement
  • {carrier} : transporteur
  • {shop} : nom de la boutique

Exemple : Commande {reference} - {customer} ({total})

Type et contenu de l’événement

  • Type d’événement : horodaté à la date et l’heure de la commande (durée réglable en minutes, fuseau horaire de la boutique) ou journée entière.
  • Inclure la liste des produits : ajoute chaque ligne avec sa quantité dans la description.
  • Inclure l’adresse de livraison : ajoutée dans la description et dans le champ lieu de l’événement.
  • Inclure l’email et le téléphone du client : coordonnées ajoutées dans la description.
  • Mettre à jour l’événement au changement de statut : ajoute le statut courant au titre à chaque changement d’état de la commande.

Fonctionnement au quotidien

Dès qu’une commande est validée, l’événement est créé dans l’agenda cible. Sur la fiche commande du back-office, un encart Google Calendar affiche le lien direct vers l’événement, ou le statut de synchronisation en cas de problème.

Le bouton « Créer un événement de test depuis la dernière commande » permet de vérifier toute la chaîne sans attendre une vraie commande.

Échecs et relance

Un échec d’appel à l’API Google ne bloque jamais la validation de la commande. L’échec est enregistré avec le message d’erreur exact renvoyé par Google et apparaît dans le panneau Synchronisations échouées de la configuration. Le bouton Relancer les événements en échec recrée tous les événements manquants en un clic. Les erreurs sont aussi tracées dans les logs PrestaShop (Paramètres avancés puis Logs).

Dépannage

redirect_uri_mismatch

L’URI de redirection déclarée dans Google Cloud Console ne correspond pas exactement à celle affichée par le module. Copiez-la à nouveau depuis la configuration, sans espace ni caractère manquant, et vérifiez le https.

access_denied ou connexion expirée après 7 jours

Votre application OAuth est en statut « En test ». Publiez-la depuis l’écran de consentement OAuth (voir plus haut), puis reconnectez le compte.

Erreur 403 : Google Calendar API has not been used

L’API Google Calendar n’est pas activée sur le projet. Retournez dans Bibliothèque, activez-la, patientez une minute puis relancez les événements en échec.

Un agenda n’apparaît pas dans la liste

Seuls les agendas sur lesquels le compte connecté dispose d’un droit d’écriture sont listés. Pour un agenda partagé, demandez au propriétaire le droit « Apporter des modifications aux événements ».

Données et désinstallation

Les jetons OAuth et le journal de synchronisation sont stockés dans la base de données de votre boutique. Les données de commande transitent uniquement entre votre serveur et l’API Google, en HTTPS. La désinstallation du module supprime les jetons, la configuration et la table de journal ; les événements déjà créés restent dans votre agenda Google.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support