Integracja InPost z PrestaShop to w praktyce konfiguracja, a nie projekt programistyczny: podłączasz moduł do ShipX API, ustawiasz gabaryty, wagę i dane nadawcy, a etykiety generujesz z backoffice. Najwięcej problemów nie bierze się z kodu, tylko z trzech rzeczy: błędnej wagi produktów, geowidgetu ładowanego na wszystkich stronach i braku mapowania statusów przesyłek na statusy zamówień. Poniżej zbieramy stronę organizacyjną wdrożenia: typowe błędy, checklistę weryfikacji i pytania, które najczęściej dostajemy od sklepów. Sekcje krok po kroku — od klucza API do pierwszej etykiety — znajdziesz w dalszej części artykułu.

Jak działa integracja InPost z PrestaShop — co dokładnie podłączasz

W tym wdrożeniu mieszają się trzy warstwy: usługi InPost, warstwa komunikacji (ShipX API) i warstwa sklepowa (moduł, geowidget, statusy zamówień). Rozdzielenie ich na starcie oszczędza najwięcej czasu, bo większość „problemów z integracją” to tak naprawdę problem z jednym z tych trzech poziomów.

Usługi — co widzi klient.

ShipX API. To backend, przez który moduł rozmawia z InPost: tworzy przesyłkę, zwraca etykietę PDF, numer trackingowy i informacje o zmianach statusu (webhooki). Autoryzacja to token wygenerowany w Managerze Paczek — osobny dla środowiska testowego i osobny dla produkcji. Gdy token wygaśnie albo zmienisz hasło do konta, etykiety przestaną się generować, choć zamówienia w sklepie będą wyglądać na obsłużone.

Moduł czy kod w motywie. Moduł to wtyczka z własnymi hookami, odporna na aktualizację motywu. Integracja wpisana w pliki szablonu ginie przy zmianie wyglądu sklepu i przy aktualizacji PrestaShop. W praktyce niemal zawsze wybieraj moduł — zobacz wdrożenia i rozwój sklepów PrestaShop.

Geowidget i tracking. Geowidget to skrypt z mapą punktów, który ładuje się z zewnątrz. Wstawiony globalnie obciąża każdą stronę sklepu i psuje metryki wydajności — sprawdź, jak liczy je Web Vitals. Podłączaj go wyłącznie na kroku wyboru dostawy. Tracking to z kolei adres śledzenia przesyłki wysyłany klientowi mailem; musi być zgodny z tym, co zwraca API, inaczej klient trafi na pustą stronę.

ElementZa co odpowiadaGdzie się go konfiguruje
Paczkomaty 24/7Wybór punktu odbioru przez klientaModuł + geowidget na kroku dostawy
Kurier InPostDostawa pod adres, opcjonalnie pobranieModuł (metoda dostawy i cennik)
Przesyłka InPostOsobny produkt nadawczyTylko jeśli faktycznie nadajesz tym kanałem
InPost PayPłatność i checkoutOsobna konfiguracja, poza modułem wysyłkowym
ShipX APITworzenie przesyłek, etykiety, statusyToken w module, wystawiany w Managerze Paczek

Który moduł InPost do PrestaShop wybrać

Masz trzy realne drogi i żadna nie jest „najlepsza” w oderwaniu od skali.

Kryteria decyzji. Numer jeden to liczba zamówień dziennie i sposób ich obsługi: przy 5 zamówieniach ręczne klikanie etykiety boli mniej niż wdrożenie. Numer dwa to ERP — jeśli zamówienia trafiają do systemu księgowo-magazynowego i wracają do sklepu, moduł musi umieć pracować z tym obiegiem, a nie go omijać. Numer trzy: wersja PrestaShop i PHP. Moduł pisany pod 1.6 nie zainstaluje się poprawnie na 8.x i to jest najczęstsza przyczyna „moduł nie działa”. Numer cztery: niestandardowe statusy zamówień — jeśli chcesz mieć „Nadana”, „W punkcie”, „Do odbioru”, sprawdź, czy moduł pozwala je mapować, czy tylko wrzuca wszystko w „Wysłane”.

