Ostatni przegląd: czerwiec 2026. Katalog Zapier i obsługa JSON w PrestaShop zmieniają się z czasem, sprawdź jedno i drugie dla swojej wersji, zanim cokolwiek wykluczysz. Ścieżki w panelu administracyjnym zweryfikowano dla PrestaShop 1.6, 1.7, 8.x i 9.x.
„Bez pisania kodu” to obietnica, która przyciąga do Zapier większość sprzedawców, i zasadniczo jest prawdziwa, ale jest jedna rzecz o PrestaShop, której nikt nie mówi na początku: w chwili pisania tego tekstu w katalogu Zapier nie ma aplikacji utrzymywanej przez PrestaShop. Wyszukaj „PrestaShop” w Zapier, a nie znajdziesz schludnego konektora w stylu Shopify, którego można by się spodziewać (zanim go wykluczysz, sprawdź w katalogu Zapier aktualne opcje firm trzecich). To nie znaczy, że ścieżka no-code jest zamknięta. Oznacza tylko, że bezpośrednia ścieżka no-code zwykle prowadzi przez wbudowane Webservice API PrestaShop i ogólny krok Webhooks w Zapier, a alternatywą są moduły konektorów firm trzecich albo warstwa pośrednia. Cała sztuka polega na tym, by dokładnie wiedzieć, jak te dwa elementy do siebie pasują. Ten poradnik pokazuje realne podłączenie no-code w prawdziwym panelu administracyjnym PrestaShop, tam gdzie faktycznie nie wymaga żadnego kodu, oraz dwa lub trzy miejsca, w których ktoś po cichu podaje Ci fragment konfiguracji i mimo to nazywa całość „no-code”.
Jeśli nadal wybierasz, na której platformie chcesz się oprzeć, albo potrzebujesz szerokiej listy operacji sklepowych wartych automatyzacji, zacznij od naszego powiązanego artykułu, Zapier i Make dla PrestaShop, a potem wróć tutaj po praktyczną mechanikę połączenia.
Dlaczego nie ma „aplikacji PrestaShop”, i dlaczego to nie problem

