Problemen met je Magento 2 integratie?
Leer hoe je problemen met je Magento 2 OAuth setup oplost, door de stappen hieronder te doorlopen. Als je na het lezen van de stappen nog steeds problemen ondervindt, neem dan contact op met Klaviyo’s Community of Support Team.
Voordat je begint
Lees voordat je begint de gids ‘How to integrate with Magento 2’ door. In deze gids vind je namelijk stap-voor-stap instructies om je Magento integratie op te zetten. Heb je deze instructies al doorlopen? Dan kun je aan de slag met de tips in dit artikel.
Klaviyo gebruikt het OAuth protocol om een toegangstoken te maken en gegevens op te halen uit je Magento 2 webshop. Als je jouw Magento 2 installatie hebt aangepast, zorgt dit ervoor dat de OAuth procedure van Klaviyo mislukt. Dit artikel leidt je door een reeks stappen om te bepalen waar de foutmeldingen optreden en hoe je deze kunt oplossen.
Publiekelijk toegankelijke site
Klaviyo’s OAuth procedure vereist dat je website publiekelijk toegankelijk is, anders mislukken de noodzakelijke API oproepen om de toegangscodes te genereren. Je maakt je site als volgt toegankelijk voor het publiek:
- Zorg ervoor dat je de toegang tot je website niet beveiligd met een wachtwoord of een IP restrictie;
- Zorg ervoor dat je winkel toegankelijk is via HTTPS met een geldig SSL-certificaat. Je kunt je certificaat hier testen.
Controleer je Magento 2 en Klaviyo extensie versies
Als je Magento 2.2.0 of eerder gebruikt, moet je OAuth handmatig inschakelen. Zorg ervoor dat je de Klaviyo extensie versie 3.0.3 of hoger installeert en activeert.
Magento 2.4.2 specifieke storing
Als je Magento 2.4.2 gebruikt, is er een bekend probleem waarbij OAuth activeringen mislukken. Bij het activeren van de integratie kun je namelijk een foutmelding zoals hieronder zien. Zelfs als je deze foutmelding niet ziet, kan de OAuth activering mislukken. Je vindt deze fout meestal in je ‘Magento logs’.
Om deze fout op te lossen, moet je:
- Upgraden naar Magento 2.4.3. Bekijk documenten over Magento 2 om je huidige versie te upgraden of;
- Een ‘patch’ toepassen zoals beschreven op ‘Klaviyo’s github’ archief voor Magento 2.
Zorg voor toegankelijke OAuth eindpunten
Daarnaast heb je misschien extra of ontbrekende herschrijfregels die de standaard Magento 2 OAuth eindpunten ontoegankelijk maken. Je moet Klaviyo toegang geven tot deze eindpunten om de benodigde referenties voor het autorisatieproces te genereren. Zorg ervoor dat onderstaande URL’s toegankelijk zijn voor je winkel:
https://[Store URL]/oauth/token/request
https://[Store URL]/oauth/token/access
- Je bevestigt dat de URL’s toegankelijk zijn door een POST verzoek zoals onderstaand te maken:
curl --location --url 'https://[Store URL]/oauth/token/request' --request 'POST' -v
curl --location --url 'https://[Store URL]/oauth/token/access' --request 'POST' -v
- Het is normaal om een fout te zien als je op deze manier een verzoek maakt. Je kunt daarom een antwoord verwachten dat lijkt op het volgende:
3. Ontvang je geen OAuth gerelateerd antwoord? Controleer dan of er geen omleidingen, ongeldige herschrijfregels of interne serverfouten zijn die de toegang tot deze URL’s verhinderen.
Een ‘store’ subpad in je URL kan bovenstaand probleem ook veroorzaken. Test of er een probleem is met een ‘store’ subpad door de eindpunten te openen op:
https://[Store URL]/[Store Path]/oauth/token/request
https://[Store URL]/[Store Path]/oauth/token/access
Als deze eindpunten verschijnen, neem dan onderstaande herschrijfregels op in je .htaccess bestand om het probleem op te lossen:
RewriteEngine on
RewriteRule /oauth/token/request$ https://%{HTTP_HOST}/[Store Path]/oauth/token/request [L,R=301]
RewriteRule /oauth/token/access$ https://%{HTTP_HOST}/[Store Path]/oauth/token/access [L,R=301]
Firewall blokkeert verzoeken
Als je een firewall of een soortgelijke service (zoals Cloudflare) gebruikt, kan het zijn dat Klaviyo’s servers de toegang tot relevante eindpunten op je server blokkeren. Gebruik je een firewall? Voeg dan een regel toe aan je firewall om de Klaviyo user agent te ‘whitelisten’. Alle verzoeken van Klaviyo hebben de user agent header Klaviyo/1.0.
Verwijder de integratie en re-integreer
Als je wijzigingen maakt na een eerder gefaalde integratie poging, is het een goed idee om de originele OAuth integratie te verwijderen. De gebruikte sleutels kunnen ongeldig zijn en moeten mogelijk opnieuw gegenereerd worden. Je verwijdert een integratie als volgt:
- Navigeer binnen Magento naar ‘Systems’;
- Selecteer ‘Integrations’;
- Zoek het Klaviyo integratie record en verwijder het.
Volg als je de integratie verwijderd hebt de stappen uit de ‘how to integrate with Magento 2’ gids om een nieuw integratie record te maken en probeer het opnieuw.
Meer weten?
Lees ‘reviewing your Magento 2 data’
Lees de ‘guide to supporting multiple Magento stores (voor Magento 2.x)’
Dit artikel is vertaald van het Engels naar het Nederlands. Kijk voor het origineel op deze pagina.