Próg opłacalności. Nasza praktyczna reguła: dopóki nadajesz do kilkudziesięciu paczek tygodniowo i nie masz ERP, własny moduł to przerost formy nad treścią — oficjalny moduł albo dobry pługin załatwi temat. Od momentu, gdy paczek robią się setki, dochodzi magazyn zewnętrzny albo kilku przewoźników, pisanie na zamówienie zaczyna się zwracać. Wycenę i zakres takich prac opisujemy w cenniku wdrożeń PrestaShop.

WariantKiedy ma sensNa co uważać
Oficjalny moduł InPostStandardowa wysyłka, mały i średni wolumenOgraniczone scenariusze niestandardowe
Pługin komercyjnyWielu przewoźników, ERP, masowe etykietyAktualizacje, kompatybilność z PHP i wersją PrestaShop
Moduł na zamówienieProces, którego nie da się skonfigurowaćKoszt utrzymania po stronie autora

Konfiguracja krok po kroku: od klucza API do pierwszej etykiety

Kolejność ma znaczenie — jeśli zaczniesz od modułu, a token dopiero potem, będziesz konfigurował wszystko dwa razy.

  1. Konto i organizacja w Managerze Paczek. Uzupełnij dane firmy, adres nadawcy, telefon i e-mail. Adres nadawcy to nie adres siedziby, jeśli paczki wychodzą z magazynu — wpisz ten, z którego faktycznie nadajesz.
  2. Token API. Wygeneruj w panelu osobny token dla środowiska testowego i osobny dla produkcji. Nadaj tylko potrzebne uprawnienia (przesyłki, etykiety, tracking, punkty). Token traktuj jak hasło: nie wklejaj go do repozytorium ani do motywu.
  3. Sandbox kontra produkcja. Podłączony do testów moduł tworzy przesyłki po stronie testowej. Nie naklejaj wygenerowanej tam etykiety na prawdziwą paczkę — paczka nie dojdzie. Po testach podmień token i adres API na produkcyjne i zrób jeden realny nadruk, sprawdzając, czy kwota w panelu się zgadza.
  4. Domyślne gabaryty, waga i nadawca. Ustaw gabaryt domyślny i wagę domyślną (np. 1 kg) jako zabezpieczenie. Produkt bez wagi to najczęstsza przyczyna odrzuconej przesyłki albo zaniżonej opłaty — przejrzyj katalog i uzupełnij wagi tam, gdzie ich brakuje.
  5. Mapowanie statusów. Przypisz statusy z API do statusów zamówień w PrestaShop. Standardowe hooki i strukturę statusów opisuje dokumentacja deweloperska PrestaShop.
  6. Test. Złóż zamówienie testowe, wygeneruj etykietę PDF, sprawdź, czy numer trackingowy i adres śledzenia zgadzają się z tym, co widzi klient w mailu, i czy status zamówienia zmienił się po aktualizacji z API.

Dwie pułapki na koniec. Zamówienia z odbiorem osobistym i produkty cyfrowe nie mogą generować etykiety — ustaw dla nich wyjątek, inaczej ktoś kiedyś nada puste pudełko. Druga: przy zmianie hasła do konta w Managerze Paczek sprawdź token, bo to najczęstsza przyczyna ciszy w integracji. Szerszy kontekst organizacyjny znajdziesz w wdrożeniach PrestaShop dla firm.

EtapGdzieEfekt, który powinieneś zobaczyć
Konto i organizacjaManager PaczekPoprawne dane nadawcy i gabaryty domyślne
Token APIManager PaczekModuł łączy się bez błędu autoryzacji
Test na sandboxieBackoffice PrestaShopEtykieta testowa PDF, widoczny numer trackingowy
Przełączenie na produkcjęModułPierwsza realna przesyłka z poprawną opłatą
Mapowanie statusówStatusy zamówieńStatus w sklepie zmienia się razem ze statusem w API

