Webhook Integratie
Met webhooks kunt u elk systeem proactief informeren over aankomende inzameldatums – zonder polling. müll.io stuurt een HTTP POST naar uw URL zodra een inzameling is gepland in het geconfigureerde aantal dagen.
Webhooks kunnen rechtstreeks via de API worden aangemaakt en verwijderd. Gebruiksscenario's: n8n / Make automatiseringen, Discord- of Slack-bots, ntfy.sh-berichten, domoticasystemen of aangepaste applicaties.
1. API-sleutel aanmaken
Om webhooks aan te maken, heeft u eerst een API-sleutel nodig. Registreer uw e-mailadres en u ontvangt uw sleutel per e-mail.
2. Webhook aanmaken
Stuur een POST-verzoek naar /api/webhook met uw API-sleutel in de header. Het adres wordt rechtstreeks in de verzoekbody doorgegeven.
curl -X POST https://müll.io/api/webhook \
-H "Authorization: API-KEY <dein-api-key>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://mein-server.example/webhook",
"daysBeforeCollection": 1,
"street": "Musterstraße",
"houseNumber": "1a",
"zip": "12345",
"city": "Musterstadt",
"country": "DE"
}'
Het antwoord bevat het id en geheim van de webhook:
{
"id": "018f1e2a-3b4c-7d5e-8f9a-0b1c2d3e4f56",
"url": "https://mein-server.example/webhook",
"secret": "a3f8b1c2d4e5...",
"daysBeforeCollection": 1,
"active": true
}
3. Payload & handtekeningverificatie
müll.io stuurt dagelijks om 18:00 uur een POST naar alle actieve webhooks wanneer een inzameling gepland is in het geconfigureerde aantal dagen:
{
"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" }
]
}
Elk verzoek bevat de header X-Muell-Signature: sha256=<hmac>. Verificatie in Node.js:
const crypto = require('crypto');
function verifySignature(body, secret, signatureHeader) {
const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(body)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signatureHeader)
);
}
4. Webhook verwijderen
curl -X DELETE https://müll.io/api/webhook/018f1e2a-3b4c-7d5e-8f9a-0b1c2d3e4f56 \
-H "Authorization: API-KEY <dein-api-key>"
Bij succes antwoordt de server met HTTP 204 (geen body).
← Overzicht integraties · Volledige API-documentatie (opent in nieuw tabblad)