Aller au contenu

Intégration n8n

Avec n8n, vous pouvez traiter automatiquement les prochaines dates de collecte – par exemple pour des notifications push, des messages Slack ou Matrix, des actions de maison intelligente ou des flux de travail personnalisés. L'intégration fonctionne via le mécanisme de webhook de müll.io : müll.io envoie quotidiennement à 18h00 un HTTP POST à votre flux de travail n8n lorsqu'une collecte est due dans le nombre de jours configuré.


1. Créer une clé API

Pour créer des webhooks, vous avez d'abord besoin d'une clé API.

Obtenir une clé API gratuite


2. Créer un déclencheur Webhook dans n8n

Ajoutez un nœud déclencheur Webhook comme premier nœud dans votre flux de travail n8n :

Activez le flux de travail (basculez « Active » en haut à droite) pour que n8n fournisse l'URL entrante. L'URL complète du webhook est :

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

3. Enregistrer le webhook auprès de müll.io

Enregistrez l'URL du webhook n8n via l'API müll.io :

curl -X POST https://müll.io/api/webhook \
  -H "Authorization: API-KEY <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 réponse contient un secret dont vous avez besoin pour la vérification de signature optionnelle.


4. Traiter le payload

Lorsqu'une collecte est due, müll.io envoie un POST avec le corps suivant à votre 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" }
  ]
}

Dans n8n, les champs sont directement disponibles via le nœud webhook. Connectez ensuite n'importe quel nœud d'action – comme Envoyer un e-mail, Slack, Telegram, ntfy ou un nœud de requête HTTP pour des systèmes personnalisés.


5. Optionnel : Vérification de signature

Chaque requête entrante contient l'en-tête X-Muell-Signature: sha256=<hmac>. Pour vous assurer que la requête provient bien de müll.io, vous pouvez ajouter un nœud Code avant vos actions dans n8n pour vérifier la signature :

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

Plus de détails sur l'API webhook complète se trouvent dans la documentation d'intégration webhook. Webhook-Integrationsdokumentation.


← Aperçu des intégrations  ·  Documentation API complète (ouvre dans un nouvel onglet)