Mapa Paczkomatów w sklepie — geowidget kontra własna lista punktów

Geowidget InPost to oficjalny widget JavaScript od InPost. Dostajesz do niego klucz przypisany do konkretnej domeny i to jest pierwsza pułapka. Jeśli sklep działa na twojadomena.pl, www.twojadomena.pl i subdomenie testowej, klucz musi obejmować każdą z nich osobno. Geowidget startuje wyłącznie po HTTPS, a na localhost nie zadziała wcale. Staging bez certyfikatu to zmarnowany dzień pracy.

Drugi problem to miejsce ładowania skryptu. Geowidget dociąga bibliotekę i kafle mapy — kilkaset kilobajtów plus zapytania do zewnętrznych serwerów. Wgrany globalnie w header.tpl albo hookiem na wszystkich stronach psuje Core Web Vitals na kartach produktów, gdzie mapa jest zbędna. Ładuj go tylko na kroku dostawy i tylko wtedy, gdy klient wybrał metodę paczkomatową. Progi, do których warto się porównywać, opisuje web.dev – Web Vitals.

Gdzie trafia wybrany punkt? Nie w pole adresowe. Najczęściej do osobnej tabeli (np. ps_inpost_point z polami id_order, point_code, point_name) albo do dedykowanej kolumny w ps_orders. Kod paczkomatu musi być widoczny w mailu potwierdzającym, na fakturze i w eksporcie do magazynu — inaczej pakowacz dzwoni do klienta. Wybór waliduj po stronie serwera w hooku actionValidateOrder. Zostawiony sam JavaScript oznacza, że przy wyłączonym JS albo po zmianie metody dostawy w koszyku powstanie zamówienie bez punktu.

Fallback na słabym łączu: zamiast mapy pokaż przycisk „Wybierz paczkomat”. Po kliknięciu pobierasz listę punktów filtrowaną po kodzie pocztowym i renderujesz zwykłą listę z nazwą, adresem i odległością. Klient na 3G czeka na taką listę poniżej sekundy, na geowidget z mapą — kilka sekund. Szerszy kontekst wydajnościowy znajdziesz w artykule Paczkomaty w PrestaShop: wdrożenie bez utraty szybkości.

KryteriumGeowidget InPostWłasna lista punktów
ŁadowanieBiblioteka JS i kafle mapy, dociągane po wejściu na krok dostawyZero zewnętrznych skryptów, dopóki klient nie kliknie wyboru punktu
WymaganiaKlucz dla każdej domeny osobno, HTTPS, brak wsparcia dla localhostZapytanie idzie z serwera sklepu, klient nic nie ładuje z zewnątrz
Wybór punktuMapa, wyszukiwarka, filtry, drag and dropLista po kodzie pocztowym, prostsze filtry
UtrzymanieInPost aktualizuje widget po swojej stronieTy pilnujesz zmian w API punktów
Kiedy wybieraćRuch głównie mobilny, klient chce zobaczyć punkt na mapieSłabe łącza, duży ruch, twardy budżet na wydajność

Waga, gabaryty i cennik — jak nie dopłacać za każdą paczkę

Paczkomat to skrytki o stałych wymiarach. Paczka musi zmieścić się w jednej skrytce, w każdej osi osobno — nie liczy się suma wymiarów ani objętość. Poniższe zestawienie traktuj jako punkt wyjścia i zweryfikuj z aktualną umową z InPost, bo warunki handlowe się zmieniają.

Skąd moduł bierze wagę? Z pola weight w tabeli ps_product oraz z width, height i depth. Sprawdź jednostkę domyślną sklepu. Jeśli w Preferencjach ustawiono cale i funty, moduł policzy na nich i wyśle do API bzdurne wartości — to najczęstsza przyczyna korekt cennika.

