Preskoči na vsebino

Integracija n8n

Z n8n lahko prihajajoče termine odvoza samodejno obdelate – na primer za potisna obvestila, sporočila Slack ali Matrix, dejanja pametnega doma ali lastne delovne tokove. Integracija deluje prek mehanizma webhook v binable: binable vsak dan ob 18:00 pošlje HTTP POST na vaš delovni tok n8n, ko je odvoz na vrsti v nastavljenem številu dni.


1. Ustvarite ključ API

Za ustvarjanje webhookov najprej potrebujete ključ API.

Pridobite brezplačen ključ API


2. Ustvarite sprožilec Webhook v n8n

V svoj delovni tok n8n kot prvo vozlišče dodajte vozlišče sprožilca Webhook:

Aktivirajte delovni tok (preklopite „Active“ zgoraj desno), da n8n zagotovi dohodni URL. Celoten URL webhooka je:

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

3. Registrirajte webhook pri binable

URL webhooka n8n registrirajte prek 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"
  }'

Odgovor vsebuje secret, ki ga potrebujete za neobvezno preverjanje podpisa.


4. Obdelajte vsebino

Ko je odvoz na vrsti, binable na vaš webhook n8n pošlje POST z naslednjim telesom:

{
  "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" }
  ]
}

V n8n so polja neposredno na voljo prek vozlišča webhook. Nato povežite poljubna vozlišča z dejanji – na primer Send Email, Slack, Telegram, ntfy ali vozlišče HTTP Request za lastne sisteme.


5. Neobvezno: preverjanje podpisa

Vsak dohodni zahtevek vsebuje glavo X-Binable-Signature: sha256=<hmac>. Da zagotovite, da zahtevek res prihaja od binable, lahko pred svoja dejanja v n8n dodate vozlišče Code, ki preveri podpis:

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

Več podrobnosti o celotnem API webhook najdete v dokumentaciji integracije Webhook. Webhook-Integrationsdokumentation.


← Pregled integracij  ·  Celotna dokumentacija API (odpre se v novem zavihku)