Vai al contenuto

Integrazione n8n

Con n8n puoi elaborare in modo automatizzato le date di raccolta imminenti – ad esempio per notifiche push, messaggi Slack o Matrix, azioni Smart Home o workflow personalizzati. L'integrazione funziona tramite il meccanismo webhook di binable: binable invia ogni giorno alle 18:00 una richiesta HTTP POST al tuo workflow n8n, quando una raccolta è prevista entro il numero di giorni configurato.


1. Creare una chiave API

Per poter creare webhook, hai bisogno prima di una chiave API.

Richiedi una chiave API gratuita


2. Creare un trigger webhook in n8n

Aggiungi al tuo workflow n8n come primo nodo un nodo Webhook Trigger:

Attiva il workflow (in alto a destra attiva "Active"), affinché n8n fornisca l'URL in entrata. L'URL completo del webhook ha la forma:

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

3. Registrare il webhook su binable

Registra l'URL del webhook n8n tramite l'API di 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"
  }'

La risposta contiene un secret che ti serve per la verifica facoltativa della firma.


4. Elaborare il payload

Quando una raccolta è imminente, binable invia una richiesta POST con il seguente body al tuo webhook 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" }
  ]
}

In n8n i campi sono disponibili direttamente tramite il nodo Webhook. Collega poi qualsiasi nodo di azione – ad esempio Send Email, Slack, Telegram, ntfy o un nodo HTTP Request per sistemi personalizzati.


5. Opzionale: verifica della firma

Ogni richiesta in entrata contiene l'header X-Muell-Signature: sha256=<hmac>. Per assicurarti che la richiesta provenga effettivamente da binable, puoi inserire in n8n un nodo Code prima delle tue azioni e verificare la firma:

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();

Ulteriori dettagli sull'API webhook completa sono disponibili nella documentazione dell'integrazione webhook. Webhook-Integrationsdokumentation.


← Panoramica delle integrazioni  ·  Documentazione API completa (si apre in una nuova scheda)