Aby zbudować skracacz URL w n8n na Elido już dziś, użyj wbudowanego węzła HTTP Request n8n: wyślij POST do /v1/workspaces/{workspace_id}/links z tokenem Bearer, domain_id i destination_url, a odpowiedź odda slug nowego linku i short_url. Ta droga działa zarówno w n8n Cloud, jak i self-hosted. Istnieje też spakowany węzeł społeczności, n8n-nodes-elido, opublikowany w npm (0.2.0), który opakowuje to samo API w typowane pola dla instancji self-hosted.
Większość wyszukiwań "krótki link w n8n" chce właśnie tej pierwszej drogi. Węzeł HTTP Request potrzebuje około pięciu minut konfiguracji: jednego poświadczenia, dwóch ID z workspace i ciała JSON. Potem to już tylko kolejny węzeł.
Napisałem to na podstawie API i źródeł pakietu, a nie materiałów marketingowych, bo ciało żądania łatwo podać dokładnie, a trudno się go domyślić. Jeśli samo API REST jest dla Ciebie nowością, szybki start API i SDK opisuje tokeny, workspace i resztę powierzchni, na której osadzony jest ten wpis.
Dwa sposoby na skracanie linków w n8n
n8n nie ma wbudowanego skracacza, więc są dwa sposoby na podłączenie Elido:
- Węzeł HTTP Request. Wbudowany w każdą edycję n8n, dociera do każdego punktu końcowego i pozwala samodzielnie ustawiać nagłówki takie jak
Idempotency-Key. To ścieżka referencyjna. - Węzeł społeczności
n8n-nodes-elido. Spakowany węzeł Elido z zasobem Link i czterema operacjami (Create, Get, List, Get Analytics) oraz typem poświadczenia Elido API. Tylko self-hosted.
Przepisy dla Make i IFTTT traktują n8n jako jedną z czterech platform do wyboru. Tutaj n8n dostaje cały wpis dla siebie.
Skracanie adresu URL węzłem HTTP Request
Zacznij od tokenu. W Elido otwórz Settings, potem API Tokens, i utwórz osobisty token dostępu; zaczyna się od elido_ i jest pokazywany tylko raz. W n8n utwórz poświadczenie Header Auth z nazwą Authorization i wartością Bearer elido_.... n8n szyfruje je w spoczynku i trzyma poza eksportowanym JSON-em przepływu, co bije wklejanie nagłówka do każdego węzła w każdym przepływie, a potem wyszukiwanie ich wszystkich w dniu, w którym token się rotuje. Nadaj tokenowi rolę edytora i datę wygaśnięcia; nasze omówienie uprawnień kluczy API dla narzędzi do linków wyjaśnia, dlaczego przepływ linków nigdy nie potrzebuje uprawnień administratora.
Następnie dwie liczby. ID Twojego workspace znajduje się w adresie panelu zaraz po /dashboard/. Dla domeny wykonaj jedno GET na /v1/workspaces/{workspace_id}/domains z jednorazowego węzła HTTP Request: każdy element niesie id i hostname, i potrzebujesz obu.
Potem samo wywołanie tworzące:
Method: POST
URL: https://api.elido.app/v1/workspaces/1/links
Authentication: Generic credential > Header Auth (Authorization: Bearer elido_...)
Headers: Idempotency-Key: {{ $execution.id }}-{{ $itemIndex }}
Body (JSON): {
"domain_id": 7,
"destination_url": "{{ $json.link }}",
"title": "{{ $json.title }}",
"tags": ["n8n", "rss"]
}
Odpowiedzią jest rekord linku: id, slug, short_url, destination_url, domain_id, tagi i znaczniki czasu. Przekaż {{ $json.short_url }} do następnego węzła; zanotowana nazwa hosta ma znaczenie tylko wtedy, gdy budujesz URL ręcznie. Dodaj pole slug dla własnej końcówki (plan Starter i wyższe) albo pomiń je i Elido wygeneruje je samo. Dokumentacja węzła HTTP Request n8n opisuje pozostałe opcje, wraz z wbudowaną paginacją dla wywołań listujących.
Węzeł społeczności Elido dla self-hosted n8n
Spakowany węzeł sprzedaje jedną rzecz: typowane pola. Rejestruje poświadczenie Elido API (Base URL, API Token będący kluczem API workspace zaczynającym się od elido_ oraz Workspace ID), a test poświadczenia odczytuje GET /v1/workspaces/{id}. Następnie jest jeden węzeł Elido z zasobem Link. Create przyjmuje adres docelowy plus opcjonalny niestandardowy slug, ID domeny, tytuł, tagi, wygaśnięcie oraz status przekierowania 301, 302 lub 307. Get pobiera jeden link po ID. List przyjmuje limit od 1 do 100 oraz filtry wyszukiwania, tagów i statusu aktywny lub wyłączony, a każdy link emituje jako osobny element n8n. Get Analytics przyjmuje ID linku i raport (kliknięcia w czasie albo kliknięcia według kraju, referrera, urządzenia lub przeglądarki), datę początkową i końcową domyślnie obejmujące ostatnie 30 dni oraz interwał dzienny lub godzinowy, a każdy wiersz emituje jako osobny element. Odpowiedzi linków zawierają short_url.
Zanim zaplanujesz się wokół niego, obowiązuje jeden warunek. n8n Cloud akceptuje wyłącznie zweryfikowane węzły społeczności, a ten nie jest zweryfikowany, więc to self-hosted albo nic. Sam pakiet jest w npm w wersji 0.2.0:
npm view n8n-nodes-elido version
Na instancji self-hosted właściciel albo administrator może otworzyć Settings, potem Community Nodes, wybrać Install i wpisać n8n-nodes-elido. W Dockerze ustaw zamiast tego N8N_COMMUNITY_PACKAGES="n8n-nodes-elido". Nie ma jeszcze wyzwalacza Elido (jest planowany), więc zdarzenia linków nadal przychodzą przez węzeł Webhook n8n, a akcje Update i Look Up by slug są również planowane. Strona pomocy self-hosted n8n zawiera instrukcję konfiguracji. Przewodnik instalacji węzłów społeczności n8n opisuje ścieżki przez GUI, ręczną i przez zmienną środowiskową, w tym tę ręczną, potrzebną w konfiguracjach z trybem kolejki.
Trzy przepływy krótkich linków w n8n, które warto zbudować
Oto przepływy, które zbudowałbym najpierw, w rosnącej kolejności zawiłości. Każdy używa wywołania HTTP Request opisanego powyżej plus standardowych węzłów n8n, więc żaden nie zależy od pakietu społeczności.
RSS do krótkiego linku do Slacka. RSS Feed Trigger odpytuje kanał Twojego bloga. Węzeł HTTP Request wysyła {{ $json.link }} jako cel i {{ $json.title }} jako tytuł. Węzeł Slack publikuje następnie nazwę hosta plus {{ $json.slug }} na Twoim kanale ogłoszeń. To trzy węzły, zero wizyt w panelu. Jeśli chcesz tagów UTM na tych linkach, zbuduj je do celu najpierw węzłem Set; nasz przewodnik po śledzeniu UTM ma konwencję nazewnictwa.
Nowy wiersz arkusza do krótkiego linku i z powrotem. Trigger Google Sheets uruchamia się przy każdym nowym wierszu, wywołanie tworzące skraca kolumnę url, a drugi węzeł Sheets zapisuje gotowy krótki URL z powrotem w tym samym wierszu. To ręcznie zbudowana wersja importu zbiorczego z arkuszy Google, lepsza, gdy wiersze pojawiają się codziennie kropelkami, a gorsza, gdy wklejasz 5000 naraz.
Nowy link do kanału audytowego. Umieść najpierw węzeł Webhook n8n i zasubskrybuj jego produkcyjny URL do link.created pod Settings, Webhooks w Elido. Włącz opcję Raw Body węzła Webhook, bo sygnatura to HMAC-SHA256 po timestamp.raw_body, a ponownie zserializowane ciało JSON nie będzie pasować. Zweryfikuj w węźle Code, potem opublikuj slug i cel na Slacku. Formularz webhooków w panelu wylicza zdarzenia cyklu życia linku i workspace, nie te per kliknięcie (zdarzenie click.created jest planowane), więc dla raportów kliknięć uruchomiłbym zamiast tego zaplanowane pobieranie. Opis zdarzeń webhooków opisuje ponowienia i nagłówki.
Masz dość ręcznego wklejania linków do tych samych trzech narzędzi w każdy poniedziałek? Otwórz darmowy workspace, wygeneruj token i zbuduj powyższy przepływ RSS w czasie, w jakim czyta się tę sekcję.
Obsługa błędów: ponowienia, duplikaty i nieudane uruchomienia
n8n daje każdemu węzłowi dwa istotne tu ustawienia. Retry On Fail ponownie uruchamia węzeł przy błędzie, z wybranym przez Ciebie czasem oczekiwania, a On Error decyduje, czy przepływ się zatrzymuje, kontynuuje, czy kieruje błąd do osobnego wyjścia błędu. Dla siatki bezpieczeństwa obejmującej cały przepływ, przewodnik n8n do eleganckiej obsługi błędów pokazuje, jak skierować każdy przepływ na jeden przepływ błędów zaczynający się od węzła Error Trigger.
Dopasuj ustawienie do kodu statusu. 429 albo dowolne 5xx warto ponowić z kilkusekundowym oczekiwaniem, bo API ustawia Retry-After przy limitach częstotliwości, a plan darmowy pozwala na 60 żądań na minutę. 400 samo się nie naprawi i zwykle oznacza brakujące domain_id albo destination_url. 409 przy tworzeniu oznacza, że niestandardowy slug jest zajęty, więc skieruj go do wyjścia błędu i dołóż sufiks zamiast ponawiać to samo żądanie pięć razy.
Oto część, o której chciałbym, żeby ktoś mnie uprzedził. Bez Idempotency-Key wywołanie tworzące, które przekracza czas po tym, jak serwer już zapisał link, jest ponawiane w duplikat. Dlatego powyższy przykład wysyła klucz zbudowany z ID wykonania i indeksu elementu: ponowienie tego samego elementu odtwarza oryginalną odpowiedź zamiast tworzyć drugi link. Przewodnik o limitach częstotliwości i idempotencji wyjaśnia okno odtwarzania.
Węzeł społeczności kontra HTTP Request: czego użyć
Spakowany węzeł i węzeł HTTP Request docierają do tego samego API, więc to bardziej wybór utrzymaniowy niż różnica możliwości.
| Węzeł HTTP Request | Węzeł społeczności Elido | |
|---|---|---|
| Działa w n8n Cloud | Tak | Nie, tylko self-hosted |
| Punkty końcowe | Wszystkie | Create, Get, List, Get Analytics |
| Nagłówek Idempotency-Key | Dodajesz go sam | Niedostępny |
| Konfiguracja | Poświadczenie Header Auth plus ciało JSON | Typowane pola i poświadczenie Elido API |
| Najlepszy do | Przepływów produkcyjnych i wszystkiego nietypowego | Prostych przepływów utrzymywanych przez osobę spoza developmentu |
Moja zasada: buduj domyślnie na HTTP Request, bo działa w każdej edycji n8n i masz kontrolę nad każdym nagłówkiem, a sięgaj po węzeł społeczności na instancji self-hosted, gdy ktoś, kto nie czyta JSON-a, ma przejąć przepływ, i gdy jego cztery operacje pokrywają zadanie. Pełną listę punktów końcowych znajdziesz na stronie funkcji API i SDK, a jeśli model push pasuje lepiej niż odpytywanie, webhooki Elido obejmują stronę wychodzącą. Rozważasz zamiast tego narzędzia hostowane? Przeczytaj też przewodnik po Zapier.
Przeczytaj fundament → szybki start API i SDK skracacza URL
Powiązane na blogu
- Automatyzacja krótkich linków z Make i IFTTT - te same zadania na dwóch hostowanych platformach automatyzacji.
- Automatyzacja skracacza URL w Zapier - natywna aplikacja Zapier, bez self-hostingu.
- Webhooki dla zdarzeń linków - ładunki, sygnatury i zachowanie ponowień.
- Limity częstotliwości API i idempotencja - ponawianie bez duplikatów linków.
- Bot Slack do skracania linków i alerty - kiedy strona Slack zasługuje na własną aplikację.
- Automatyzacja linków z self-hosted n8n - Docker, reverse proxy i podpisane webhooki na własnym serwerze.
Najczęściej zadawane pytania
Czy n8n ma wbudowany węzeł skracacza URL?
Nie. n8n nie ma własnego skracacza, więc wywołujesz API REST skracacza z wbudowanego węzła HTTP Request albo instalujesz węzeł społeczności. Dla Elido węzeł HTTP Request to droga, która działa w każdej edycji n8n już dziś, a pakiet n8n-nodes-elido, opublikowany w npm, to typowana opcja dla instancji self-hosted.
Czy mogę zainstalować węzeł społeczności Elido w n8n Cloud?
Nie. n8n Cloud oferuje wyłącznie zweryfikowane węzły społeczności, a n8n-nodes-elido nie znajduje się na liście zweryfikowanych, więc wymaga instancji self-hosted. W Cloud użyj węzła HTTP Request z poświadczeniem Header Auth, które sięga do tego samego API Elido.
Jak skrócić adres URL w n8n bez węzła społeczności?
Dodaj węzeł HTTP Request, ustaw metodę na POST, a URL na https://api.elido.app/v1/workspaces/{workspace_id}/links, dołącz poświadczenie Header Auth niosące Twój token Bearer i wyślij ciało JSON z domain_id oraz destination_url. Odpowiedź zwraca slug nowego linku i gotowy short_url.
Gdzie znajdę domain_id dla krótkiego linku Elido?
Wywołaj GET /v1/workspaces/{workspace_id}/domains z tym samym poświadczeniem. Każdy element odpowiedzi ma id i hostname, więc wybierz domenę, na której mają żyć linki, i zakoduj na stałe jej id w wywołaniu tworzącym. Zachowaj hostname także na wypadek ręcznego budowania krótkiego URL, choć odpowiedzi już zawierają short_url.
Dlaczego API Elido zwraca 401 albo 403 w n8n?
401 oznacza, że token jest brakujący, błędnie wpisany albo unieważniony, więc utwórz go ponownie w Settings, API Tokens i wklej go z powrotem do poświadczenia Header Auth. 403 oznacza, że token jest ważny, ale nie ma uprawnień w tym workspace, co zwykle wskazuje na błędne ID workspace w URL, a nie na zły token.
Czy n8n może tworzyć niestandardowe slugi albo wygasające krótkie linki?
Tak. Dodaj pole slug do ciała tworzącego dla własnej końcówki na planach Starter i wyższych, albo pomiń je i Elido wygeneruje je samo. W przypadku wygaśnięcia dodaj znacznik czasu expires_at do tego samego ciała tworzącego albo wyślij PATCH na URL istniejącego linku z tym znacznikiem.
Wypróbuj Elido
Wklej URL, otrzymaj krótki link
Bez rejestracji. Link działa 30 dni. Zarejestruj się, aby zachować go na zawsze.
Za darmo, bez rejestracji · 2 dziennie