Saltar para o conteúdo

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.

Obter chave de API gratuita


2. Criar o Webhook Trigger no n8n

Adicione um nó Webhook trigger como primeiro nó do seu fluxo de trabalho n8n:

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.


← Vista geral das integrações  ·  Documentação completa da API (abre num novo separador)