Zamówienia w Kalendarzu Google (dfordercalendar)
Instalacja i konfiguracja automatycznego wysyłania zamówień PrestaShop do Kalendarza Google: dane Google Cloud, połączenie OAuth 2.0, personalizacja wydarzeń i rozwiązywanie problemów.
Wprowadzenie
Zamówienia w Kalendarzu Google (dfordercalendar) automatycznie tworzy wydarzenie w Twoim kalendarzu Google przy każdym zatwierdzonym zamówieniu w sklepie PrestaShop 8 lub 9. Wydarzenie zawiera numer, klienta, sumę, metodę płatności, przewoźnika, listę produktów i adres dostawy. Połączenie wykorzystuje OAuth 2.0 z Twoimi własnymi danymi Google Cloud: żadne dane nie przechodzą przez serwer zewnętrzny.
Instalacja
- W back-office otwórz Moduły, a następnie Menedżer modułów.
- Kliknij Prześlij moduł i wybierz plik dfordercalendar.zip.
- Po instalacji kliknij Konfiguruj.
Wymagania: PrestaShop 8.0 do 9.x, PHP 7.4 do 8.3 z aktywnym rozszerzeniem cURL (dostępne na niemal wszystkich hostingach).
Tworzenie danych dostępowych Google (Google Cloud Console)
Moduł łączy się z API Google Calendar za pomocą danych OAuth 2.0, które tworzysz jednorazowo, w około dziesięć minut.
1. Utworzenie projektu i włączenie API
- Otwórz console.cloud.google.com i zaloguj się na konto Google, do którego należy kalendarz docelowy.
- Utwórz projekt (na przykład „Sklep PrestaShop”).
- W menu otwórz Interfejsy API i usługi, następnie Biblioteka, wyszukaj „Google Calendar API” i kliknij Włącz.
2. Konfiguracja ekranu zgody
- Otwórz Interfejsy API i usługi, następnie Ekran zgody OAuth.
- Wybierz typ Zewnętrzny (lub Wewnętrzny, jeśli korzystasz z Google Workspace), wpisz nazwę aplikacji i swój e-mail, po czym zapisz.
Dopóki aplikacja pozostaje w statusie „Testowanie”, Google wygasza połączenie po 7 dniach. Dwa rozwiązania: opublikuj aplikację (przycisk Opublikuj aplikację, ten rodzaj użycia nie wymaga żadnej weryfikacji) albo dodaj własne konto do listy użytkowników testowych i opublikuj później. Do pracy produkcyjnej opublikuj aplikację.
3. Utworzenie danych OAuth 2.0
- Otwórz Interfejsy API i usługi, następnie Dane logowania, kliknij Utwórz dane logowania, a potem Identyfikator klienta OAuth.
- Typ aplikacji: Aplikacja internetowa.
- W polu „Autoryzowane identyfikatory URI przekierowania” wklej dokładnie adres URL wyświetlany w panelu Połączenie z Google w konfiguracji modułu (kończy się na controller=oauth).
- Zatwierdź: Google wyświetli Twój Client ID i Client Secret.
URI przekierowania musi być skopiowany znak w znak, łącznie z protokołem https. To najczęstsza przyczyna błędu redirect_uri_mismatch.
Łączenie modułu
- W konfiguracji modułu wklej Client ID i Client Secret, po czym zapisz.
- Kliknij Połącz konto Google: Google poprosi o zgodę na dostęp do Twoich kalendarzy.
- Zatwierdź: komunikat potwierdzi połączenie, wróć do konfiguracji.
- W polu Kalendarz docelowy wybierz kalendarz, który będzie otrzymywał zamówienia (wyświetlane są wszystkie kalendarze z prawem zapisu, w tym współdzielone), po czym zapisz.
Token dostępu odnawia się automatycznie, więc połączenie wykonuje się tylko raz. Przycisk Odłącz usuwa tokeny w dowolnym momencie.
Konfiguracja wydarzeń
Szablon tytułu
Tytuł wydarzenia komponujesz dowolnie z następujących zmiennych:
{reference}: numer zamówienia{customer}: imię i nazwisko klienta{total}: suma brutto sformatowana w walucie zamówienia{payment}: metoda płatności{carrier}: przewoźnik{shop}: nazwa sklepu
Przykład: Zamówienie {reference} - {customer} ({total})
Typ i zawartość wydarzenia
- Typ wydarzenia: z godziną w dacie i godzinie zamówienia (czas trwania regulowany w minutach, strefa czasowa sklepu) lub całodniowe.
- Dołącz listę produktów: dodaje każdą pozycję z ilością do opisu.
- Dołącz adres dostawy: dodawany do opisu i do pola lokalizacji wydarzenia.
- Dołącz e-mail i telefon klienta: dane kontaktowe dodawane do opisu.
- Aktualizuj wydarzenie przy zmianie statusu zamówienia: dodaje aktualny status do tytułu przy każdej zmianie.
Codzienna praca
Gdy tylko zamówienie zostanie zatwierdzone, wydarzenie jest tworzone w kalendarzu docelowym. Na karcie zamówienia w back-office panel Google Calendar pokazuje bezpośredni link do wydarzenia albo status synchronizacji w razie problemu.
Przycisk „Utwórz testowe wydarzenie z ostatniego zamówienia” pozwala sprawdzić cały łańcuch bez czekania na prawdziwe zamówienie.
Błędy i ponowienie
Nieudane wywołanie API Google nigdy nie blokuje zatwierdzenia zamówienia. Błąd jest zapisywany z dokładnym komunikatem zwróconym przez Google i pojawia się w panelu Nieudane synchronizacje w konfiguracji. Przycisk Ponów nieudane wydarzenia odtwarza wszystkie brakujące wydarzenia jednym kliknięciem. Błędy są też rejestrowane w logach PrestaShop (Zaawansowane, następnie Logi).
Rozwiązywanie problemów
redirect_uri_mismatch
URI przekierowania zadeklarowany w Google Cloud Console nie odpowiada dokładnie temu, który wyświetla moduł. Skopiuj go ponownie z konfiguracji, bez brakujących znaków i spacji, i sprawdź https.
access_denied lub połączenie wygasające po 7 dniach
Twoja aplikacja OAuth ma status „Testowanie”. Opublikuj ją z ekranu zgody OAuth (patrz wyżej), po czym połącz konto ponownie.
Błąd 403: Google Calendar API has not been used
Google Calendar API nie jest włączone w projekcie. Wróć do Biblioteki, włącz je, odczekaj minutę i ponów nieudane wydarzenia.
Kalendarz nie pojawia się na liście
Wyświetlane są tylko kalendarze, do których połączone konto ma prawo zapisu. W przypadku kalendarza współdzielonego poproś właściciela o uprawnienie „Wprowadzanie zmian w wydarzeniach”.
Dane i odinstalowanie
Tokeny OAuth i rejestr synchronizacji są przechowywane w bazie danych sklepu. Dane zamówień przepływają wyłącznie między Twoim serwerem a API Google, przez HTTPS. Odinstalowanie modułu usuwa tokeny, konfigurację i tabelę rejestru; utworzone już wydarzenia pozostają w Twoim kalendarzu Google.