Problemen met je Magento 2-integraties oplossen
Wat je leert
Leer hoe je problemen met je Magento 2 OAuth-instelling oplost door de onderstaande stappen voor probleemoplossing te volgen. Als je na het doorlopen van deze stappen nog steeds problemen ondervindt, neem dan contact op via onze Community of met ons Supportteam.
Voordat je van start gaat
Als je dit nog niet hebt gedaan, lees dan onze gids over Aan de slag met Magento 2 voor stapsgewijze instructies om je Magento 2-integraties in te stellen.
Klaviyo gebruikt het OAuth-protocol om een toegangstoken te genereren en gegevens op te halen uit je Magento 2-winkel. Als je je Magento 2-installatie hebt aangepast, kan dat ervoor zorgen dat Klaviyo's OAuth-procedure mislukt. Dit artikel leidt je door een reeks stappen voor probleemoplossing om te bepalen waar de fout optreedt.
Algemene stappen voor probleemoplossing
Zorg ervoor dat je site openbaar toegankelijk is met een geldig SSL-certificaat
Voor Klaviyo’s OAuth-procedure moet je website openbaar toegankelijk zijn, anders mislukken de benodigde API-aanroepen om de toegangstokens te genereren.
- Zorg ervoor dat je de toegang tot je winkel niet met een wachtwoord hebt beveiligd of met een IP-adres hebt beperkt.
- Zorg dat je winkel via HTTPS toegankelijk is met een geldig SSL-certificaat. Je kunt je certificaat hier testen.
Zorg ervoor dat je firewall de verzoeken van Klaviyo niet blokkeert
Al het uitgaande Klaviyo-integratieverkeer komt vanaf een set voorspelbare, statische IP-adressen, zodat je er met een hoge mate van zekerheid van kunt uitgaan dat dit verkeer afkomstig is van Klaviyo. Lees ons artikel voor meer informatie over hoe je IP-adressen van Klaviyo-integratieverkeer op de positieve lijst zet.
Controleer je Magento 2- en Klaviyo-extensieversies
- Als je Magento v2.2.0 gebruikt, moet je OAuth handmatig inschakelen.
- Zorg dat je de juiste Klaviyo-extensie hebt geïnstalleerd (mogelijk moet je upgraden).
Zorg ervoor dat OAuth-eindpunten toegankelijk zijn
Mogelijk heb je extra of ontbrekende herschrijfregels, waardoor de standaard OAuth-eindpunten van Magento 2 ontoegankelijk zijn. Klaviyo moet toegang hebben tot deze eindpunten om de benodigde inloggegevens voor het autorisatieproces te genereren.
Zorg ervoor dat de onderstaande URL's toegankelijk zijn voor je winkel:
https://[Store URL]/oauth/token/request https://[Store URL]/oauth/token/access - Je kunt valideren dat ze toegankelijk zijn door een POST-request te doen zoals dit:
curl --location --url 'https://[Store URL]/oauth/token/request' --request 'POST' -v curl --location --url 'https://[Store URL]/oauth/token/access' --request 'POST' -v - Je kunt een reactie verwachten die lijkt op het volgende. Het is normaal om een foutmelding te zien wanneer je op deze manier een verzoek indient, en het bevestigt dat de eindpunten correct reageren.
- Als je geen reactie ontvangt met betrekking tot OAuth, controleer dan of er geen redirects, ongeldige rewrite-regels of interne serverfouten zijn die toegang tot deze URL's verhinderen.
Dit kan worden veroorzaakt door een subpad van de winkel in je URL. Test op een probleem met een subpad van de winkel 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 worden omgezet, neem je de 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] Verwijder de integratie en maak deze opnieuw
Als je na een eerdere mislukte poging tot integratie wijzigingen hebt aangebracht, is het een goed idee om de oorspronkelijke OAuth-integratie te verwijderen. De gebruikte sleutels zijn mogelijk ongeldig en moeten opnieuw worden gegenereerd.
- Navigeer in Magento naar Systemen
- Select integraties
- Zoek het Klaviyo-integratierecord op en verwijder het.
Zodra de integratierecord is verwijderd, volg je de stappen in onze handleiding hoe je integreert met Magento 2 om een nieuwe integratierecord aan te maken en het opnieuw te proberen.
Magento-versiespecifieke problemen
Mislukking specifiek voor Magento 2.4.2
Als je Magento 2.4.2 gebruikt, is er een bekend probleem waarbij OAuth-activeringen mislukken. Wanneer je de integratie activeert, kun je een foutmelding zien zoals hieronder wordt weergegeven. Ook als je de fout niet ontvangt, kan de OAuth-activering zijn mislukt. Normaal gesproken is de fout te vinden in je Magento-logs.
Om deze fout op te lossen, moet je het volgende doen:
- Upgrade naar Magento 2.4.3. Bekijk de documentatie van Magento 2 om je versie te upgraden.
- Pas een patch toe zoals beschreven in Klaviyo's GitHub-repository voor Magento 2.
Authenticatiefout specifiek voor Magento 2.4.6
Gebruik je Magento 2.4.6 en krijg je een 401-authenticatiefout na de integratie met Klaviyo? Dit kan komen door een bekende Magento-bug die Magento-versie 2.4.6 beïnvloedt. Om dit op te lossen, moet je verificatie met bearer-token inschakelen, zodat Klaviyo verzoeken kan doen met die methode (in plaats van OAuth 1.0). Verificatie met bearer-token inschakelen:
- Ga in je Magento-beheerder naar Winkels > Configuratie > Services > OAuth > Consumentinstellingen.
- Selecteer voor de instelling OAuth-toegangstokens toestaan om als zelfstandige Bearer-tokens te worden gebruikt Ja.
- Klik op Config opslaan.
Nadat je deze update hebt uitgevoerd, zouden je eerdere authenticatiefouten moeten zijn opgelost en worden integratiesynchronisaties hervat.