Für Integratoren
Diese Dokumente beschreiben die Nachrichtenformate, die eine Steuerung senden muss, um sich mit Feldmelder Cloud zu verbinden: das Tracker Telemetry Protocol (MQTT mit TLS-Clientzertifikaten), die Anlagengeometrie-Datei und die JSON-Schemas, mit denen jede Nachricht geprüft wird. Die REST-API gibt mit berechtigten Tokens Zugriff auf Ihre eigenen Daten.
REST-API v1 1.2.0
openapi.jsonBasis-URL: https://app.feldmelder.de/api/v1. Übersicht des OpenAPI-Dokuments (nur lesen); maßgeblich ist openapi.json.
auth
-
POST
/auth/login200 400 401 403 429Sign in and create an app sessionBody: device_name, email, password, platform, totp -
POST
/auth/refresh200 401Exchange a refresh token for new tokens (the old refresh token becomes invalid)Body: refresh_token -
POST
/auth/logout200 401 403Sign this device out (revokes the session and its push registration)
app
-
GET
/me200 401Profile, memberships, current organisation, scopes and push preferencesX-Tenant-Id -
PUT
/me/push-preferences200 400 403Set which alarms are pushed to this user's devices -
GET
/me/sessions200 403Signed-in devices (app sessions) of this user; the calling device is marked current -
DELETE
/me/sessions/{session_id}200 403 404Sign another device of this user out (as "Abmelden" on the profile page)session_id -
POST
/devices200 400 403Register this device for push notifications (Firebase Cloud Messaging token)Body: platform, push_token -
DELETE
/devices200 403Remove this device's push registration
plants
-
GET
/plants200 401Plants of the organisationX-Tenant-Id, limit, offset -
GET
/plants/summary200 401Plants with status, tracker count, open alarms and time of the last dataX-Tenant-Id, limit, offset -
GET
/plants/{plant_id}200 404One plantplant_id, X-Tenant-Id -
GET
/plants/{plant_id}/trackers200 404Trackers of a plantplant_id, X-Tenant-Id, limit, offset -
GET
/plants/{plant_id}/latest200 404Latest state of every tracker and controller of a plantplant_id, X-Tenant-Id -
GET
/trackers/{tracker_id}200 404One trackertracker_id, X-Tenant-Id -
GET
/trackers/{tracker_id}/latest200 404Latest state of one trackertracker_id, X-Tenant-Id -
GET
/trackers/{tracker_id}/series200 400 40415-minute aggregates of one tracker (at most 31 days)tracker_id, X-Tenant-Id, from, to
alarms
-
GET
/alarms200 401Alarms (open, acknowledged, closed), newest firstX-Tenant-Id, state, severity, plant_id, since, limit, offset -
GET
/alarms/{alarm_id}200 404One alarm (target of a tapped push notification, data field alarm_id)alarm_id, X-Tenant-Id -
POST
/alarms/{alarm_id}/ack200 403 404 409Acknowledge an open alarm (scope alarms:ack; app users with the acknowledge right)alarm_id, X-Tenant-Id · Body: comment
commands
-
GET
/plants/{plant_id}/commands200 404Command history of a plantplant_id, X-Tenant-Id, limit, offset -
POST
/plants/{plant_id}/commands202 400 401 403 409Send a signed stow or release (back to sun tracking) command – app tokens only, fresh TOTP codeplant_id, X-Tenant-Id · Body: totp, trackers, type -
GET
/commands/{cmd_id}200 404One command with its acknowledgementcmd_id, X-Tenant-Id
devices-enrollment
-
GET
/openapi.json200This document as JSON (server URL of the installation) -
POST
/enroll200 202 400Controller enrolment with a claim code and a CSR (TTP v1, docs/protocol/ttp-v1.md) -
GET
/enroll/{enrollment_id}200 202 404Poll a pending enrolment (header X-Enroll-Token)enrollment_id, X-Enroll-Token