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.
2. Utwórz Webhook Trigger w n8n
Dodaj węzeł wyzwalacza Webhook jako pierwszy węzeł w swoim przepływie pracy n8n:
- HTTP Method:
POST - Path: dowolnie wybierana, np.
muell-abfuhr - Authentication: może pozostać puste – weryfikacja podpisu odbywa się w następnym kroku
- Respond:
Immediately
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)