Webhooks

Outbound webhooks: project.completed, checklist.completed en job.ready.

Webhooks en Events

Outbound webhooks zitten in KLICBOT API en KLICBOT PRO. Configureer de URL in het dashboard onder Instellingen, bij API en integraties, of stuur webhook_url per GIS-job. KLICBOT POSTt JSON naar die URL wanneer een event firet.

Huidige scope: drie eventtypen. Optioneel HMAC: header X-Klicbot-Signature: sha256=… als webhook_secret op het bedrijf staat. Test met bv. webhook.site, daarna een echte levering.

Live events

Event Wanneer
project.completed KLIC-aanvraag / project is gereed (levering beschikbaar)
checklist.completed WIBON-checklist afgerond
job.ready GIS-job: alle Kadaster-delen geleverd; samengevoegde export klaar

Envelope

Elke POST heeft deze vorm:

{
  "event": "project.completed",
  "company_id": "cmp_…",
  "company_name": "Voorbeeld BV",
  "timestamp": "2026-05-21T08:45:12.123456+00:00",
  "data": { }
}

Voorbeeld: project.completed

{
  "event": "project.completed",
  "company_id": "cmp_…",
  "company_name": "Voorbeeld BV",
  "timestamp": "2026-05-21T08:45:12.123456+00:00",
  "data": {
    "order_id": "26O0123456",
    "project_name": "Sleuf Hoofdstraat",
    "address": "Hoofdstraat 1, Amsterdam",
    "status": "GEREED",
    "pdf_url": "https://klicbot.nl/…",
    "submitted_at": "2026-05-20T14:02:00+00:00"
  }
}

Velden als pdf_url / submitted_at kunnen null zijn als ze nog niet gezet zijn.

Voorbeeld: checklist.completed

{
  "event": "checklist.completed",
  "company_id": "cmp_…",
  "company_name": "Voorbeeld BV",
  "timestamp": "2026-05-21T09:10:00.000000+00:00",
  "data": {
    "order_id": "26O0123456",
    "checklist_responses": { },
    "compliance_pdf_url": "https://klicbot.nl/…"
  }
}

Best practices

  • Unieke webhook-URL per integratie
  • Idempotente verwerking (retries mogelijk)
  • Antwoord met 2xx na persist (timeout ~10s aan onze kant)
  • Als webhook_secret is gezet: verifieer X-Klicbot-Signature (sha256= + hex HMAC van de raw body)

Voorbeeld: job.ready

{
  "event": "job.ready",
  "company_id": "cmp_…",
  "timestamp": "2026-09-01T10:00:00+00:00",
  "data": {
    "job_id": "GIS-…",
    "status": "ready",
    "klic_type": "ORIENT",
    "client_ref": "LU-WORK-88",
    "order_ids": ["26O…", "26O…"],
    "part_count": 3,
    "geojson_url": "https://klicbot.nl/api/v1/jobs/GIS-…/geojson",
    "shp_url": "https://klicbot.nl/api/v1/jobs/GIS-…/export?format=shp",
    "gpkg_url": "https://klicbot.nl/api/v1/jobs/GIS-…/export?format=gpkg"
  }
}

Zie ook API Overview en klic-api-koppeling.