REST-API und Webhooks
API-Schlüssel und Webhooks legen Sie in CleanOps unter Integrationen an. Alle Daten sind auf Ihre Organisation beschränkt.
Authentifizierung
curl -H "Authorization: Bearer co_live_…" \ https://cleanops.smarttimesolutions.app/api/v1/records?from=2026-09-01&to=2026-09-30
Antworten sind JSON. Zeiträume höchstens 366 Tage (Standard: letzte 30 Tage). Limit: 120 Anfragen pro Minute und Organisation. Fehler: 401 invalid_api_key, 429 rate_limited.
Endpunkte (GET)
GET /api/v1/sitesStandorte aus Ihren Verträgen, inkl. Reinigungsplan (RRULE).GET /api/v1/records?from=2026-09-01&to=2026-09-30Reinigungsnachweise mit Arbeitszeit, Checkliste, Bewertung und Hinweisen.GET /api/v1/tickets?from=…&to=…&status=OPENTickets (Mängel, Kundenmeldungen, Material).
Webhooks
CleanOps sendet POST mit JSON { type, createdAt, data } an Ihre HTTPS-Adresse. Zeitlimit 5 Sekunden, keine Weiterleitungen. Ereignisse: record.created, ticket.created, ticket.updated, ticket.escalated, audit.created.
Prüfen Sie jede Zustellung: X-CleanOps-Signature: sha256=… ist das HMAC-SHA256 des rohen Request-Bodys mit Ihrem Webhook-Geheimnis.
// Node.js
const expected = "sha256=" + crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
const ok = crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(req.headers["x-cleanops-signature"]));