Nytt

Webhooks & Zapier

Utgående webhooks på händelser (t.ex. booking.created) så ni kan automatisera i era egna system — eller koppla in Zapier/Make och nå tusentals appar. Varje leverans signeras med HMAC (X-Vaschego-Signature) så ni kan verifiera att den kommer från oss.

Så kopplar du på

Admin → Integrationer → Automatisering & data → kortet Webhooks → lägg till en endpoint-URL (t.ex. en Zapier Catch Hook) och kopiera signeringshemligheten. Välj vilka händelser du vill prenumerera på (eller alla). Leveranser + status syns i loggen, och du kan köa om en misslyckad leverans manuellt.

Händelser du kan prenumerera på

  • booking.created — En bokning skapades.
  • booking.updated — En bokning ändrades.
  • booking.cancelled — En bokning togs bort.
  • booking.released — Ett pass lämnades tillbaka tidigt (frigjordes).
  • slot.released — En pågående användning frigjordes för nästa i tur.
  • slot.claimed — Ett frigjort pass togs över.
  • checkin — In-/utcheckning registrerades (t.ex. övernattningslägenhet).
  • checkout — En incheckning ångrades.
  • fault.reported — En felanmälan gjordes på en resurs.

Så ser en leverans ut

Varje leverans är en POST med JSON-body och signatur-headers. occurred_at och resource_slug finns alltid med; extra fält beror på händelsen.

POST <din-endpoint-URL>
X-Vaschego-Event: booking.created
X-Vaschego-Delivery: 7f3c…  (unikt id per leverans)
X-Vaschego-Timestamp: 1754130000
X-Vaschego-Signature: sha256=<hex>

{
  "event": "booking.created",
  "org_id": "…",
  "resource_id": "…",
  "resource_slug": "tvattstugan",
  "occurred_at": "2026-08-02T10:00:00Z",
  "apartment": "1204",
  "date": "2026-08-05"
}

Verifiera signaturen

Räkna ut HMAC-SHA256 av den råa request-bodyn med din endpoints hemlighet och jämför med X-Vaschego-Signature (konstant tid). Avvisa det som inte stämmer.

// Node: verifiera signaturen med din endpoints hemlighet
import crypto from 'node:crypto';

function isValid(rawBody, signatureHeader, secret) {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', secret)
    .update(rawBody)          // exakt rå request-body
    .digest('hex');
  const a = Buffer.from(signatureHeader);
  const b = Buffer.from(expected);
  return a.length === b.length && crypto.timingSafeEqual(a, b);
}

Exempel: booking.created → Zapier → lås upp dörren via Parakey. Kopplar du ett Parakey-lås till en resurs (Integrationer → Passage & laddning, sedan i resursens uppsättning) bär varje boknings-event ett parakey-objekt med lås-id, så din Zap kan ge en nyckel för just bokningens tidsfönster. En endpoint som svarar med fel upprepade gånger stängs av automatiskt (du kan slå på den igen i admin). Gratis hos vaschego; du betalar bara din egen automationssida.

Redo att koppla på?

Aktivera integrationerna i din organisations inställningar, eller hör av dig med frågor.