PS PrestaShop Beginner

Bestellingen in Google Calendar (dfordercalendar)

Het automatisch versturen van PrestaShop-bestellingen naar Google Calendar installeren en instellen: Google Cloud-inloggegevens, OAuth 2.0-verbinding, personalisatie van de gebeurtenissen en probleemoplossing.

Bijgewerkt Moduleversie 1.0.0

Presentatie

Bestellingen in Google Calendar (dfordercalendar) maakt bij elke gevalideerde bestelling op uw PrestaShop 8- of 9-webshop automatisch een gebeurtenis aan in uw Google-agenda. De gebeurtenis bevat de referentie, de klant, het totaal, de betaalmethode, de vervoerder, de productlijst en het leveradres. De verbinding gebruikt OAuth 2.0 met uw eigen Google Cloud-inloggegevens: er passeert geen enkel gegeven via een server van derden.

Installatie

  1. Open in de backoffice Modules en daarna Modulebeheer.
  2. Klik op Een module installeren en selecteer het bestand dfordercalendar.zip.
  3. Klik na de installatie op Configureren.

Vereisten: PrestaShop 8.0 tot 9.x, PHP 7.4 tot 8.3 met de cURL-extensie actief (aanwezig bij nagenoeg alle hostings).

De Google-inloggegevens aanmaken (Google Cloud Console)

De module verbindt met de Google Calendar-API via OAuth 2.0-inloggegevens die u één keer aanmaakt, in een tiental minuten.

1. Een project aanmaken en de API activeren

  1. Open console.cloud.google.com en log in met het Google-account dat eigenaar is van de doelagenda.
  2. Maak een project aan (bijvoorbeeld “PrestaShop-webshop”).
  3. Open in het menu API’s en services en daarna Bibliotheek, zoek “Google Calendar API” en klik op Activeren.

2. Het toestemmingsscherm instellen

  1. Open API’s en services en daarna OAuth-toestemmingsscherm.
  2. Kies het type Extern (of Intern als u op Google Workspace zit), vul de naam van de applicatie en uw e-mailadres in en sla op.

Zolang de applicatie de status “In test” heeft, laat Google de verbinding na 7 dagen vervallen. Twee oplossingen: publiceer de applicatie (knop Applicatie publiceren, voor dit soort gebruik is geen validatie vereist) of voeg uw eigen account toe aan de lijst met testgebruikers en publiceer later. Voor productiegebruik publiceert u de applicatie.

3. De OAuth 2.0-identificatie aanmaken

  1. Open API’s en services en daarna Inloggegevens, klik op Inloggegevens aanmaken en dan OAuth-client-ID.
  2. Applicatietype: Webapplicatie.
  3. Plak bij “Geautoriseerde omleidings-URI’s” exact de URL die in het paneel Google-verbinding van de moduleconfiguratie staat (ze eindigt op controller=oauth).
  4. Bevestig: Google toont uw Client ID en uw Client Secret.

De omleidings-URI moet identiek worden gekopieerd, https-protocol inbegrepen. Dat is oorzaak nummer 1 van de fout redirect_uri_mismatch.

De module verbinden

  1. Plak in de configuratie van de module de Client ID en de Client Secret en sla op.
  2. Klik op Google-account verbinden: Google vraagt toestemming om uw agenda’s te openen.
  3. Bevestig: een bericht bevestigt de verbinding; keer terug naar de configuratie.
  4. Kies bij Doelagenda de agenda die de bestellingen ontvangt (al uw schrijfbare agenda’s worden getoond, gedeelde agenda’s inbegrepen) en sla op.

Het toegangstoken wordt automatisch vernieuwd; de verbinding hoeft maar één keer te worden gemaakt. De knop Verbinding verbreken verwijdert de tokens op elk moment.

De gebeurtenissen instellen

Titelsjabloon

De titel van de gebeurtenis stelt u vrij samen met de volgende variabelen:

  • {reference}: referentie van de bestelling
  • {customer}: voor- en achternaam van de klant
  • {total}: totaal inclusief btw, geformatteerd in de valuta van de bestelling
  • {payment}: betaalmethode
  • {carrier}: vervoerder
  • {shop}: naam van de webshop

Voorbeeld: Bestelling {reference} - {customer} ({total})

Type en inhoud van de gebeurtenis

  • Type gebeurtenis: met tijdstip op de datum en het uur van de bestelling (duur instelbaar in minuten, tijdzone van de webshop) of hele dag.
  • Productlijst opnemen: voegt elke regel met haar hoeveelheid toe aan de beschrijving.
  • Leveradres opnemen: toegevoegd aan de beschrijving en aan het locatieveld van de gebeurtenis.
  • E-mailadres en telefoonnummer van de klant opnemen: contactgegevens toegevoegd aan de beschrijving.
  • Gebeurtenis bijwerken bij statuswijziging: voegt de actuele status aan de titel toe bij elke statuswijziging van de bestelling.

Dagelijkse werking

Zodra een bestelling gevalideerd is, wordt de gebeurtenis in de doelagenda aangemaakt. Op de bestelpagina van de backoffice toont een kader Google Calendar de rechtstreekse link naar de gebeurtenis, of de synchronisatiestatus bij een probleem.

Met de knop “Een testgebeurtenis aanmaken op basis van de laatste bestelling” controleert u de volledige keten zonder op een echte bestelling te wachten.

Fouten en opnieuw proberen

Een mislukte oproep naar de Google-API blokkeert nooit de validatie van de bestelling. De fout wordt geregistreerd met het exacte foutbericht dat Google terugstuurt en verschijnt in het paneel Mislukte synchronisaties van de configuratie. De knop Mislukte gebeurtenissen opnieuw aanmaken herstelt alle ontbrekende gebeurtenissen met één klik. De fouten worden ook gelogd in de PrestaShop-logs (Geavanceerde instellingen en daarna Logs).

Probleemoplossing

redirect_uri_mismatch

De omleidings-URI die in de Google Cloud Console is geregistreerd, komt niet exact overeen met die van de module. Kopieer ze opnieuw vanuit de configuratie, zonder spatie of ontbrekend teken, en controleer de https.

access_denied of verbinding vervallen na 7 dagen

Uw OAuth-applicatie heeft de status “In test”. Publiceer ze via het OAuth-toestemmingsscherm (zie hierboven) en verbind het account opnieuw.

Fout 403: Google Calendar API has not been used

De Google Calendar-API is niet geactiveerd op het project. Keer terug naar de Bibliotheek, activeer ze, wacht een minuut en probeer de mislukte gebeurtenissen opnieuw.

Een agenda staat niet in de lijst

Alleen agenda’s waarop het verbonden account schrijfrechten heeft, worden getoond. Vraag voor een gedeelde agenda aan de eigenaar het recht “Wijzigingen in gebeurtenissen aanbrengen”.

Gegevens en verwijdering

De OAuth-tokens en het synchronisatielogboek worden in de database van uw webshop opgeslagen. De bestelgegevens passeren uitsluitend tussen uw server en de Google-API, via HTTPS. Het verwijderen van de module wist de tokens, de configuratie en de logtabel; de al aangemaakte gebeurtenissen blijven in uw Google-agenda staan.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support