Google Kalender Bestellungen (dfordercalendar)
Automatische Übertragung von PrestaShop-Bestellungen in den Google Kalender installieren und konfigurieren: Google Cloud Zugangsdaten, OAuth 2.0 Verbindung, Terminanpassung und Fehlerbehebung.
Überblick
Google Kalender Bestellungen (dfordercalendar) erstellt für jede validierte Bestellung Ihres PrestaShop 8 oder 9 Shops automatisch einen Termin in Ihrem Google Kalender. Der Termin enthält Referenz, Kunde, Gesamtbetrag, Zahlungsart, Versanddienst, Produktliste und Lieferadresse. Die Verbindung nutzt OAuth 2.0 mit Ihren eigenen Google Cloud Zugangsdaten: Keine Daten laufen über einen Drittserver.
Installation
- Öffnen Sie im Back-Office Module und dann Modul-Manager.
- Klicken Sie auf Modul hochladen und wählen Sie die Datei dfordercalendar.zip.
- Nach der Installation klicken Sie auf Konfigurieren.
Voraussetzungen: PrestaShop 8.0 bis 9.x, PHP 7.4 bis 8.3 mit aktiver cURL-Erweiterung (auf praktisch allen Hostings vorhanden).
Google-Zugangsdaten erstellen (Google Cloud Console)
Das Modul verbindet sich mit der Google Calendar API über OAuth 2.0 Zugangsdaten, die Sie einmalig in etwa zehn Minuten anlegen.
1. Projekt erstellen und API aktivieren
- Öffnen Sie console.cloud.google.com und melden Sie sich mit dem Google-Konto an, dem der Zielkalender gehört.
- Erstellen Sie ein Projekt (zum Beispiel „PrestaShop Shop“).
- Öffnen Sie im Menü APIs und Dienste, dann Bibliothek, suchen Sie nach „Google Calendar API“ und klicken Sie auf Aktivieren.
2. Zustimmungsbildschirm konfigurieren
- Öffnen Sie APIs und Dienste, dann OAuth-Zustimmungsbildschirm.
- Wählen Sie den Typ Extern (oder Intern bei Google Workspace), tragen Sie den Anwendungsnamen und Ihre E-Mail ein und speichern Sie.
Solange die Anwendung im Status „Testen“ bleibt, lässt Google die Verbindung nach 7 Tagen ablaufen. Zwei Lösungen: die Anwendung veröffentlichen (Schaltfläche App veröffentlichen, für diese Nutzungsart ist keine Prüfung nötig) oder das eigene Konto zur Liste der Testnutzer hinzufügen und später veröffentlichen. Für den Produktivbetrieb veröffentlichen Sie die Anwendung.
3. OAuth 2.0 Zugangskennung erstellen
- Öffnen Sie APIs und Dienste, dann Anmeldedaten, klicken Sie auf Anmeldedaten erstellen und dann auf OAuth-Client-ID.
- Anwendungstyp: Webanwendung.
- Fügen Sie unter „Autorisierte Weiterleitungs-URIs“ exakt die URL ein, die im Panel Google-Verbindung der Modulkonfiguration angezeigt wird (sie endet auf controller=oauth).
- Bestätigen Sie: Google zeigt Ihre Client-ID und Ihr Client-Secret an.
Die Weiterleitungs-URI muss zeichengenau kopiert werden, https-Protokoll eingeschlossen. Das ist die häufigste Ursache des Fehlers redirect_uri_mismatch.
Modul verbinden
- Fügen Sie in der Modulkonfiguration Client-ID und Client-Secret ein und speichern Sie.
- Klicken Sie auf Google-Konto verbinden: Google fragt nach der Berechtigung für den Zugriff auf Ihre Kalender.
- Bestätigen Sie: Eine Meldung bestätigt die Verbindung, kehren Sie zur Konfiguration zurück.
- Wählen Sie unter Zielkalender den Kalender, der die Bestellungen empfängt (alle beschreibbaren Kalender werden aufgelistet, geteilte eingeschlossen), und speichern Sie.
Das Zugriffstoken erneuert sich automatisch, die Verbindung ist ein einmaliger Schritt. Die Schaltfläche Trennen entfernt die Tokens jederzeit.
Terminkonfiguration
Titelvorlage
Der Termintitel wird frei aus folgenden Platzhaltern zusammengesetzt:
{reference}: Bestellreferenz{customer}: Vor- und Nachname des Kunden{total}: Bruttobetrag, formatiert in der Bestellwährung{payment}: Zahlungsart{carrier}: Versanddienst{shop}: Shopname
Beispiel: Bestellung {reference} - {customer} ({total})
Termintyp und Inhalt
- Termintyp: mit Uhrzeit zum Bestellzeitpunkt (Dauer in Minuten einstellbar, Zeitzone des Shops) oder ganztägig.
- Produktliste einschließen: fügt jede Zeile mit Menge in die Beschreibung ein.
- Lieferadresse einschließen: erscheint in der Beschreibung und im Ortsfeld des Termins.
- E-Mail und Telefon des Kunden einschließen: Kontaktdaten in der Beschreibung.
- Termin bei Statuswechsel aktualisieren: hängt den aktuellen Status bei jedem Wechsel an den Titel an.
Täglicher Betrieb
Sobald eine Bestellung validiert ist, wird der Termin im Zielkalender erstellt. Auf der Bestellseite im Back-Office zeigt ein Google Kalender Panel den direkten Link zum Termin oder den Synchronisierungsstatus bei Problemen.
Die Schaltfläche „Test-Termin aus der letzten Bestellung erstellen“ prüft die gesamte Kette, ohne auf eine echte Bestellung zu warten.
Fehlschläge und Wiederholung
Ein fehlgeschlagener Google-API-Aufruf blockiert die Bestellvalidierung nie. Der Fehlschlag wird mit der exakten Fehlermeldung von Google protokolliert und erscheint im Panel Fehlgeschlagene Synchronisierungen der Konfiguration. Die Schaltfläche Fehlgeschlagene Termine erneut versuchen erstellt alle fehlenden Termine per Klick. Fehler werden zusätzlich in den PrestaShop-Logs erfasst (Erweiterte Einstellungen, dann Logs).
Fehlerbehebung
redirect_uri_mismatch
Die in der Google Cloud Console hinterlegte Weiterleitungs-URI stimmt nicht exakt mit der vom Modul angezeigten überein. Kopieren Sie sie erneut aus der Konfiguration, ohne fehlende Zeichen oder Leerzeichen, und prüfen Sie das https.
access_denied oder Verbindung läuft nach 7 Tagen ab
Ihre OAuth-Anwendung ist im Status „Testen“. Veröffentlichen Sie sie über den OAuth-Zustimmungsbildschirm (siehe oben) und verbinden Sie das Konto erneut.
Fehler 403: Google Calendar API has not been used
Die Google Calendar API ist im Projekt nicht aktiviert. Kehren Sie zur Bibliothek zurück, aktivieren Sie sie, warten Sie eine Minute und wiederholen Sie die fehlgeschlagenen Termine.
Ein Kalender fehlt in der Liste
Nur Kalender mit Schreibrecht des verbundenen Kontos werden aufgelistet. Bitten Sie bei einem geteilten Kalender den Eigentümer um die Berechtigung „Änderungen an Terminen vornehmen“.
Daten und Deinstallation
OAuth-Tokens und Synchronisierungsprotokoll liegen in der Datenbank Ihres Shops. Bestelldaten laufen ausschließlich zwischen Ihrem Server und der Google API, per HTTPS. Die Deinstallation entfernt Tokens, Konfiguration und Protokolltabelle; bereits erstellte Termine bleiben in Ihrem Google Kalender erhalten.