Problem drugi: waga na kombinacji. Czy Twoja wersja PrestaShop pozwala wpisać wagę per wariant, sprawdź bezpośrednio w swojej instalacji na zakładce kombinacji produktu. Możliwości różnią się między wersjami i nie da się tego założyć z góry. Jeśli pola nie ma, zostają dwie drogi: reguła w module (waga bazowa kategorii plus korekta na atrybut) albo własny atrybut „waga brutto” uzupełniany przy imporcie CSV. Obie wymagają jednorazowego audytu.

Audyt zrób na 20 SKU generujących najwięcej zamówień. Zważ paczkę z opakowaniem i porównaj z bazą. Butelka 0,5 l z kartonem to realnie około 0,9 kg, a w katalogu często widnieje 0,5 kg. Przy trzech sztukach w zamówieniu robi się 1,2 kg różnicy — wystarczy, żeby przeskoczyć próg w cenniku kurierskim. Efekt: dopłata na fakturze zbiorczej i reklamacja, której nie wygrasz, bo dane po stronie sklepu były błędne. Porządek w danych produktowych jest częścią wdrożeń PrestaShop, które prowadzimy.

GabarytWymiary skrytki (wys. × szer. × gł.)Maks. wagaCo realnie wchodzi
A8 × 38 × 64 cm25 kgKsiążka, telefon, biżuteria, kosmetyk
B19 × 38 × 64 cm25 kgButy, średnia odzież, zestaw kosmetyków
C41 × 38 × 64 cm25 kgKurtka, sprzęt w pudełku, dwa większe opakowania

Etykiety, statusy zamówień i zwroty — obsługa po sprzedaży

Etykietę generuj z backoffice, nie w panelu InPost. Moduł po opłaceniu zamówienia albo po zmianie statusu na „Wysłane” wysyła do ShipX API żądanie utworzenia przesyłki, dostaje identyfikator i numer trackingu, zapisuje go w zamówieniu i pobiera etykietę w wybranym formacie. Generowanie pojedynczo to strata czasu: sensowny moduł pozwala zaznaczyć 30 zamówień i wystawić etykiety jednym kliknięciem, a plik PDF pobrać zbiorczo i wydrukować cztery etykiety A6 na arkuszu A4.

Statusy mapujesz w Zamówienia → Statusy, tworząc własne. Nie odpytywuj API per zamówienie co minutę — to najprostsza droga do limitów i zawieszonego crona. Ustaw cron co 15–30 minut albo odbieraj webhooki, jeśli Twój moduł je obsługuje. Webhook wymaga publicznego adresu URL i weryfikacji podpisu; bez tego każdy może wysłać fałszywe zdarzenie i przestawić statusy w całym sklepie.

Uwaga operacyjna: status „odebrane” nie jest potwierdzeniem zapłaty za pobranie. Księgowość oprzyj na raportach z InPost, nie na statusach zamówień w PrestaShop.

Zwroty. Klient może wygenerować kod zwrotu sam w aplikacji InPost — wtedy po stronie sklepu nie robisz nic, tylko odbierasz paczkę w punkcie. Jeśli chcesz mieć zwrot pod kontrolą, generujesz etykietę zwrotną z API: nadawcą jest klient, odbiorcą sklep, a numer trackingu zwrotu dopinasz do zamówienia — inaczej księgowość nie powiąże towaru z fakturą. Waybill, czyli dokument przewozowy dla kuriera odbierającego paczki, wystawiasz zbiorczo dla całego odbioru i przekazujesz kierowcy razem z paczkami. Techniczne podstawy hooków i statusów opisuje dokumentacja dla deweloperów PrestaShop. Jeśli integracja ma być częścią większego wdrożenia, zobacz PrestaShop — zaplecze wdrożeniowe i integracje.

