n8n entegrasyonu
n8n ile yaklaşan toplama tarihlerini otomatik olarak işleyebilirsiniz – örneğin push bildirimleri, Slack veya Matrix mesajları, akıllı ev eylemleri ya da kendi iş akışlarınız için. Entegrasyon binable'nin webhook mekanizması üzerinden çalışır: binable, ayarlanan gün sayısı içinde bir toplama yaklaştığında her gün saat 18:00'de n8n iş akışınıza bir HTTP POST gönderir.
1. API anahtarı oluşturun
Webhook oluşturabilmek için önce bir API anahtarına ihtiyacınız var.
2. n8n'de webhook tetikleyicisi oluşturun
n8n iş akışınıza ilk düğüm olarak bir Webhook Trigger düğümü ekleyin:
- HTTP Method:
POST - Path: serbestçe seçilebilir, ör.
muell-abfuhr - Authentication: boş bırakılabilir – imza doğrulaması bir sonraki adımda yapılır
- Respond:
Immediately
İş akışını etkinleştirin (sağ üstte "Active" seçeneğini açın), böylece n8n gelen URL'yi sağlar. Tam webhook URL'si şu biçimdedir:
https://<deine-n8n-instanz>/webhook/muell-abfuhr
3. Webhook'u binable'ye kaydedin
n8n webhook URL'sini binable API üzerinden kaydedin:
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"
}'
Yanıt, isteğe bağlı imza doğrulaması için gereken bir secret içerir.
4. Payload'ı işleyin
Bir toplama yaklaştığında binable, n8n webhook'unuza aşağıdaki gövdeyle bir POST gönderir:
{
"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" }
]
}
n8n'de alanlar doğrudan webhook düğümü üzerinden kullanılabilir. Ardından dilediğiniz eylem düğümlerini bağlayın – örneğin Send Email, Slack, Telegram, ntfy veya kendi sistemleriniz için bir HTTP Request düğümü.
5. İsteğe bağlı: İmza doğrulaması
Gelen her istek X-Muell-Signature: sha256=<hmac> başlığını içerir. İsteğin gerçekten binable'den geldiğinden emin olmak için n8n'de eylemlerinizin önüne bir Code düğümü ekleyip imzayı doğrulayabilirsiniz:
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();
Tam webhook API''si hakkında daha fazla ayrıntıyı webhook entegrasyon dokümantasyonunda bulabilirsiniz. Webhook-Integrationsdokumentation.
← Entegrasyonlara genel bakış · Tam API dokümantasyonu (yeni sekmede açılır)