Napisała do mnie pewna czytelniczka, że na podstawie opublikowanego kilka dni temu artykułu chciała połączyć swój sklep na WooCommerce z kontem w MailerLite, tak by również móc dodawać klientów do odpowiednich grup w MailerLite na podstawie kupionych produktów. Jednak w jej przypadku okazało się to niemożliwe, bo choć w sklepie wydawało się, że wszystko jest tak, jak być powinno, to MailerLite wyświetla błąd w oknie wyboru produktu.

MailerLite i problem z listowaniem zasobów z WooCommerce

Po krótkiej wymianie wiadomości ustaliliśmy szczegóły usługi (również ze względu na RODO ;-)), dzięki czemu mogłem przystąpić do analizy problemu. Zacząłem od potwierdzenia, nawet nie tego, że błąd faktycznie występuje, ile faktycznych okoliczności.

I faktycznie, w MailerLite podczas próby wyświetlenia produktów dostępnych w sklepie pojawiał się błąd:

Could not connect to the store. The server responded with:

Error: Przepraszamy, ale nie możesz listować zasobów.
[woocommerce_rest_cannot_view]

Wszystko wskazywało na to, że jest problem na linii MailerLiteWooCommerce, z naciskiem na WooCommerce, a konkretnie REST API, które jest wymagane dla prawidłowej synchronizacji. Ale w ustawianiach WooCommerce odpowiednia para kluczy była zdefiniowana, a zresztą sama wtyczka MailerLite też nie pokazywała żadnych błędów.

Ale jak przystało na informatyka, gdy coś nie działa, zacznij od restartu. W tym przypadku mieliśmy do czynienia z hostingiem współdzielonym, więc restart serwera raczej nie wchodził w grę. Zresztą większy sens i tak miało zrestartowanie kluczy REST API, czyli wygenerowanie nowej pary dla wtyczki MailerLite. I jak się szybko okazało, to był strzał w dziesiątkę, bo po tej operacji wszystko działało prawidłowo.

Ciężko wskazać co było w tym konkretnym przypadku przyczyną, ale mi udało się ten błąd odtworzyć w środowisku testowym, wyłączając i ponownie włączając wtyczkę MailerLite. Z rozmowy z czytelniczką (a konkretnie to już i klientką) wiem, że u niej prawdopodobnie było podobnie. Wtyczka MailerLite była już kiedyś skonfigurowana by z poziomu formularzu zamówienia była możliwość zapisywania się do newslettera. Po pewnym czasie została jednak wyłączona, i włączono ją ponownie niedawno, by skorzystać z opisanej we wspomnianych artykule metody z segmentowaniem klientów na podstawie zakupów. Więc bardzo możliwe, że to może być przyczyną. Ważne, że wygenerowanie nowych kluczy REST API (i oczywiście skonfigurowanie wtyczki MailerLite by z nich korzystała) powinno pomóc.

(!) Zgłoś błąd na stronie
Envato Elements - pobierasz co chcesz, ile chcesz