Für Entwickler
Loox Cam 360 API.
Feed-Metadaten, Standbilder und Gerätetelemetrie je Baustellenkamera lassen sich in eigene Systeme einbinden — Bauleitungs-Dashboards, Wachdienst-Software, Bautagesbericht. Alarme kommen per Webhook, nicht per Polling.
Demo-Attrappe — keine echte API, alle Endpunkte sind fiktiv.
Authentifizierung.
Jede Anfrage benötigt den Header X-Loox-Key mit dem API-Schlüssel des Kundenkontos. Fehlt der Header oder ist der Schlüssel ungültig, antwortet die API mit 401 Unauthorized.
GET /v1/feeds/:token
Metadaten eines Kamera-Feeds — Status, Masthöhe, Stream- und Snapshot-URL.
Anfrage
curl -H "X-Loox-Key: <ihr-api-key>" \ https://api.loox.demo/v1/feeds/cam-hafenbau
Antwort — 200 OK
{
"token": "cam-hafenbau",
"status": "active",
"site_name": "Baustelle Hafendamm",
"mast_height_m": 7,
"hls_url": "https://stream.loox.demo/cam-hafenbau/index.m3u8",
"snapshot_url": "https://api.loox.demo/v1/feeds/cam-hafenbau/snapshot",
"updated_at": "2026-09-07T08:12:00Z"
}GET /v1/feeds/:token/snapshot
Liefert ein aktuelles JPEG-Standbild des Feeds (Content-Type: image/jpeg) — geeignet für periodische Snapshots ohne Videostream.
Anfrage
curl -H "X-Loox-Key: <ihr-api-key>" \ https://api.loox.demo/v1/feeds/cam-hafenbau/snapshot \ -o snapshot.jpg
Telemetrie je Gerät.
Jede Einheit meldet einmal je Tag ihren Zustand. Diese Datenpunkte stehen zur Verfügung — sie sind zugleich die Grundlage für Alarme und für den automatisch eingeplanten Servicebesuch.
| Feld | Bedeutung | Einheit | Hinweis |
|---|---|---|---|
| gps | GPS-Position | lat/lng | Standortabweichung löst einen Alarm aus |
| battery_pct | Ladezustand LiFePO4 | % | unter 20 % Meldung „niedrige Batterie“ |
| pv_watts | PV-Leistung | W | aktueller Ertrag des Dachmoduls |
| camera_active | Kamera aktiv | bool | spiegelt den Betriebsmodus |
| mast_out | Kameramast ausgefahren | bool | 7,00 m in Endstellung |
| signal | Mobilfunk-Signal | 0–5 | LTE/5G, verschlüsselt |
| fill_pct | Füllstand Sammelsystem | % | optional — löst ab 80 % den Service aus |
| uses_today | Nutzungen des Tages | Anzahl | Grundlage der Füllstandsfortschreibung |
| last_seen | Letzter Kontakt | ISO-8601 | bleibt das Gerät still, ist Fernwartung fällig |
GET /v1/devices/:serial
Zustand einer Einheit über ihre Seriennummer. Zeitangaben sind UTC nach ISO 8601, Prozentwerte ganzzahlig. Eine Einheit ohne Kameramodul liefert 404, eine Seriennummer außerhalb des eigenen Kontos ebenfalls.
Anfrage
curl -H "X-Loox-Key: <ihr-api-key>" \ https://api.loox.demo/v1/devices/LX-K-003
Antwort — 200 OK
{
"serial": "LX-K-003",
"site_name": "Baustelle Hafendamm",
"unit_status": "GESTELLT",
"mode": "NORMAL",
"battery_pct": 62,
"pv_watts": 148,
"signal": 4,
"mast_out": true,
"camera_active": true,
"charging_point_on": true,
"fill_pct": 71,
"uses_today": 9,
"gps": { "lat": 53.3591, "lng": 7.2061 },
"last_seen": "2026-09-07T06:00:00Z"
}Alarm-Webhooks.
Alarme lassen sich nicht sinnvoll pollen — ein Manipulationsalarm um 3:40 Uhr ist um 8:00 Uhr keine Meldung mehr, sondern ein Protokolleintrag. Deshalb schiebt Loox sie: Sobald ein Gerät meldet, geht ein POST an die im Konto hinterlegte URL, signiert im Header X-Loox-Signature (HMAC-SHA256 über den Rohkörper). Antwortet der Empfänger nicht mit 2xx, wird bis zu fünfmal mit wachsendem Abstand erneut zugestellt.
Zustellung — POST an Ihre URL
{
"event": "device.alarm.raised",
"alarm_id": "alm_8f21c4",
"kind": "FUELLSTAND",
"serial": "LX-K-003",
"message": "Füllstand 85 %",
"order_number": "LX-2026-0042",
"site_name": "Baustelle Hafendamm",
"created_at": "2026-09-08T06:00:00Z"
}| kind | Auslöser |
|---|---|
| MANIPULATION | Erschütterungs-/Türsensor außerhalb eines Servicefensters |
| BATTERIE | Ladezustand unter 20 % |
| STANDORT | GPS-Position weicht von der hinterlegten Stellfläche ab |
| FUELLSTAND | Sammelsystem ab 80 % — löst zugleich den Servicebesuch aus |
Je Einheit und Art liegt immer höchstens ein offener Alarm an: Erst wenn die Disposition quittiert hat, kann dieselbe Meldung erneut auflaufen. Das Quittieren selbst wird als device.alarm.acknowledged mit demselben alarm_id zugestellt.
Embed-Snippet.
Für eine Live-Ansicht ohne API-Integration lässt sich der öffentliche Kamera-Link direkt einbetten (siehe auch Kundenportal → Kameras):
<iframe src="https://loox.demo/cam/cam-hafenbau" width="640" height="360" style="border:0" allow="autoplay" title="Loox Cam 360" ></iframe>
Ratenlimits.
| Endpunkt | Limit |
|---|---|
| GET /v1/feeds/:token | 60 Anfragen / Minute |
| GET /v1/feeds/:token/snapshot | 12 Anfragen / Minute |
| GET /v1/devices/:serial | 60 Anfragen / Minute |
| Alle Endpunkte (Konto) | 1.000 Anfragen / Tag |
Überschreitung → 429 Too Many Requests
Hinweis
Diese Seite ist eine Demo-Attrappe zur Veranschaulichung der geplanten Loox-Cam-API. Es existiert kein produktiver Endpunkt unter den gezeigten URLs.