Zdarzenie w InPostStatus zamówienia w PrestaShopCo robi sklep
Przesyłka utworzona / nadanaWysłaneMail z numerem trackingu, przekazanie do magazynu
Przesyłka w drodzeW drodze (opcjonalny)Zwykle bez akcji
Gotowa do odbioru w paczkomacieDo odbioruMail lub SMS do klienta
OdebranaZrealizowaneZamknięcie zamówienia; status nie jest potwierdzeniem zapłaty
Zwrot do nadawcyZwrotKontrola stanu magazynowego po dostarczeniu paczki
Przesyłka anulowanaAnulowaneWeryfikacja, czy etykieta nie została już wydrukowana

Wydajność: czy geowidget Paczkomatów zwalnia sklep

Geowidget InPost to zewnętrzny skrypt JavaScript. Jeśli zostanie wpięty w header.tpl motywu albo w hook wyświetlany globalnie, pobiera się na stronie głównej, w kategoriach i na kartach produktu — czyli tam, gdzie klient punktu nie wybiera. Płacisz za to w każdej sesji: dodatkowe żądania do domeny InPost, więcej pracy wątku głównego, gorszy TBT i wyższy LCP na całym serwisie. Poprawnie widget inicjalizuje się wyłącznie na kroku dostawy w checkout (i ewentualnie na stronie potwierdzenia zamówienia) oraz tylko wtedy, gdy w DOM istnieje kontener mapy.

Trzy techniki, które stosujemy w motywach PrestaShop 1.7 i 8.x:

Ile realnie tracisz? Jednej liczby nie podamy, bo wynik zależy od reszty motywu i liczby wtyczek. Pomiar robisz konkretnie: Lighthouse w trybie mobile na kroku dostawy, przed i po zmianach, oraz dane o metrykach dla całej domeny. Jeśli geowidget wisi globalnie, jego koszt widać najmocniej nie na checkout, a na stronach generujących ruch organiczny — i one najczęściej ciągną wynik całej domeny w dół. Definicje metryk i progi: web.dev – Core Web Vitals. Szerszy kontekst optymalizacji paczkomatów: Paczkomaty w PrestaShop: wdrożenie bez utraty szybkości.

Miejsce ładowania geowidgetuKoszt dla sklepuKiedy to błąd
Globalnie (header motywu, hook displayHeader)Skrypt pobierany w każdej sesji, także na stronach bez dostawyZawsze — poza checkout nie ma czego wybierać
Tylko krok dostawy + potwierdzenieKoszt ponoszony raz, na końcu ścieżki zakupowejWdrożenie prawidłowe
Krok dostawy, ale mapa bez stałej wysokościCLS na najdroższym ekranie konwersjiBłąd konfiguracji CSS kontenera

Test przed startem i lista kontrolna wdrożenia

Testy robisz na koncie sandbox ShipX, ale żadna etykieta z sandboxa nie jest prawdziwa — nie nadaje się do wysyłki i nie ma odzwierciedlenia w rozliczeniach. Sens testów to sprawdzenie przepływu danych, nie drukowanie.

Minimalny zestaw zamówień testowych (wszystkie z prawdziwymi produktami z katalogu, nie z jedną sztuką „test produkt”):

Osobno sprawdź e-maile: szablon „Wysyłka zamówienia” i „Wysłane” muszą zawierać numer przesyłki oraz działający link do śledzenia. Kliknij link z wiadomości, jaką dostał klient — nie sprawdzaj samego kodu szablonu. Nagłówek i treść maila to ostatnie miejsce, które wdrożeniowcy weryfikują, a pierwsza rzecz, którą widzi klient. Kontekst techniczny modułu i hooków: PrestaShop.

Po przełączeniu z sandboxa na konto produkcyjne powtórz cały obieg na jednym zamówieniu — klucz API, dane nadawcy i identyfikator organizacji zmieniają się razem z kontem.

