Twój dropshipping
jako przepływ danych.
Katalog, zamówienia, oferty, zestawy, sklep i pieniądze — wszystko, co GAPLI robi w panelu, robi też w n8n. Bez pisania kodu, bez własnego serwera pośredniczącego, na jednym kluczu API.
Schemat przepływu w n8n: węzeł wyzwalający GAPLI reaguje na nowe zamówienie, węzeł GAPLI pobiera zamówienie po identyfikatorze, a wynik trafia równolegle do trzech miejsc — numer paczki do sklepu, powiadomienie na Slacka i wynik finansowy do arkusza.
Jeden klucz zamiast siedmiu integracji
Node nigdy nie rozmawia z Allegro ani z Shopify. Rozmawia z GAPLI — a GAPLI wykonuje pracę po tamtej stronie. Mówisz „zatowaruj sklep tymi SKU” i w całej operacji nie bierze udziału żaden dostęp do API Twojego sklepu.
- Węzeł GAPLI — 48 operacji
- Węzeł GAPLI Trigger — 3 zdarzenia
- Agent AI z node’em jako narzędziem
Bez OAuth na każde konto
n8n nie potrafi podmienić danych logowania w pętli — raport z siedmiu kont Allegro znaczył siedem równoległych przepływów. Jeden klucz GAPLI obejmuje wszystkie konta naraz, a konto, które zawiodło, odpowiada w polu „error” zamiast wywracać całą odpowiedź.
Dane dostępowe zostają u nas
Token Allegro, klucz Shopify, hasło do wtyczki WooCommerce — nic z tego nie przechodzi przez Twój przepływ i nie leży w historii wykonań n8n. W poświadczeniu jest jeden klucz „gapli_…”, który możesz w każdej chwili unieważnić.
Odmowę widać jako odmowę
Każdy błąd Allegro poza 404 i 429 wychodził kiedyś jako „502 Bad gateway” — czyli „spróbuj ponownie”. Dziś 4xx zostaje 4xx, a odpowiedź niesie pole „retryable”, więc przepływ nie ponawia w kółko odmowy, która nigdy się nie powiedzie.
Dwa węzły i jedno poświadczenie
Tyle instaluje się z paczki. Jeden pyta, drugi nasłuchuje, a poświadczenie łączy je z Twoim kontem.
GAPLI
Pytasz — odpowiada. Wybierasz zasób, wybierasz operację, ustawiasz filtry w interfejsie. Żadnego składania adresów URL ani nagłówków ręcznie.
GAPLI Trigger
Odpytuje API w wybranym odstępie i uruchamia przepływ, gdy coś się wydarzy. Pamięta, co już widział, więc to samo zamówienie nie odpala przepływu dwa razy.
GAPLI API
Klucz zaczynający się od „gapli_”, wygenerowany w panelu. Wpisujesz raz, używają go oba węzły.
Wszystko, o co możesz zapytać
48 operacji w 15 zasobach — pełna lista, bez skrótów.
Product
Katalog hurtowni — wyszukiwanie, dociąganie po EAN i SKU, ocena gotowości do wystawienia.
Lista produktów z katalogu, z filtrami po hurtowni, cenie, stanie, EAN, gabarycie i rynku.
Wyszukiwanie po nazwie przechodzi CAŁY katalog — razem z hurtowniami erotycznymi. Filtr „Adult Products" ustaw na Exclude, zanim zbudujesz listing po słowie kluczowym.
Pojedynczy produkt po jego SKU.
Produkt po kodzie kreskowym EAN/GTIN.
Do 100 kodów EAN w jednym żądaniu zamiast stu osobnych wywołań.
Do 100 identyfikatorów SKU w jednym żądaniu.
Ocena 0–100: czy produkt nadaje się do wystawienia i co konkretnie mu brakuje.
13 sprawdzeń z wagami. `has_dimensions` wymaga wszystkich trzech wymiarów paczki — sama waga go nie zalicza.
Dowód wystawienia: na których kontach produkt już stoi i pod jakim ID oferty.
Żółte ramki to nie drobny druk — to zachowania, które potrafią zwrócić wiarygodną liczbę o innym znaczeniu, niż się wydaje. Każde z nich node opisuje także w swoim interfejsie, przy odpowiednim polu.
Pięć przepływów, które warto mieć
Nie przykłady z dokumentacji, tylko rzeczy, które operatorzy robią naprawdę — razem z tym, co w każdym z nich zaskakuje.
Numer paczki wraca do Twojego sklepu
Kupujący zamówił w Twoim sklepie, a paczkę nadaje hurtownia przez GAPLI. Bez tego przepływu numer przesyłki istnieje w GAPLI i nigdzie indziej — klient pisze „gdzie moje zamówienie”, a Ty sprawdzasz ręcznie.
`shipments[]` wychodzi wyłącznie z Get by ID — przepływ odpytujący listę zamówień nie znajdzie tam nic i uzna, że śledzenia nie ma. Filtr na „outgoing” odcina nogę hurtownia → magazyn, której klientowi pokazywać nie wolno.
Podłącz GAPLI do agenta AI jako narzędzie
Ten sam węzeł, którego używasz w zwykłym przepływie, podpina się do węzła AI Agent jako narzędzie. Model sam decyduje, o co zapytać — po katalog, po zamówienia, po dane rynkowe — i odpowiada zdaniem, a nie tabelą.
Czat na Twoim zapleczu odpowiadający na „co się dziś sprzedało”, „które oferty są w złym stanie”, „co robi konkurencja w tej kategorii”.
Agent przechodzi katalog, sprawdza gotowość do wystawienia, odsiewa duplikaty i zgłasza Ci gotową listę kandydatów do akceptacji.
Schemat narzędzia powstaje z samego węzła. Nie opisujesz endpointów modelowi — wybierasz zasób i operację tak samo jak w zwykłym przepływie.
n8n buduje schemat narzędzia, skanując WARTOŚCI parametrów w poszukiwaniu wyrażeń — a nie definicje pól. Filtr schowany w kolekcji jest dla modelu niewidoczny, dopóki sam go nie podepniesz. Dlatego ostrzeżenie o produktach dla dorosłych siedzi w opisie narzędzia: to jedyny tekst, który model dostaje zawsze. Szukając „zabawek” po nazwie, przejdzie też hurtownie erotyczne.
Rzeczy, których nie musisz oprogramować
Ponowienia, stronicowanie, limity, czytelne błędy i granice uprawnień siedzą w node’dzie. To one decydują o tym, czy przepływ działa także w dniu, w którym coś pójdzie nie tak.
Limit wywołań rośnie z pakietem
żądań na minutę, liczone na klucz
Limit liczy się osobno dla każdego klucza, więc konto z trzema kluczami ma faktycznie trzy razy tyle. Odpowiedź 429 niesie „retry_after_seconds” i informację, skąd limit się wziął — node czyta jedno i drugie zamiast zgadywać.
Ponowienie tylko tam, gdzie ma sens
Odpowiedź 429 jest ponawiana do trzech razy, z odczekaniem podanym przez API. Przekroczony czas oczekiwania — nigdy: przy zerwanym połączeniu nie wiadomo, ile już się wykonało, a drugie żądanie zatowarowałoby sklep po raz drugi.
Dwa stronicowania, bo API ma dwa
Większość list oddaje blok „pagination”. Asortyment sklepu oddaje samo „total” — wspólny mechanizm zatrzymałby się na pierwszych 500 pozycjach z 1200 i wyglądałoby to na pełną listę. Ten endpoint ma więc własną pętlę, chodzącą po „total”.
Błąd mówi, co się stało
Zamiast „request failed” dostajesz treść od API, a obok „Allegro HTTP 403 · trwałe, nie ponawiaj”. Ostrzeżenia z odpowiedzi też idą w komunikat — po wyjątku nikt już nie czyta ciała odpowiedzi.
35 zakresów, nie jedno „wszystko”
Klucz dostaje dokładnie tyle, ile potrzebuje przepływ. Treść rozmów z kupującymi, ceny zakupu i wyniki finansowe mają osobne zakresy — istniejący klucz nie dostaje ich automatycznie, a publikacja ofert wymaga zgody administratora.
Zapytania świadome rynku
Katalog, hurtownie i analityka przyjmują wybór rynku z listy z flagami. Domyślnie „wszystkie rynki”, więc starsze przepływy działają bez zmian.
Trzy kroki i pierwszy przepływ działa
Instalacja zajmuje mniej czasu niż przeczytanie tej strony.
Zainstaluj node
W n8n: Ustawienia → Węzły społecznościowe → Zainstaluj węzeł społecznościowy. Wpisz nazwę paczki i zatwierdź. Na własnym serwerze zrobisz to samo z wiersza poleceń.
Wygeneruj klucz API
W panelu GAPLI: Integracje → zakładka Klucze API → Generuj nowy klucz. Zaznacz tylko te uprawnienia, których potrzebuje Twój przepływ — klucz zaczyna się od „gapli_”.
Otwórz Integracje w paneluPołącz i sprawdź
W n8n utwórz poświadczenie „GAPLI API”, wklej klucz i zapisz. Poświadczenie samo odpyta punkt kontrolny i powie, czy klucz działa — zanim zbudujesz pierwszy przepływ.
- n8n
- 1.0 lub nowsze
- Node.js
- 22 lub nowszy
- GAPLI API
- v1
- Sprawdzone na
- n8n Cloud i self-hosted
Pytania, które padają najczęściej
Nie. Node działa i w n8n Cloud, i na instalacji własnej. W chmurze instalujesz go z poziomu ustawień jako węzeł społecznościowy; na własnym serwerze poleceniem npm w katalogu n8n. Sposób pracy jest w obu przypadkach identyczny.
Nie i nie da się go tak skonfigurować. Node rozmawia wyłącznie z GAPLI, a GAPLI wykonuje pracę po stronie marketplace’u albo sklepu — swoimi, już podpiętymi połączeniami. W przepływie nie pojawia się żaden token Allegro ani klucz Shopify, więc nie ma ich też w historii wykonań n8n.
Sama paczka jest darmowa i otwarta (licencja MIT). Korzystasz z niej w ramach swojego konta GAPLI — pakiet decyduje o limicie wywołań na minutę, od 100 na koncie bez pakietu do 5000 na pakiecie MAX. Dwie rzeczy wymagają planu płatnego: analiza rozmowy przy zamówieniu oraz dołączanie jej do listy zamówień.
API odpowiada kodem 429 i podaje, ile sekund odczekać. Node odczytuje tę wartość i ponawia żądanie — do trzech razy — zamiast przerywać przepływ. Przy masowym pobieraniu dokłada też odstęp między stronami wyników, żeby w ogóle nie dobijać do limitu.
Potrafi jedno i drugie, ale operacje zapisujące są wyraźnie oddzielone i wymagają osobnych uprawnień na kluczu: zatowarowanie sklepu, wysłanie produktów do publikacji na Allegro oraz tworzenie i edycja zestawów. Wysyłka wiadomości do kupującego nie jest możliwa żadnym kluczem API — celowo.
Tak, i jest to ograniczenie sklepu, nie nasze. Shopify przyjmuje jeden produkt na rozliczaną punktami operację — około 30 kart na minutę — więc paczka 100 pozycji to kilka minut pracy. Node czeka na to do dziesięciu minut i celowo nie ponawia przerwanego oczekiwania: drugie wywołanie zatowarowałoby sklep po raz drugi. Po zerwanym połączeniu sprawdzasz stan operacją odczytu asortymentu.
Zmiany są projektowane tak, żeby tego nie robiły. Nowe filtry mają domyślne wartości odpowiadające dotychczasowemu zachowaniu, a gdy pole zmieniło miejsce — jak filtr produktów dla dorosłych — node czyta obie lokalizacje. Każde wydanie ma opis zmian z wyszczególnieniem tego, co mogłoby wpłynąć na działający przepływ.
Panel GAPLI → Integracje → Klucze API → Generuj nowy klucz. Zaznacz wyłącznie to, czego potrzebuje przepływ: sam odczyt katalogu to jedno uprawnienie, treść rozmów z kupującymi i dane finansowe mają własne, a publikacja ofert wymaga dodatkowo zgody administratora. Klucz możesz w każdej chwili unieważnić bez ruszania przepływów.
Zamień klikanie w panelu
w przepływ, który działa sam
Paczka jest darmowa i otwarta. Potrzebujesz tylko konta GAPLI i klucza API — resztę składasz myszką w n8n.