Platformy hostowane, takie jak Shopify, publikują i utrzymują aplikację Zapier, ponieważ jedna firma kontroluje jedną bazę kodu. PrestaShop jest samodzielnie hostowany i open source: Twój sklep działa na Twoim serwerze, w Twojej wersji (1.6, 1.7, 8.x, 9.x), z Twoimi modułami. Nie ma jednego centralnego podmiotu, który mógłby opublikować i certyfikować pojedynczy konektor dla wszystkich takich kombinacji. Dlatego zamiast markowej aplikacji PrestaShop udostępnia Webservice API, standardowy interfejs REST wbudowany w rdzeń, a Zapier komunikuje się z nim tak samo jak z dowolnym niestandardowym API: przez ogólne kroki Webhooks by Zapier. Gdy to zaakceptujesz, problem „braku natywnej aplikacji” zmienia się w piętnastominutową konfigurację, a nie ślepą uliczkę.
Krok 1, włącz Webservice (naprawdę bez kodu)
To fundament całej integracji i czyste klikanie w panelu:
- Przejdź do Parametry zaawansowane → Webservice (w PrestaShop 1.6 znajduje się to w Parametry zaawansowane → Usługa internetowa).
- Ustaw Włącz usługę webservice PrestaShop na Tak i zapisz.
- Kliknij Dodaj nowy klucz webservice. PrestaShop wygeneruje długi losowy klucz, to dane dostępowe, których użyje Zapier, więc traktuj go jak hasło.
- W siatce uprawnień przyznaj tylko te zasoby, których naprawdę potrzebujesz. Do odczytu zamówień zaznacz orders (i zwykle customers, addresses) w kolumnie View (GET). Do zapisu, na przykład aktualizacji stanów magazynowych, zaznacz stock_availables w kolumnie Modify (PUT). Całą resztę zostaw wyłączoną.
Co to daje w praktyce? Ograniczony klucz, który może wykonać dokładnie jedno zadanie i nic więcej. Jeśli taki klucz kiedykolwiek wycieknie, zakres szkód ogranicza się do tego, co zaznaczysz, a nie do całej bazy danych. Jest tu jeden realny haczyk, na który często wpadają osoby korzystające ze współdzielonego albo starszego hostingu: Webservice wymaga działającego przepisywania URL-i. Jeśli po włączeniu wywołania zwracają 404, sprawdź, czy opcja Parametry sklepu → Ruch & SEO → Przyjazny URL jest włączona i czy serwer faktycznie obsługuje przepisywanie; niektóre konfiguracje Apache wymagają włączonego mod_rewrite oraz reguł przepisywania wygenerowanych przez PrestaShop w pliku .htaccess (reguł kierujących /api do dyspozytora Webservice). To ustawienie serwera, a nie kod, który musisz napisać.
Krok 2, wybierz kierunek: sklep do Zapier czy Zapier do sklepu
Każda automatyzacja działa na jeden z dwóch sposobów, a PrestaShop obsługuje je bardzo różnie. Dobre zrozumienie tej różnicy decyduje o tym, czy konfiguracja działa, czy po cichu pomija zamówienia.
| Kierunek | Przykład | Jak robi to PrestaShop | Prawdziwe no-code? |
|---|---|---|---|
| Zapier czyta dane ze sklepu (PrestaShop jest wyzwalaczem) | „Nowe zamówienie → dodaj wiersz do Google Sheets” | Zapier cyklicznie odpytuje Webservice albo sklep wysyła dane przez webhook | Odpytywanie: tak. Wysyłka w czasie rzeczywistym: wymaga webhooka (patrz niżej) |
| Zapier zapisuje dane w sklepie (PrestaShop jest akcją) | „Zmienił się stan u dostawcy w arkuszu → zaktualizuj stan w PrestaShop” | Zapier wysyła PUT/POST do Webservice z treścią XML | W większości tak, ale payload XML to część, którą ludzie nazywają kodem |
Krok 3. Kierunek wyzwalacza (gdzie „czas rzeczywisty” ma ukryty haczyk)
Chcesz, aby Zap uruchamiał się, gdy pojawi się nowe zamówienie. Są dwa uczciwe sposoby, żeby to zrobić, i dają bardzo różne doświadczenie.
Czysta metoda no-code: odpytywanie według harmonogramu
Użyj wyzwalacza Schedule by Zapier (na przykład co 15 minut), a po nim kroku Webhooks by Zapier → GET, który wywoła endpoint zamówień:
- URL: https://yourstore.com/api/orders?display=full&sort=[id_DESC]&limit=5&output_format=JSON
- Uwierzytelnianie: Basic Auth, nazwa użytkownika = Twój klucz Webservice, hasło = puste.
Parametr display=full jest równie ważny jak reszta adresu URL: bez niego Webservice zwraca tylko odwołania do zasobów (listę ID), a nie pola zamówienia, które chcesz mapować, dlatego albo dodajesz display=full, albo robisz dwuetapowe pobranie (lista ID, potem GET każdego zamówienia po id). Parametr output_format=JSON to drugi kluczowy element. Domyślnie Webservice zwraca XML, a wyjście JSON zależy od tego, czy obsługuje je Twoja wersja PrestaShop, więc potwierdź, że sklep faktycznie je respektuje. Takie odpytywanie wymaga też logiki deduplikacji: przechowuj ostatnio widziane id lub datę zamówienia i działaj tylko na nowszych rekordach, inaczej będziesz przetwarzać te same zamówienia przy każdym uruchomieniu albo przegapisz serię zamówień, które wpadną między odpytaniami. Drugi kompromis: odpytywanie nie jest natychmiastowe (czekasz maksymalnie tyle, ile wynosi interwał) i zużywa zadanie przy każdym uruchomieniu, niezależnie od tego, czy jest nowe zamówienie. Dla większości małych i średnich sklepów to uczciwa cena za brak udziału programisty. To właśnie tę drogę polecamy na start.
Metoda w czasie rzeczywistym: webhook ze sklepu
Jeśli naprawdę potrzebujesz, aby zamówienie trafiło do Zapier w momencie złożenia, sklep musi je wypchnąć. Rdzeń PrestaShop sam z siebie nie wysyła webhooków wychodzących, więc oznacza to instalację modułu webhooków, który przy zdarzeniach takich jak utworzenie zamówienia wyśle HTTP POST (wewnętrznie przez hook actionValidateOrder albo actionOrderStatusPostUpdate) na adres Catch Hook podany przez Zapier. Dobra wiadomość: dobrze zbudowany moduł webhooków konfiguruje się w całości z panelu administracyjnego, wklejasz adres odbiorczy Zapier w pole i wybierasz zdarzenia do wysyłki. Bez kodu. Uczciwe zastrzeżenie: od tej chwili zależysz od modułu, który musi dobrze współpracować z każdą używaną wersją PrestaShop i PHP, a to dokładnie ten rodzaj problemu ze zgodnością, nad którym obsesyjnie pracujemy, żebyś Ty nie musiał.
Krok 4, kierunek akcji (gwiazdka przy „no-code”)
Zapis z powrotem do PrestaShop to miejsce, w którym obietnica no-code dostaje gwiazdkę. Webservice przyjmuje zmiany jako XML, a nie przyjazne pola formularza, które Zapier pokazuje dla natywnych aplikacji. Aby zaktualizować stan magazynowy produktu, poprawny przepływ wygląda tak: GET dokładnego wiersza stock_available dla tego produktu (z właściwym id_product_attribute dla kombinacji i poprawnym kontekstem sklepu w trybie multi-shop), zmiana wartości <quantity>, a następnie PUT całego bloku XML z zachowaniem wszystkich wymaganych pól. Łatwo to uszkodzić: PUT zastępuje cały zasób, więc pominięcie albo niedopasowanie pola. Id kombinacji, id sklepu, zależności. Może zapisać błędny stan magazynowy albo zepsuć wiersz. Zawsze przetestuj to na kopii stagingowej, zanim skierujesz integrację na sklep produkcyjny. W kroku Webhooks by Zapier wklejasz szablon XML i podstawiasz do niego zmapowane pola. To nie jest programowanie. Nie ma pętli, zmiennych ani logiki, ale to coś więcej niż przeciąganie bloków, i uczciwy poradnik powinien to powiedzieć zamiast udawać, że wszystko jest wyłącznie point-and-click.
Treść XML dla takiego stock PUT, z zachowanymi polami oczekiwanymi przez PrestaShop, wygląda tak, pamiętaj, że najpierw pobierasz wiersz przez GET, aby poznać prawdziwe id, a potem zmieniasz tylko <quantity>:
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<stock_available>
<id>42</id>
<id_product>15</id_product>
<id_product_attribute>0</id_product_attribute>
<id_shop>1</id_shop>
<id_shop_group>0</id_shop_group>
<depends_on_stock>0</depends_on_stock>
<out_of_stock>2</out_of_stock>
<quantity>37</quantity>
</stock_available>
</prestashop>
I co z tego? Przy automatyzacjach typu odczytaj i powiadom (nowe zamówienie → Slack, nowy klient → arkusz) prawdopodobnie nigdy nie dotkniesz XML. Przy automatyzacjach zapisujących dane z powrotem (synchronizacja stanów, zmiana statusu zamówienia, utworzenie klienta) zaplanuj popołudnie na poprawne przygotowanie pierwszego payloadu, potem skopiujesz go dla każdego podobnego Zapa.
Opcje połączenia, od najmniej wymagającej
| Opcja | Co to jest | Nakład pracy | Najlepsze, gdy… |
|---|---|---|---|
| Webservice + Webhooks by Zapier (odpytywanie) | Wbudowane API, Zapier sprawdza dane według harmonogramu | Najniższy, w całości z panelu | Chcesz powiadomień i jednokierunkowego odczytu, bez presji czasu rzeczywistego |
| Webservice + moduł webhooków (push) | Moduł wysyła POST-y w czasie rzeczywistym do Catch Hook w Zapier | Niski po instalacji | Zamówienie albo zmiana stanu musi natychmiast trafić do Zapier |
| Moduł pośredniczący firmy trzeciej „PrestaShop → Zapier” | Płatny konektor, który opakowuje API w uporządkowany interfejs | Niski, ale z kosztem cyklicznym | Nie chcesz w ogóle dotykać XML i zapłacisz, żeby go uniknąć |
| Integracja niestandardowa | Programista buduje rozwiązanie bezpośrednio na Webservice | Wysoki | Masz duży wolumen albo własną logikę, której Zapier nie potrafi wyrazić |
Ograniczenia, o których Zapier Cię nie uprzedzi
Automatyzacja no-code jest właściwym narzędziem do ogromnej liczby zadań, i złym narzędziem do kilku innych. Znajomość granic, zanim w nie uderzysz, oszczędza bolesnej migracji później:
- Wolumen. Zapier rozlicza się za zadania. Sklep z 30 zamówieniami dziennie i czterema automatyzacjami mieści się w rozsądnych kosztach; sklep z tysiącami zamówień dziennie szybko zobaczy rosnący rachunek, na tym etapie bezpośrednia integracja albo integracja ERP, gdy sklep wyrasta z pracy ręcznej, jest tańsza w przeliczeniu na transakcję.
- Dwukierunkowa synchronizacja o dużej skali. Utrzymywanie stanów magazynowych, cen i zamówień w stałej, dwukierunkowej zgodności między PrestaShop a innym dużym systemem nie jest zadaniem dla Zapier. Zobacz wzorce, które faktycznie działają, w artykule o sprawdzonych wzorcach integracji ERP.
- Precyzja księgowa. Możesz przesyłać zamówienia do programu księgowego przez Zapier, ale zasady podatkowe, korekty i zwroty szybko robią się kłopotliwe; dedykowany most zwykle jest rozsądniejszy, co omawiamy w tekście o łączeniu PrestaShop z oprogramowaniem księgowym.
- E-maile transakcyjne. Nie kieruj potwierdzeń zamówień przez Zapa, to zadanie należy do własnego systemu pocztowego PrestaShop, poprawnie skonfigurowanego. Zobacz konfigurację poczty e-mail w PrestaShop.
Trzy nawyki, dzięki którym automatyzacje no-code nie odgryzą się później
- Ogranicz zakres klucza, a potem o nim zapomnij. Największy zysk bezpieczeństwa daje siatka uprawnień z kroku 1, przyznaj minimum, a ujawniony klucz prawie nic nie zrobi.
- Najpierw przetestuj na jednorazowym zamówieniu. Złóż prawdziwe zamówienie testowe i obserwuj cały przebieg Zapa od początku do końca, zanim mu zaufasz. Cicha automatyzacja, która gubi co trzecie zamówienie, jest gorsza niż brak automatyzacji, bo przestajesz sprawdzać. (Jeśli przy okazji zaginie potwierdzenie zamówienia testowego, to problem z dostarczaniem e-maili, a nie z Zapier. Resend Order Confirmation pozwala wysłać je ponownie z poziomu zamówienia, gdy naprawiasz przyczynę.)
- Przez tydzień obserwuj historię zadań. Zapier loguje każde uruchomienie; Zap zapisujący dane z powrotem, który zacznie się sypać, bo PrestaShop zwrócił błąd XML, będzie po prostu cicho czekał w historii. Pięć minut w poniedziałek pozwala to wyłapać.
Najczęściej zadawane pytania
Czy naprawdę nie ma aplikacji PrestaShop w Zapier?
W chwili pisania tego tekstu w katalogu Zapier nie ma aplikacji utrzymywanej przez PrestaShop, ponieważ PrestaShop jest samodzielnie hostowany w wielu wersjach i z różnymi modułami, nie ma jednego podmiotu, który mógłby opublikować i certyfikować taką aplikację. Zamiast tego łączysz się przez wbudowane Webservice API PrestaShop oraz ogólne kroki Webhooks by Zapier. Sprawdź katalog pod kątem aktualnych konektorów firm trzecich, zanim je wykluczysz, ale ścieżka przez Webservice to przewidywalna droga no-code.
Czy połączenie PrestaShop z Zapier naprawdę jest „bez kodu”?
Przy odczycie i powiadomieniach, nowe zamówienie do Slacka, nowy klient do arkusza, tak, to samo klikanie: włączasz Webservice, ograniczasz zakres klucza i odpytujesz dane przez Webhooks GET. Przy zapisie z powrotem do sklepu (aktualizacja stanów, zmiana statusu zamówienia) pojawi się trochę XML, ponieważ Webservice przyjmuje zmiany jako treść XML, a nie pola formularza. Nie ma pętli ani logiki, ale to więcej niż przeciąganie bloków, i warto wiedzieć to od początku.
Jak pobierać zamówienia z PrestaShop do Zapier w czasie rzeczywistym?
Odpytywanie nie może być naprawdę natychmiastowe, sprawdza dane według harmonogramu (np. co 15 minut). Do czasu rzeczywistego potrzebujesz, aby sklep wypychał dane: modułu webhooków, który wyśle HTTP POST przy utworzeniu zamówienia (hook actionValidateOrder) na adres Zapier Catch Hook. Rdzeń PrestaShop nie ma nadawcy webhooków wychodzących, więc wymaga to modułu, ale dobry moduł konfiguruje się w całości z panelu administracyjnego przez wklejenie adresu odbiorczego.
Dlaczego wywołanie Webservice zwraca 404?
Prawie zawsze chodzi o przepisywanie URL-i. Endpoint /api Webservice zależy od przyjaznych URL-i i reguł przepisywania w pliku .htaccess wygenerowanym przez PrestaShop. Upewnij się, że opcja Parametry sklepu → Ruch & SEO → Przyjazny URL jest włączona i że serwer faktycznie przepisuje adresy (niektóre konfiguracje Apache wymagają włączonego mod_rewrite). To ustawienie serwera, a nie kod.
Dlaczego mój Webservice GET zwraca tylko numery ID zamiast szczegółów zamówienia?
Brakuje Ci display=full. Bez tego Webservice zwraca listę odwołań do zasobów (same ID), a nie pola, które chcesz mapować. Dodaj &display=full do URL-a albo pobieraj dane dwuetapowo, najpierw lista ID, potem GET każdego zamówienia po jego id.
Powiązane artykuły
- Zapier i Make dla PrestaShop, wybór platformy i praca z nią, wraz z porównaniem Make i Zapier
- Konfiguracja poczty e-mail w PrestaShop, dlaczego potwierdzenia zamówień powinny zostać w systemie pocztowym, a nie w Zapie
- Gdy sklep wyrasta z pracy ręcznej, sygnał, że czas przejść od prowizorycznego kleju do prawdziwej integracji
Co z tego wynika
Obietnica „bez pisania kodu” wytrzymuje zderzenie z PrestaShop. Z jedną uczciwą poprawką: nie ma aplikacji typu podłącz i używaj, więc łączysz się przez Webservice API i ogólne kroki webhooków w Zapier. Przy odczycie danych ze sklepu i wysyłaniu powiadomień ta ścieżka naprawdę jest czysto klikana. Przy zapisie z powrotem do sklepu pojawi się trochę XML, i lepiej wiedzieć to od początku, niż odkryć w połowie konfiguracji. Zacznij od jednej automatyzacji odczytu opartej na odpytywaniu, sprawdź ją na zamówieniu testowym, a potem rozbudowuj dalej. Gdy wolumen albo dwukierunkowa złożoność przekroczą to, co Zap potrafi elegancko udźwignąć, potraktuj to jako sygnał do przejścia na głębszą integrację, nie jako dowód, że część no-code została zrobiona źle.
Komentarze
Dodaj komentarz
Dodaj pytanie, szczegół montażu albo opinię, która może pomóc innemu czytelnikowi.