TestCo sprawdzićKryterium zaliczenia
Paczkomat gabaryt AKod punktu w zamówieniu, waga, etykietaEtykieta generuje się bez ręcznej korekty, kod punktu bez spacji
Paczkomat gabaryt B i CAutomatyczny wybór gabarytuRozmiar zgodny z wymiarem produktu, nie zawsze domyślny
Kurier InPostAdres, brak wymogu punktuZamówienie przechodzi bez wyboru paczkomatu
Zamówienie z ERPEksport, import numeru przesyłkiStatus i tracking wracają do PrestaShop automatycznie
E-mail z trackingiemNumer przesyłki i link do śledzeniaLink otwiera stronę śledzenia InPost z właściwym numerem
Konto produkcyjneKlucz API, dane nadawcy, organizacjaEtykieta realna, widoczna w panelu InPost

Typowe błędy i jak je rozpoznać

„Brak wybranego punktu” przy płatności. Komunikat pojawia się, gdy walidacja w checkout nie znajdzie kodu punktu — a nie wtedy, gdy klient go nie wybrał. Szukaj w trzech miejscach: (1) identyfikator punktu zapisywany jest do koszyka, ale nie kopiowany do zamówienia przy zmianie kroku — problem widać po odświeżeniu strony dostawy; (2) przy one page checkout walidacja odpala się przed zdarzeniem wyboru punktu w geowidgetcie; (3) konflikt z innym modułem przewoźnika, który nadpisuje pola formularza dostawy.

Niepoprawny kod paczkomatu w zamówieniu. Do bazy trafiają kody typu „KRA 01M”, „KRA01M ” albo z myślnikiem. Przyczyna jest prawie zawsze ta sama: brak normalizacji. Kod powinien przechodzić przez trim(), usunięcie spacji i myślników oraz zamianę na wielkie litery, zanim zostanie zapisany. Sprawdź bazę zapytaniem po zamówieniach z ostatnich 30 dni — jeśli kody mają różną długość, walidacja nie działa.

Zamówienia bez etykiety po ręcznej zmianie statusu. Moduł generuje etykietę przy przejściu na konkretny status przez hook actionOrderStatusPostUpdate. Jeśli zmieniasz status na własny, nienależący do mapy modułu, hook się wykona, ale warunek nie zostanie spełniony. Objaw: zamówienie z opłaconym InPost i bez etykiety.

Widełki czasowe: standardowa konfiguracja (jeden przewoźnik, mapowanie statusów, szablony e-maili, testy) to zwykle 1–2 dni robocze. Niestandardowy checkout lub integracja z ERP wydłużają to do 3–5 dni. Koszt zależy od zakresu — punkt odniesienia: wdrożenia i migracje PrestaShop Szczecin — cennik i organizacja.

ObjawNajczęstsza przyczynaGdzie sprawdzić
„Brak wybranego punktu” przy płatnościPunkt zapisany w koszyku, nie skopiowany do zamówieniaKrok dostawy po odświeżeniu strony, tabela koszyka
Kod paczkomatu ze spacją lub myślnikiemBrak normalizacji i walidacji koduZapytanie do bazy po kodach z ostatnich 30 dni
Zamówienie bez etykietyRęczny, niezamapowany status zamówieniaMapowanie statusów w konfiguracji modułu
Etykieta za duża lub za drogaBłędna waga lub gabaryt produktuPole wagi w karcie produktu i reguły gabarytów

Najczęstsze błędy i jak je wykryć

Skrypt geowidgetu InPost ładowany globalnie, w nagłówku szablonu, na każdej podstronie sklepu.

Jak wykryć: W kodzie strony głównej i kart produktu znajdź odwołanie do skryptu geowidgetu. Sprawdź raport Core Web Vitals w Search Console i PageSpeed Insights dla adresów innych niż koszyk i dostawa.

