Przejdź do treści
Nawigacja główna
Wszystkie integracje

n8n

Jak to przebiega:Na własnym serwerze lub w chmurze: Twój workflow uruchamia timer według planu lub przy każdym zdarzeniu.

W n8n węzeł „Webhook” odbiera zdarzenia stąd, a węzeł „HTTP Request” wywołuje API. Działa to w n8n Cloud i na własnym serwerze, o ile adres webhooka jest dostępny z internetu przez HTTPS.

Odbieranie zdarzeń i sprawdzanie podpisu:

  1. Utwórz workflow z węzłem „Webhook”, metoda POST, i skopiuj „Production URL”.
  2. Dodaj adres w Ustawienia, Webhooki i zanotuj sekret, jest pokazywany tylko raz.
  3. W węźle webhooka włącz „Raw Body” w sekcji „Options” i dołącz węzeł „Code” z poniższym przykładem. Na własnym serwerze musi być ustawione NODE_FUNCTION_ALLOW_BUILTIN=crypto.
Przykład (javascript)
const crypto = require('crypto');
const secret = 'whsec_YOUR_SECRET';
const header = $json.headers['x-horaka-signature'] ?? '';
const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')));
const body = Buffer.from($binary.data.data, 'base64').toString('utf8');
const expected = crypto
    .createHmac('sha256', secret)
    .update(`${parts.t}.${body}`)
    .digest('hex');
if (expected !== parts.v1) {
    throw new Error('Signature does not match');
}
return [{ json: JSON.parse(body) }];

Sterowanie timerem z workflow:

  1. W Ustawienia, API i urządzenia utwórz urządzenie lub token z uprawnieniem „Wyzwalacz”.
  2. W n8n utwórz dane uwierzytelniające typu „Header Auth”: nazwa Authorization, wartość Bearer i Twój token.
  3. Dodaj węzeł „HTTP Request” i wpisz poniższe wartości.
Przykład (text)
Method:         POST
URL:            https://api.horaka.com/v1/track/toggle
Authentication: Generic Credential Type, Header Auth
Send Body:      on, Body Content Type JSON
JSON:           {"project": "PROJEKT"}

Odzyskaj godziny, które oddajesz za darmo.

Konto założysz w minutę. Przez 14 dni testujesz Premium bez podawania danych płatniczych, a potem korzystasz dalej z Free lub od 4,90 € miesięcznie ze wszystkim do rozliczania.