Wtyczka Shopify – PACZKOMATY Inpost
250 zł
Shopify na planie Basic i planach niższych niż Shopify Plus nie oferuje natywnej, kompletnej obsługi punktów odbioru InPost.
To jest rozwiązanie dzięki któremu dajesz klientom wybór Paczkomatu bezpośrednio w koszyku Shopify nawet w planie Basic, kod Paczkomatu zostaje zapisany w zamówieniu i automatycznie przeniesiony do pola „Odbiór w punkcie” w BaseLinkerze.
Paczkomaty InPost w Shopify z automatyczną synchronizacją do BaseLinkera
Kompletne rozwiązanie dla sklepów Shopify, które chcą oferować dostawę do Paczkomatów InPost i automatycznie przekazywać wybrany punkt odbioru do BaseLinkera.
Klient wybiera Paczkomat bezpośrednio w koszyku Shopify, a jego kod zostaje zapisany w zamówieniu i automatycznie przeniesiony do pola „Odbiór w punkcie” w BaseLinkerze.
Dzięki temu podczas generowania przesyłki system od razu tworzy etykietę na właściwy Paczkomat — bez ręcznego przepisywania kodów i bez ryzyka wygenerowania przesyłki kurierskiej na adres domowy klienta.


Co rozwiązuje ten produkt
Shopify na planie Basic i planach niższych niż Shopify Plus nie oferuje natywnej, kompletnej obsługi punktów odbioru InPost.
Samo dodanie pola lub widgetu wyboru Paczkomatu nie wystarcza. Kod punktu może zostać zapisany w zamówieniu Shopify, ale BaseLinker nie przenosi go automatycznie do właściwego pola dostawy.
W praktyce powoduje to, że:
- klient wybiera Paczkomat,
- informacja zapisuje się w Shopify,
- BaseLinker pobiera zamówienie bez uzupełnionego pola „Odbiór w punkcie”,
- podczas tworzenia przesyłki może zostać wygenerowana etykieta kurierska na adres domowy.
To rozwiązanie obsługuje cały proces od początku do końca.
Jak działa rozwiązanie
Produkt składa się z dwóch współpracujących elementów.
1. Widget wyboru Paczkomatu w Shopify
Widget dodaje w koszyku przycisk „Wybierz paczkomat InPost”.
Klient może otworzyć mapę InPost, wyszukać odpowiedni punkt i zapisać jego wybór przed przejściem do realizacji zamówienia.
Kod wybranego Paczkomatu, na przykład RSL08N, zostaje zapisany jako atrybut zamówienia Shopify.
2. Automatyczna synchronizacja z BaseLinkerem
Gotowy workflow n8n odbiera informację o nowym zamówieniu, odczytuje kod wybranego punktu i uzupełnia nim pola:
delivery_point_id,delivery_point_name
w zamówieniu BaseLinkera.
Proces przebiega automatycznie, bez udziału pracownika sklepu.
Najważniejsze korzyści
- pełna obsługa Paczkomatów InPost w Shopify,
- możliwość wyboru punktu bezpośrednio w koszyku,
- automatyczne przesyłanie Paczkomatu do BaseLinkera,
- brak ręcznego przepisywania kodów punktów,
- mniej błędnie wygenerowanych etykiet,
- ograniczenie pomyłek przy realizacji zamówień,
- szybsza obsługa wysyłek,
- współpraca z systemami kurierskimi podłączonymi do BaseLinkera,
- możliwość wdrożenia na Shopify Basic bez konieczności przechodzenia na Shopify Plus.
Co otrzymujesz
W ramach produktu otrzymujesz kompletny pakiet wdrożeniowy:
- snippet Shopify z przyciskiem wyboru Paczkomatu,
- modal z mapą InPost Geowidget,
- kod JavaScript zapisujący wybrany punkt w koszyku,
- kod do osadzenia w motywie Shopify,
- obsługę koszyka typu popup, drawer oraz standardowej strony koszyka,
- gotowy workflow n8n do synchronizacji z BaseLinkerem,
- mechanizm ponawiania prób odnalezienia zamówienia,
- instrukcję instalacji krok po kroku,
- wskazówki testowe i diagnostyczne.
Dla kogo jest ten produkt
Rozwiązanie jest przeznaczone dla sklepów, które:
- działają na Shopify,
- korzystają z BaseLinkera,
- oferują lub chcą oferować Paczkomaty InPost,
- generują etykiety przez BaseLinker, Furgonetkę lub inną integrację,
- chcą ograniczyć ręczną obsługę zamówień,
- nie korzystają z Shopify Plus,
- potrzebują kompletnego rozwiązania zamiast samego widgetu.
Wymagania
Do uruchomienia rozwiązania potrzebujesz:
- sklepu Shopify z dostępem do edycji kodu motywu,
- konta firmowego InPost,
- produkcyjnego tokenu InPost Geowidget przypisanego do domeny sklepu,
- konta BaseLinker z aktywnym dostępem do API,
- tokenu API BaseLinkera,
- działającej instancji n8n self-hosted lub n8n Cloud,
- dostępu do Public API n8n.
Token InPost Geowidget nie jest częścią produktu. Musi zostać wygenerowany przez właściciela sklepu na koncie firmowym InPost, ponieważ jest przypisany do konkretnej domeny.
Instrukcja instalacji i obsługi
Część 1. Instalacja widgetu Paczkomatów w Shopify
Krok 1. Utwórz kopię motywu
Nie wprowadzaj zmian bezpośrednio w aktywnym motywie sklepu.
W panelu Shopify przejdź do:
Sklep online → Motywy
Przy aktywnym motywie kliknij menu z trzema kropkami, a następnie wybierz:
Duplikuj
Wszystkie zmiany wykonuj na kopii motywu oznaczonej jako nieopublikowana.
Dopiero po przeprowadzeniu testów możesz opublikować zmodyfikowany motyw.
Krok 2. Sprawdź typ koszyka
W edytorze kodu otwórz plik:
config/settings_data.json
Znajdź ustawienie:
"cart_type"
Możliwe wartości:
notification— koszyk pojawia się jako popup,drawer— koszyk wysuwa się z boku,- standardowa strona koszyka — dostępna pod adresem
/cart.
Dla typu notification widget dodawany jest do pliku:
snippets/cart-notification.liquid
Dla typu drawer widget należy dodać do:
sections/cart-drawer.liquid
Mechanizm działania jest taki sam. Zmienia się jedynie plik motywu, w którym umieszczany jest widget.
Krok 3. Dodaj snippet wyboru punktu
Skopiuj plik:
shopify-widget/snippets/inpost-point-picker.liquid
do katalogu:
snippets/
w motywie Shopify.
Plik należy wkleić bez zmian.
Krok 4. Dodaj Geowidget, modal i JavaScript
Otwórz plik:
layout/theme.liquid
Skopiuj całą zawartość pliku:
shopify-widget/theme-liquid-block.liquid
i wklej ją bezpośrednio przed znacznikiem:
</body>
W kodzie należy zmienić tylko dwie wartości:
var ECM_INPOST_TOKEN = 'WKLEJ_TUTAJ_TOKEN_PRODUKCYJNY_GEOWIDGET_INPOST';
var ECM_ATTRIBUTE_NAME = 'Paczkomat InPost';
W polu ECM_INPOST_TOKEN wklej produkcyjny token InPost Geowidget.
Wartość ECM_ATTRIBUTE_NAME najlepiej pozostawić jako:
Paczkomat InPost
Nazwa ta musi być identyczna z nazwą atrybutu ustawioną później w workflow n8n.
Wielkość liter i spacje mają znaczenie.
Krok 5. Dodaj przycisk wyboru Paczkomatu do koszyka
W odpowiednim pliku koszyka dodaj:
{% render 'inpost-point-picker' %}
Dla popupu koszyka będzie to plik:
snippets/cart-notification.liquid
Dla koszyka wysuwanego:
sections/cart-drawer.liquid
Kod wstaw przed przyciskiem przejścia do kasy lub formularzem checkout.
Następnie otwórz:
sections/main-cart-footer.liquid
i dodaj to samo wywołanie:
{% render 'inpost-point-picker' %}
przed przyciskiem „Realizuj zakup”.
Dzięki temu widget będzie widoczny zarówno w podręcznym koszyku, jak i na pełnej stronie koszyka.
Krok 6. Przetestuj widget
Testy przeprowadź na podglądzie kopii motywu.
Sprawdź kolejno:
- Dodaj produkt do koszyka.
- Sprawdź, czy widoczny jest przycisk „Wybierz paczkomat InPost”.
- Kliknij przycisk.
- Sprawdź, czy otwiera się mapa InPost.
- Wybierz punkt odbioru.
- Upewnij się, że modal się zamknął.
- Sprawdź, czy przycisk zmienił nazwę na „Zmień paczkomat”.
- Sprawdź, czy pod przyciskiem widoczny jest kod punktu.
Aby sprawdzić zapis atrybutu koszyka, otwórz konsolę przeglądarki i wykonaj:
fetch('/cart.js')
.then(r => r.json())
.then(c => console.log(c.attributes))
Prawidłowy wynik powinien wyglądać podobnie do:
{
"Paczkomat InPost": "RSL08N"
}
Następnie złóż zamówienie testowe i sprawdź w panelu Shopify, czy kod punktu znajduje się w sekcji dodatkowych informacji zamówienia.
Dopiero po poprawnym przejściu testów opublikuj nowy motyw.
Część 2. Synchronizacja z BaseLinkerem przez n8n
Krok 1. Importuj workflow
W panelu n8n przejdź do:
Workflows → Import from File
Wybierz plik:
paczkomat-baselinker-sync.json
Po imporcie pojawi się workflow:
PACZKOMAT INPOST → BASELINKER
Krok 2. Uzupełnij konfigurację
Otwórz node:
Ustawienia
Uzupełnij dwa pola:
| Pole | Wartość |
|---|---|
bl_token | Token API BaseLinkera |
attribute_name | Nazwa atrybutu zapisywanego w Shopify |
Domyślna nazwa atrybutu to:
Paczkomat InPost
Musi być identyczna jak wartość:
ECM_ATTRIBUTE_NAME
ustawiona w kodzie Shopify.
To jedyne miejsce w workflow, które wymaga konfiguracji.
Krok 3. Aktywuj workflow
Włącz przełącznik:
Active
w prawym górnym rogu edytora n8n.
Krok 4. Skopiuj produkcyjny adres webhooka
Otwórz node:
Webhook
Skopiuj adres Production URL, na przykład:
https://twoja-instancja-n8n.pl/webhook/paczkomat-baselinker-sync
Nie używaj adresu testowego.
Zalecane jest również zmienienie ścieżki webhooka na unikalną, trudną do odgadnięcia nazwę.
Przykład:
/webhook/paczkomat-sklep-7x92a
Krok 5. Dodaj webhook w Shopify
W panelu Shopify przejdź do:
Ustawienia → Powiadomienia → Webhooks
Utwórz nowy webhook z następującymi ustawieniami:
- zdarzenie:
Utworzenie zamówienia, - typ zdarzenia:
orders/create, - format:
JSON, - adres URL: produkcyjny adres webhooka z n8n.
Zapisz konfigurację.
Krok 6. Wykonaj test całego procesu
Złóż zamówienie testowe z wybranym Paczkomatem.
Sprawdź:
- Czy kod punktu zapisał się w Shopify.
- Czy zamówienie pojawiło się w BaseLinkerze.
- Czy pole „Odbiór w punkcie” zostało uzupełnione.
- Czy generowana etykieta wskazuje właściwy Paczkomat.
Workflow czeka na synchronizację zamówienia pomiędzy Shopify a BaseLinkerem i wykonuje do trzech prób odnalezienia zamówienia.
Próby wykonywane są po około:
- 60 sekundach,
- 120 sekundach,
- 180 sekundach.
Maksymalny czas synchronizacji wynosi około 6 minut.
Jak rozwiązanie działa technicznie
- Klient wybiera Paczkomat w koszyku Shopify.
- Widget zapisuje kod punktu jako atrybut koszyka.
- Po złożeniu zamówienia Shopify wysyła webhook do n8n.
- Workflow odczytuje kod punktu z zamówienia.
- Jeżeli kodu nie ma, workflow kończy działanie.
- Jeżeli kod istnieje, workflow czeka na synchronizację zamówienia z BaseLinkerem.
- Zamówienie jest wyszukiwane po numerze Shopify.
- Po jego odnalezieniu kod Paczkomatu zostaje zapisany w BaseLinkerze.
- Zamówienie jest gotowe do wygenerowania prawidłowej etykiety.
Codzienna obsługa
Po prawidłowym wdrożeniu rozwiązanie działa automatycznie.
Pracownik sklepu nie musi:
- kopiować kodu Paczkomatu,
- wyszukiwać punktu ręcznie,
- uzupełniać pola „Odbiór w punkcie”,
- poprawiać adresu przed wygenerowaniem etykiety.
Warto jednak okresowo kontrolować nowe zamówienia w BaseLinkerze i upewniać się, że pole punktu odbioru jest prawidłowo uzupełniane.
Szczególnie zalecana jest kontrola po:
- zmianie motywu Shopify,
- aktualizacji kodu koszyka,
- zmianie tokenu API BaseLinkera,
- zmianie tokenu Geowidget,
- migracji n8n,
- zmianie nazwy atrybutu,
- zmianie aplikacji lub integracji kurierskiej.
Widget zapisuje tylko kod punktu
W zamówieniu zapisywany jest kod Paczkomatu, na przykład:
RSL08N
Pełny adres punktu nie jest zapisywany.
Kod jest wystarczający do utworzenia przesyłki w BaseLinkerze i systemie kurierskim.
Potwierdzenie zamówienia nie pokazuje punktu automatycznie
Aby wyświetlać kod Paczkomatu w wiadomości potwierdzającej zamówienie, należy dodać do szablonu powiadomienia Shopify:
{{ attributes["Paczkomat InPost"] }}
Starsze zamówienia nie zostaną uzupełnione
Workflow działa dla zamówień utworzonych po aktywacji webhooka.
Starsze zamówienia można uzupełnić ręcznie lub w ramach dodatkowej usługi jednorazowej synchronizacji.
Opóźnienia w BaseLinkerze
Jeżeli BaseLinker nie zsynchronizuje zamówienia w ciągu około 6 minut, workflow może zakończyć działanie bez uzupełnienia punktu.
W takim przypadku należy sprawdzić opóźnienie integracji Shopify–BaseLinker.
Token InPost jest przypisany do domeny
Token produkcyjny Geowidget ma ustawione dozwolone domeny.
Nie można używać jednego tokenu w dowolnej liczbie niezależnych sklepów.
Rozwiązywanie problemów
| Problem | Możliwa przyczyna i rozwiązanie |
|---|---|
| Przycisk wyboru Paczkomatu nie jest widoczny | Sprawdź, czy snippet został dodany do właściwego pliku koszyka. Wykonaj twarde odświeżenie Ctrl+Shift+R lub użyj trybu incognito. |
| Mapa InPost się nie otwiera | Sprawdź poprawność tokenu Geowidget i konfigurację dozwolonych domen. |
| Punkt nie zapisuje się w koszyku | Sprawdź konsolę przeglądarki i wynik zapytania do /cart.js. |
| Punkt jest w Shopify, ale nie ma go w BaseLinkerze | Sprawdź aktywność workflow, webhook Shopify oraz zgodność nazwy atrybutu. |
| BaseLinker zwraca błąd autoryzacji | Wygeneruj nowy token API i uzupełnij go w node „Ustawienia”. |
| Workflow kończy się bez zapisu | Zamówienie mogło nie pojawić się w BaseLinkerze w wymaganym czasie. |
| Działa na stronie koszyka, ale nie działa w popupie | Widget został dodany tylko do main-cart-footer.liquid. Dodaj go również do pliku popupu lub drawera. |
| Działa na komputerze, ale nie działa na telefonie | Sprawdź cache, responsywność motywu i ewentualne nakładanie się elementów CSS. |
| Po zmianie nazwy atrybutu synchronizacja przestała działać | Nazwa w Shopify i n8n musi być identyczna, łącznie ze spacjami i wielkością liter. |
Ważne zalecenia wdrożeniowe
Nie pracuj bezpośrednio na aktywnym motywie.
Nie pozostawiaj tymczasowych reguł CSS ukrywających elementy koszyka.
Nie publikuj motywu przed przeprowadzeniem pełnego testu zamówienia.
Po zmianie kodu zawsze sprawdź sklep w trybie incognito lub wykonaj twarde odświeżenie.
Przed wdrożeniem produkcyjnym przetestuj cały proces:
wybór Paczkomatu → zapis w Shopify → webhook → n8n → BaseLinker → etykieta
Dostępne warianty usługi
Rozwiązanie może zostać dostarczone jako:
- gotowy pakiet do samodzielnego wdrożenia,
- pakiet z konsultacją techniczną,
- instalacja widgetu w Shopify,
- konfiguracja workflow n8n,
- kompletne wdrożenie „pod klucz”,
- wdrożenie wraz z testem end-to-end,
- dostosowanie do niestandardowego motywu,
- rozbudowa o weryfikację podpisu HMAC Shopify,
- synchronizacja starszych zamówień,
- dalsza automatyzacja obsługi wysyłek.
Wsparcie
Potrzebujesz pomocy przy instalacji, konfiguracji lub testowaniu rozwiązania?
ECOMMERCE-MANAGER.pl
office@ecommerce-manager.pl