Jak naprawić: Zostaw skrypt tylko na kroku wyboru dostawy i wyboru punktu. Dodaj defer i lazy loading, a na pozostałych stronach nie ładuj go wcale. Zasady wagi sygnałów UX opisuje Google Search Central.

Brak wagi lub gabarytu w produkcie, przez co moduł liczy stawkę na podstawie wartości domyślnej (często 0,1 kg lub 0 kg).

Jak wykryć: Zestawienie zamówień z ostatniego miesiąca z wagą zapisaną w zamówieniu. Jeśli większość paczek ma tę samą, nierealną wagę — to ten błąd.

Jak naprawić: Uzupełnij wagę w kartach produktów, a dla wariantów rozmiarowych ustaw mapowanie wagi na poziomie kombinacji atrybutów. Po zmianie sprawdź, czy moduł nadal bierze wagę z kombinacji, a nie z produktu nadrzędnego.

Testy zamówień na środowisku produkcyjnym InPost — powstają prawdziwe etykiety i naliczane są koszty.

Jak wykryć: W Managerze Paczek pojawiają się przesyłki o nazwach typu test, zamówienie 1, z fikcyjnym odbiorcą. Sprawdź też, czy token użyty w module pochodzi z sandboxa czy z produkcji.

Jak naprawić: Wygeneruj osobny token dla środowiska testowego i wpisz go w module na czas testów. Etykiety z sandboxa wyraźnie odróżniają się od produkcyjnych — przed startem usuń token testowy i wróć na produkcyjny.

Etykiety generowane ręcznie w Managerze Paczek, mimo że moduł potrafi zrobić to z poziomu PrestaShop.

Jak wykryć: Sprawdź, czy numer nadania z zamówienia w PrestaShop pojawia się automatycznie, czy ktoś przepisuje go ręcznie. Drugi sygnał: brak numeru trackingu w e-mailu do klienta.

Jak naprawić: Włącz generowanie etykiety przy zmianie statusu (np. z „opłacone” na „przygotowanie do wysyłki”) i sprawdź, czy numer trackingu zapisuje się w zamówieniu oraz w mailu.

Brak mapowania statusów InPost na statusy zamówień PrestaShop, więc klient nie dowiaduje się, że paczka czeka w Paczkomacie.

Jak wykryć: Otwórz kilka zamówień z ostatniego tygodnia i porównaj ich status w sklepie ze statusem przesyłki w panelu InPost. Zamówienia „w realizacji” po kilku dniach od nadania to czerwona flaga.

Jak naprawić: Ustaw mapowanie: nadana → „wysłane”, gotowa do odbioru → „do odbioru w Paczkomacie”, odebrana → „zrealizowane”. Każdemu statusowi przypisz szablon e-maila, żeby klient nie musiał sam śledzić przesyłki.

Wybrany paczkomat zapisywany jako zwykły tekst w komentarzu do zamówienia albo w polu „uwagi”, bez kodu punktu.

Jak wykryć: Sprawdź w bazie zamówień, czy istnieje osobne pole z kodem punktu (format typu KRA010). Jeśli jedyny ślad to treść komentarza — integracja jest niekompletna.

Jak naprawić: Doprowadź do tego, żeby geowidget zapisywał kod i nazwę punktu w dedykowanym polu zamówienia, które moduł przekazuje dalej do etykiety. Wtedy nie ma ręcznego przepisywania i pomyłek przy nadaniu.

Lista kontrolna do odklikania

Podsumowanie

Wdrożenie InPost w PrestaShop wygrywa się na etapie konfiguracji, nie pisania kodu: poprawny token, realne wagi i gabaryty, geowidget tylko na kroku dostawy oraz mapowanie statusów. Najdroższe błędy to testy na produkcji, produkty z domyślną wagą i ręczne generowanie etykiet, które dubluje pracę i psuje tracking w zamówieniach. Przejdź checklistę przed startem, a nie po pierwszej reklamacji z InPost. Jeśli czegoś nie jesteś pewien w swojej instancji PrestaShop, zweryfikuj to na środowisku testowym, zamiast zgadywać na produkcji.

