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.
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ę.
| Element | Za co odpowiada | Gdzie się go konfiguruje |
|---|---|---|
| Paczkomaty 24/7 | Wybór punktu odbioru przez klienta | Moduł + geowidget na kroku dostawy |
| Kurier InPost | Dostawa pod adres, opcjonalnie pobranie | Moduł (metoda dostawy i cennik) |
| Przesyłka InPost | Osobny produkt nadawczy | Tylko jeśli faktycznie nadajesz tym kanałem |
| InPost Pay | Płatność i checkout | Osobna konfiguracja, poza modułem wysyłkowym |
| ShipX API | Tworzenie przesyłek, etykiety, statusy | Token w module, wystawiany w Managerze Paczek |
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.
| Wariant | Kiedy ma sens | Na co uważać |
|---|---|---|
| Oficjalny moduł InPost | Standardowa wysyłka, mały i średni wolumen | Ograniczone scenariusze niestandardowe |
| Pługin komercyjny | Wielu przewoźników, ERP, masowe etykiety | Aktualizacje, kompatybilność z PHP i wersją PrestaShop |
| Moduł na zamówienie | Proces, którego nie da się skonfigurować | Koszt utrzymania po stronie autora |
Kolejność ma znaczenie — jeśli zaczniesz od modułu, a token dopiero potem, będziesz konfigurował wszystko dwa razy.
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.
| Etap | Gdzie | Efekt, który powinieneś zobaczyć |
|---|---|---|
| Konto i organizacja | Manager Paczek | Poprawne dane nadawcy i gabaryty domyślne |
| Token API | Manager Paczek | Moduł łączy się bez błędu autoryzacji |
| Test na sandboxie | Backoffice PrestaShop | Etykieta testowa PDF, widoczny numer trackingowy |
| Przełączenie na produkcję | Moduł | Pierwsza realna przesyłka z poprawną opłatą |
| Mapowanie statusów | Statusy zamówień | Status w sklepie zmienia się razem ze statusem w API |
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.
| Kryterium | Geowidget InPost | Własna lista punktów |
|---|---|---|
| Ładowanie | Biblioteka JS i kafle mapy, dociągane po wejściu na krok dostawy | Zero zewnętrznych skryptów, dopóki klient nie kliknie wyboru punktu |
| Wymagania | Klucz dla każdej domeny osobno, HTTPS, brak wsparcia dla localhost | Zapytanie idzie z serwera sklepu, klient nic nie ładuje z zewnątrz |
| Wybór punktu | Mapa, wyszukiwarka, filtry, drag and drop | Lista po kodzie pocztowym, prostsze filtry |
| Utrzymanie | InPost aktualizuje widget po swojej stronie | Ty pilnujesz zmian w API punktów |
| Kiedy wybierać | Ruch głównie mobilny, klient chce zobaczyć punkt na mapie | Słabe łącza, duży ruch, twardy budżet na wydajność |
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.
| Gabaryt | Wymiary skrytki (wys. × szer. × gł.) | Maks. waga | Co realnie wchodzi |
|---|---|---|---|
| A | 8 × 38 × 64 cm | 25 kg | Książka, telefon, biżuteria, kosmetyk |
| B | 19 × 38 × 64 cm | 25 kg | Buty, średnia odzież, zestaw kosmetyków |
| C | 41 × 38 × 64 cm | 25 kg | Kurtka, sprzęt w pudełku, dwa większe opakowania |
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 InPost | Status zamówienia w PrestaShop | Co robi sklep |
|---|---|---|
| Przesyłka utworzona / nadana | Wysłane | Mail z numerem trackingu, przekazanie do magazynu |
| Przesyłka w drodze | W drodze (opcjonalny) | Zwykle bez akcji |
| Gotowa do odbioru w paczkomacie | Do odbioru | Mail lub SMS do klienta |
| Odebrana | Zrealizowane | Zamknięcie zamówienia; status nie jest potwierdzeniem zapłaty |
| Zwrot do nadawcy | Zwrot | Kontrola stanu magazynowego po dostarczeniu paczki |
| Przesyłka anulowana | Anulowane | Weryfikacja, czy etykieta nie została już wydrukowana |
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:
<script> — skrypt przestaje blokować parsowanie HTML. Uwaga: sam defer nie pomoże, jeśli widget dodatkowo wysyła synchroniczne żądanie do API przy starcie.js-delivery-step albo własny event motywu) i dopiero wtedy dodajesz element script z adresem widgetu. Na pozostałych krokach skryptu nie ma w ogóle.IntersectionObserver, gdy kontener wejdzie w viewport. Kontener musi mieć z góry zadaną wysokość (np. min-height: 400px), inaczej mapa „wskakuje” i generuje CLS.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 geowidgetu | Koszt dla sklepu | Kiedy to błąd |
|---|---|---|
| Globalnie (header motywu, hook displayHeader) | Skrypt pobierany w każdej sesji, także na stronach bez dostawy | Zawsze — poza checkout nie ma czego wybierać |
| Tylko krok dostawy + potwierdzenie | Koszt ponoszony raz, na końcu ścieżki zakupowej | Wdrożenie prawidłowe |
| Krok dostawy, ale mapa bez stałej wysokości | CLS na najdroższym ekranie konwersji | Błąd konfiguracji CSS kontenera |
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.
| Test | Co sprawdzić | Kryterium zaliczenia |
|---|---|---|
| Paczkomat gabaryt A | Kod punktu w zamówieniu, waga, etykieta | Etykieta generuje się bez ręcznej korekty, kod punktu bez spacji |
| Paczkomat gabaryt B i C | Automatyczny wybór gabarytu | Rozmiar zgodny z wymiarem produktu, nie zawsze domyślny |
| Kurier InPost | Adres, brak wymogu punktu | Zamówienie przechodzi bez wyboru paczkomatu |
| Zamówienie z ERP | Eksport, import numeru przesyłki | Status i tracking wracają do PrestaShop automatycznie |
| E-mail z trackingiem | Numer przesyłki i link do śledzenia | Link otwiera stronę śledzenia InPost z właściwym numerem |
| Konto produkcyjne | Klucz API, dane nadawcy, organizacja | Etykieta realna, widoczna w panelu InPost |
„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.
| Objaw | Najczęstsza przyczyna | Gdzie sprawdzić |
|---|---|---|
| „Brak wybranego punktu” przy płatności | Punkt zapisany w koszyku, nie skopiowany do zamówienia | Krok dostawy po odświeżeniu strony, tabela koszyka |
| Kod paczkomatu ze spacją lub myślnikiem | Brak normalizacji i walidacji kodu | Zapytanie do bazy po kodach z ostatnich 30 dni |
| Zamówienie bez etykiety | Ręczny, niezamapowany status zamówienia | Mapowanie statusów w konfiguracji modułu |
| Etykieta za duża lub za droga | Błędna waga lub gabaryt produktu | Pole wagi w karcie produktu i reguły gabarytów |
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.
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.
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.
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.
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.
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.
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.
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.
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.