Przejdź do treści

Integracja z n8n

Z n8n możesz automatycznie przetwarzać nadchodzące terminy odbioru odpadów – na przykład do powiadomień push, wiadomości Slack lub Matrix, akcji smart home lub własnych przepływów pracy. Integracja działa poprzez mechanizm webhook binable: binable wysyła codzienne żądanie HTTP POST do Twojego przepływu pracy n8n o godzinie 18:00, gdy odbiór przypada w skonfigurowanej liczbie dni.


1. Utwórz klucz API

Aby tworzyć webhooki, potrzebujesz najpierw klucza API.

Uzyskaj darmowy klucz API


2. Utwórz Webhook Trigger w n8n

Dodaj węzeł wyzwalacza Webhook jako pierwszy węzeł w swoim przepływie pracy n8n:

Aktywuj przepływ pracy (przełącznik „Active" w prawym górnym rogu), aby n8n udostępnił przychodzący adres URL. Pełny adres URL webhooka to:

https://<deine-n8n-instanz>/webhook/muell-abfuhr

3. Zarejestruj webhook w binable

Zarejestruj adres URL webhooka n8n przez API binable:

curl -X POST https://binable.app/api/webhook \
  -H "Authorization: ApiKey <dein-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://<deine-n8n-instanz>/webhook/muell-abfuhr",
    "daysBeforeCollection": 1,
    "street": "Musterstraße",
    "houseNumber": "1a",
    "zip": "12345",
    "city": "Musterstadt",
    "country": "DE"
  }'

Odpowiedź zawiera secret, którego potrzebujesz do opcjonalnej weryfikacji podpisu.


4. Przetwarzanie payload

Gdy odbiór przypada, binable wysyła POST z następującą treścią do Twojego webhooka n8n:

{
  "event": "upcoming_collection",
  "sent_at": "2024-01-14T18:00:00+00:00",
  "days_until": 1,
  "address": {
    "street": "Musterstraße",
    "houseNumber": "1a",
    "zip": "12345",
    "city": "Musterstadt",
    "country": "DE"
  },
  "collections": [
    { "type": "Restmüll", "date": "2024-01-15" },
    { "type": "Papier",   "date": "2024-01-15" }
  ]
}

W n8n pola są bezpośrednio dostępne przez węzeł webhook. Podłącz następnie dowolne węzły akcji – takie jak Send Email, Slack, Telegram, ntfy lub węzeł HTTP Request dla własnych systemów.


5. Opcjonalnie: weryfikacja podpisu

Każde przychodzące żądanie zawiera nagłówek X-Muell-Signature: sha256=<hmac>. Aby upewnić się, że żądanie faktycznie pochodzi z binable, możesz dodać węzeł Code przed swoimi akcjami w n8n, aby sprawdzić podpis:

const crypto = require('crypto');
const secret = '<dein-webhook-secret>';
const body = JSON.stringify($input.first().json);
const sig = $input.first().headers['x-muell-signature'];
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(body).digest('hex');
if (sig !== expected) throw new Error('Invalid signature');
return $input.all();

Więcej szczegółów na temat pełnego webhook API znajdziesz w dokumentacji integracji webhook. Webhook-Integrationsdokumentation.


← Przegląd integracji  ·  Pełna dokumentacja API (otwiera się w nowej karcie)