Najczęściej zadawane pytania

Czy integracja InPost z PrestaShop wymaga programisty?

Do podstawowego wdrożenia — nie. Oficjalny moduł i wtyczki z marketplace mają panel konfiguracji, w którym wpisujesz token API, dane nadawcy, gabaryty i wagi. Programista jest potrzebny wtedy, gdy chcesz niestandardowe statusy, własną logikę wyboru gabarytu albo połączenie z ERP — bo to już wychodzi poza to, co moduł oferuje z pudełka.

Czym różni się ShipX API od Managera Paczek?

Manager Paczek to panel, w którym człowiek klika i nadaje przesyłki. ShipX API to warstwa, z którą rozmawia moduł w PrestaShop — to przez nią powstaje etykieta, numer nadania i zapytanie o status. Praktyczny wniosek: jeśli moduł jest poprawnie podłączony, do panelu InPost zaglądasz tylko przy wyjątkach, a nie przy każdym zamówieniu.

Czy geowidget Paczkomatów spowolni sklep?

Sam geowidget nie jest ciężki — problemem jest miejsce, w którym go umieścisz. Jeśli ładuje się na wszystkich podstronach, wpływa na Core Web Vitals całego sklepu. Jeśli tylko na kroku wyboru dostawy, z defer i lazy loadingiem, jego wpływ na LCP i CLS strony checkout jest zwykle niewielki. Szczegóły pomiaru opisuje dokumentacja web.dev.

Jak sprawdzić, czy moduł liczy właściwe gabaryty?

Weź trzy produkty z różnych półek wymiarowych, złóż z nich zamówienie testowe i sprawdź, jaki gabaryt wybrał moduł. Potem porównaj to z cennikiem, który masz w umowie z InPost. Najczęstsza przyczyna nadpłat to produkty bez wpisanej wagi — wtedy moduł bierze wartość domyślną i paczka jedzie w droższej kategorii, niż powinna.

Co się dzieje, gdy klient nie odbierze paczki z Paczkomatu?

Przesyłka wraca do nadawcy, a Ty ponosisz koszt zgodnie z cennikiem — dlatego warto pilnować statusów i wysyłać przypomnienia o odbiorze. Moduł może przekazywać status „przesyłka w drodze powrotnej” do zamówienia w PrestaShop, żeby obsługa wiedziała, że trzeba przyjąć zwrot i ewentualnie zwrócić pieniądze. Bez mapowania statusów dowiesz się o tym dopiero z faktury.

Czy integrację da się połączyć z ERP lub systemem magazynowym?

Tak, ale to zwykle wymaga własnego modułu albo modułu komercyjnego z gotowym konektorem. Sens ma to od momentu, w którym ręczne przepisywanie zamówień zajmuje więcej czasu niż utrzymanie integracji — dla małych wolumenów to przerost formy. Przy kilkuset paczkach tygodniowo i pracy na dwóch systemach integracja zwraca się szybko.

Czy konfiguracja InPost działa na starszych wersjach PrestaShop?

Nie każdy moduł wspiera każdą wersję — najczęściej problem dotyczy sklepów na PrestaShop 1.6, dla których nowsze wtyczki nie są już rozwijane. Przed zakupem sprawdź w opisie modułu listę wspieranych wersji i wersję PHP. Jeśli Twój sklep jest mocno zmodyfikowany, sam moduł może wejść w konflikt z istniejącym szablonem i wtedy potrzebna jest korekta kodu.

Jeśli chcesz, żeby ktoś przeszedł tę checklistę za Ciebie i sprawdził konfigurację na Twojej instalacji, napisz do nas — zajmujemy się wdrożeniami PrestaShop na co dzień. Zaczynamy od audytu, nie od sprzedaży modułu.

Źródła i materiały