Jak rozwiązać problem z integracją z Magento 2?
Czego się dowiesz?
Dowiedz się, jak rozwiązać problemy z konfiguracją OAuth w Magento 2, wykonując poniższe kroki rozwiązywania problemów. Jeśli po wykonaniu tych kroków nadal występują problemy, skontaktuj się z nami na naszej Społeczności lub z naszym Zespołem pomocy technicznej.
Kilka słów na początek
Zanim przejdziesz do dalszej części tego artykułu, warto zapoznać się z naszym przewodnikiem Magento 2: pierwsze kroki, który zawiera instrukcje krok po kroku dotyczące konfiguracji integracji Magento 2.
Klaviyo używa protokołu OAuth do wygenerowania tokenu dostępu i pobrania danych ze sklepu Magento 2. Jeśli Twoja instalacja Magento 2 została dostosowana, może to spowodować niepowodzenie procedury OAuth w Klaviyo. Ten artykuł przeprowadzi Cię przez serię kroków rozwiązywania problemów, aby zidentyfikować, na którym etapie występuje błąd.
Ogólne kroki rozwiązywania problemów
Upewnij się, że witryna jest publicznie dostępna i ma ważny certyfikat SSL
Procedura OAuth Klaviyo wymaga, aby Twoja witryna była publicznie dostępna; w przeciwnym razie niezbędne wywołania API do generowania tokenów dostępu nie powiodą się.
- Upewnij się, że nie zabezpieczono sklepu hasłem ani nie ograniczono dostępu według adresu IP.
- Upewnij się, że sklep jest dostępny przez HTTPS z prawidłowym certyfikatem SSL. Certyfikat możesz przetestować tutaj.
Upewnij się, że zapora sieciowa nie blokuje żądań Klaviyo
Cały ruch wychodzący integracje Klaviyo odbywa się za zestawem przewidywalnych, statycznych adresów IP, dzięki czemu możesz mieć wysoki poziom pewności, że ten ruch pochodzi z Klaviyo. Przeczytaj nasz artykuł, aby dowiedzieć się jak dodać adresy IP ruchu integracje Klaviyo do białej listy.
Sprawdź wersje Magento 2 i rozszerzenia Klaviyo
- Jeśli używasz Magento v2.2.0, musisz ręcznie włączyć OAuth.
- Upewnij się, że masz zainstalowane właściwe rozszerzenie Klaviyo (może być konieczne uaktualnienie).
Upewnij się, że punkty końcowe OAuth są dostępne
Możesz mieć dodatkowe lub brakujące reguły przepisywania, które mogą sprawić, że domyślne punkty końcowe OAuth Magento 2 będą niedostępne. Klaviyo musi mieć dostęp do tych punktów końcowych, aby wygenerować wymagane poświadczenia na potrzeby procesu autoryzacji.
Upewnij się, że poniższe adresy URL są dostępne dla Twojego sklepu:
https://[Store URL]/oauth/token/request https://[Store URL]/oauth/token/access - Możesz potwierdzić, że są dostępne, wykonując żądanie POST w taki sposób:
curl --location --url 'https://[Store URL]/oauth/token/request' --request 'POST' -v curl --location --url 'https://[Store URL]/oauth/token/access' --request 'POST' -v - Możesz spodziewać się odpowiedzi podobnej do poniższej. To normalne, że przy wysyłaniu żądania w ten sposób pojawia się błąd; potwierdza to, że punkty końcowe odpowiadają prawidłowo.
- Jeśli nie otrzymasz odpowiedzi związanej z OAuth, sprawdź, czy nie ma przekierowań, nieprawidłowych reguł przepisywania lub wewnętrznych błędów serwera uniemożliwiających dostęp do tych adresów URL.
Może to być spowodowane podścieżką sklepu w adresie URL. Sprawdź problem z podścieżką sklepu, uzyskując dostęp do punktów końcowych pod adresem:
https://[Store URL]/[Store Path]/oauth/token/request https://[Store URL]/[Store Path]/oauth/token/access Jeśli te punkty końcowe zostaną rozwiązane, dodaj poniższe reguły przepisywania do pliku .htaccess plik, aby rozwiązać problem.
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] Usuń integracje i utwórz ją ponownie
Jeśli po wcześniejszej nieudanej próbie integracji wprowadzono zmiany, warto usunąć pierwotną integrację OAuth. Użyte klucze mogą być nieprawidłowe i trzeba je wygenerować ponownie.
- W Magento przejdź do Systemy
- Select integracje
- Znajdź rekord integracje Klaviyo i usuń go
Po usunięciu rekordu integracji wykonaj kroki opisane w naszym przewodniku jak zintegrować z Magento 2, aby utworzyć nowy rekord integracji i spróbować ponownie.
Problemy specyficzne dla wersji Magento
Błąd dotyczący Magento 2.4.2
Jeśli korzystasz z Magento 2.4.2, istnieje znany problem, w którym aktywacje OAuth nie powiodą się. Po aktywacji integracje może pojawić się komunikat o błędzie podobny do pokazanego poniżej. Nawet jeśli nie otrzymasz błędu, aktywacja OAuth mogła się nie powieść. Zazwyczaj błąd można znaleźć w logach Magento.
Aby rozwiązać ten błąd, trzeba będzie:
- Uaktualnij do Magento 2.4.3. Zapoznaj się z dokumentacją Magento 2, aby uaktualnić wersję.
- Zastosuj poprawkę zgodnie z opisem w repozytorium github Klaviyo dla Magento 2.
Błąd uwierzytelniania specyficzny dla Magento 2.4.6
Korzystasz z Magento 2.4.6 i po integracji z Klaviyo występuje błąd uwierzytelniania 401? Może to wynikać ze znanego błędu Magento wpływającego na wersję 2.4.6. Aby to rozwiązać, trzeba włączyć uwierzytelnianie za pomocą tokenu bearer, aby Klaviyo mogło wysyłać żądania z jego użyciem (zamiast OAuth 1.0). Aby włączyć uwierzytelnianie za pomocą tokenu bearer:
- W panelu administratora Magento przejdź do Stores > Configuration > Services > OAuth > Consumer Settings.
- W ustawieniu Zezwalaj na używanie tokenów dostępu OAuth jako samodzielnych tokenów Bearer wybierz Tak.
- Kliknij Zapisz konfigurację.
Po wprowadzeniu tej aktualizacji wcześniejsze błędy uwierzytelniania powinny zostać rozwiązane, a synchronizacje integracji zostaną wznowione.