Fara beint í efni

Webhook-samþætting

Með webhooks geturðu upplýst hvaða kerfi sem er fyrir fram um komandi sorphirðudaga – án reglulegra fyrirspurna. binable sendir HTTP POST á slóðina þína um leið og sorphirða er á dagskrá eftir tilgreindan fjölda daga.

Hægt er að búa til og eyða webhooks beint í gegnum API-ið. Notkunardæmi: n8n / Make-sjálfvirkni, Discord- eða Slack-vélmenni, ntfy.sh-skilaboð, heimilissjálfvirknikerfi eða eigin forrit.


1. Búðu til API-lykil

Til að búa til webhooks þarftu fyrst API-lykil. Skráðu netfangið þitt og þú færð lykilinn sendan í tölvupósti.

Fáðu ókeypis API-lykil


2. Búðu til webhook

Sendu POST-beiðni á /api/webhook með API-lyklinum þínum í hausnum. Heimilisfangið er sent beint í meginmáli beiðnarinnar.

curl -X POST https://binable.app/api/webhook \
  -H "Authorization: ApiKey <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"
  }'

Svarið inniheldur id og secret webhooksins:

{
  "id": "018f1e2a-3b4c-7d5e-8f9a-0b1c2d3e4f56",
  "url": "https://mein-server.example/webhook",
  "secret": "a3f8b1c2d4e5...",
  "daysBeforeCollection": 1,
  "active": true
}
Leyndarmálinu (secret) er aðeins skilað einu sinni – þegar webhookinn er búinn til. Geymdu það á öruggum stað, þú þarft það til að sannreyna undirskriftina.

3. Gögn (payload) og sannprófun undirskriftar

binable sendir POST á alla virka webhooks daglega kl. 18:00 þegar sorphirða er á dagskrá eftir tilgreindan fjölda daga:

{
  "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" }
  ]
}

Hver beiðni inniheldur hausinn X-Binable-Signature: sha256=<hmac>. Sannprófun í 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. Eyða webhook

curl -X DELETE https://binable.app/api/webhook/018f1e2a-3b4c-7d5e-8f9a-0b1c2d3e4f56 \
  -H "Authorization: ApiKey <dein-api-key>"

Ef aðgerðin tekst svarar þjónninn með HTTP 204 (ekkert meginmál).


← Yfirlit yfir samþættingar  ·  Öll API-skjölunin (opnast í nýjum flipa)