Integração do n8n
Com o n8n pode processar automaticamente as próximas datas de recolha – por exemplo, para notificações push, mensagens Slack ou Matrix, ações de casa inteligente ou fluxos de trabalho próprios. A integração funciona através do mecanismo de webhook do binable: o binable envia diariamente, às 18:00, um HTTP POST para o seu fluxo de trabalho n8n quando uma recolha está prevista dentro do número de dias configurado.
1. Criar chave de API
Para criar webhooks, precisa primeiro de uma chave de API.
2. Criar o Webhook Trigger no n8n
Adicione um nó Webhook trigger como primeiro nó do seu fluxo de trabalho n8n:
- HTTP Method:
POST - Path: de escolha livre, por exemplo
muell-abfuhr - Authentication: pode ficar vazio – a verificação da assinatura é feita no passo seguinte
- Respond:
Immediately
Ative o fluxo de trabalho (interruptor "Active" no canto superior direito) para que o n8n disponibilize o URL de entrada. O URL completo do webhook é:
https://<deine-n8n-instanz>/webhook/muell-abfuhr
3. Registar o webhook no binable
Registe o URL do webhook n8n através da API do 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"
}'
A resposta contém um secret de que precisa para a verificação opcional da assinatura.
4. Processar o payload
Quando uma recolha está prevista, o binable envia um POST com o seguinte corpo para o seu 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" }
]
}
No n8n, os campos estão diretamente disponíveis através do nó de webhook. Ligue depois quaisquer nós de ação – como Send Email, Slack, Telegram, ntfy ou um nó HTTP Request para sistemas próprios.
5. Opcional: verificação da assinatura
Cada pedido recebido contém o cabeçalho X-Binable-Signature: sha256=<hmac>. Para garantir que o pedido provém realmente do binable, pode acrescentar um nó Code antes das suas ações no n8n para verificar a assinatura:
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();
Mais detalhes sobre a API de webhook completa encontram-se na documentação da integração de webhook. Webhook-Integrationsdokumentation.
Também poderá gostar
← Vista geral das integrações · Documentação completa da API (abre num novo separador)