Połączenie własnej aplikacji z API Allegro często kojarzy się z przedzieraniem się przez obszerną dokumentację, walką z procesem autoryzacji OAuth i ręcznym zarządzaniem tokenami. Jeśli budujesz narzędzie w Node.js na własny użytek (np. skrypt konsolowy, automatyzację na serwerze) i chcesz pominąć ten skomplikowany etap, mam dla Ciebie świetną wiadomość.
Stworzyliśmy paczkę npm @mojaksebastian/allegro-client, która bierze na siebie najtrudniejsze zadania, pozwalając Ci skupić się na tym, co najważniejsze – logice Twojej aplikacji.

@mojaksebastian/allegro-client?Zanim przejdziemy do kodu, zobacz, co zyskujesz:
access_token, gdy ten wygaśnie, zapewniając ciągłość działania aplikacji.Authorization oraz User-Agent do każdego zapytania.Zanim zainstalujemy paczkę, musimy przygotować grunt po stronie Allegro.
Po zarejestrowaniu aplikacji otrzymasz Client ID i Client Secret.
Przechodzimy do projektu w Node.js. Zacznij od instalacji paczki:
npm install @mojaksebastian/allegro-client
# lub
yarn add @mojaksebastian/allegro-client
Teraz postępuj zgodnie z instrukcją zawartą w README repozytorium na GitHubie.
Prośba: Jeśli paczka Ci się spodoba i ułatwi Ci pracę, będę wdzięczny za zostawienie ⭐ gwiazdki na GitHubie! To motywuje do dalszego rozwoju projektu.
Po uruchomieniu aplikacji po raz pierwszy, nastąpi magia:
access_token, refresh_token oraz expires_in.Paczka @mojaksebastian/allegro-client dba o Twoją wygodę. Jeśli nie dostarczysz własnego mechanizmu zapisu tokenów (np. w Redis czy bazie SQL), paczka domyślnie zapisze je w pliku w głównym katalogu aplikacji:
.allegro_sessionon – dla środowiska produkcyjnego..allegro_sessionon_dev – dla sandboxa.⚠️ UWAGA: Ze względów bezpieczeństwa, koniecznie dodaj te nazwy plików do swojego .gitignore! Nigdy nie wrzucaj tokenów dostępowych do publicznych repozytoriów.

Jeśli budujesz bardziej zaawansowaną aplikację, zalecam zaimplementowanie własnego storage'u dla tokenów, do czego paczka również daje odpowiednie narzędzia.
Integracja z Allegro nie musi być drogą przez mękę. Dzięki @mojaksebastian/allegro-client trudne tematy, takie jak device_code czy odświeżanie tokenów, znikają z Twojej listy zmartwień.