コンテンツへスキップ

n8n 連携

n8n を使えば、今後の収集日を自動的に処理できます。プッシュ通知、Slack や Matrix のメッセージ、スマートホームのアクション、独自のワークフローなどに活用できます。連携には binable の Webhook の仕組みを使います。設定した日数後に収集が予定されると、binable が毎日 18:00 に n8n ワークフローへ HTTP POST を送信します。


1. API キーを作成

Webhook を作成するには、まず API キーが必要です。

無料の API キーを取得


2. n8n で Webhook Trigger を作成

n8n ワークフローの最初のノードとして Webhook トリガーノードを追加します:

ワークフローを有効にします(右上の「Active」を切り替え)。これで n8n が受信用 URL を提供します。Webhook の完全な URL は次のとおりです:

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

3. binable に Webhook を登録

binable API で n8n の Webhook URL を登録します:

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"
  }'

レスポンスには secret が含まれます。これは任意の署名検証に必要です。


4. ペイロードを処理

収集が予定されている場合、binable は次のボディで n8n の Webhook に POST を送信します:

{
  "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 では、各フィールドを Webhook ノードから直接利用できます。その後に Send Email、Slack、Telegram、ntfy、独自システム向けの HTTP Request ノードなど、任意のアクションノードを接続してください。


5. 任意:署名の検証

受信する各リクエストには X-Binable-Signature: sha256=<hmac> ヘッダーが含まれます。リクエストが本当に binable から送られたものかを確認するには、n8n のアクションの前に Code ノードを追加して署名をチェックできます:

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

Webhook API 全体の詳細は、Webhook 連携のドキュメントをご覧ください。 Webhook-Integrationsdokumentation.


← 連携機能の一覧  ·  API ドキュメント全文 (新しいタブで開きます)