Version 1.53.0

Einsatzbericht Editor

Textanpassung Foto hochladen

Der Text bei der Foto Galerie im Einsatzbericht Editor wurde angepasst. Damit ist sofort ersichtlich wie viele Fotos im Bericht bereits hochgeladen wurden.

Foto Ausrichtung

Von Smartphone aus hochgeladene Fotos behalten ihre Orientierung bei und werden im Einsatzbericht korrekt dargestellt. In einigen Fällen kam es dazu, dass ein Foto falsch angezeigt wurde. (Forum: Fehler beim Einfügen von Bildern)

Foto Wasserzeichen

Im Einsatzbericht hochgeladene Fotos erhalten jetzt, wie beim Fahrzeug, ein kleines unaufälliges Wasserzeichen.

REST API

Das wichtigste im Überblick:

  • Die REST API wurde allgemein überarbeitet und neue Endpunkte wurden hinzugefügt.
  • Änderungen gibt es im Bereich von bestehenden Endpunkten (Einsatzberichte/Webhook). Die JSON Struktur (Request / Response) hat sich zum Teil verändert.
  • Im Fehlerfall gesendete HTTP Status (Eintrag unbekannt, nicht authorisiert) orientieren sich jetzt an den allgemeinen HTTP Status Standards.
  • Neue API Benutzer Berechtigungen sind verfügbar!

Die API Dokumentation ist mit dem Update auf die Version 1.53.0 auf den neusten Stand gebracht: api.112log.de

Änderung der Struktur

Beim Anlegen, Abfragen und Aktualisieren von Daten (+ Webhook) wird jetzt ein vollständiges Objekt zurückgegeben. Dadurch hat sich die Struktur (Response) teilweise verändert. Im Falle einer Fehlermeldung (Duplikat erkannt, Eintrag nicht gefunden, etc.) wird dementsprechend der passende HTTP Status zurückgegeben; der vorherige HTTP 200 Status mit einer Fehlermeldung im JSON Body ist damit nicht mehr gegeben.

Betroffen sind folgende API Endpunkte:

* GET  /rest/v1/bericht/all
* GET  /rest/v1/bericht/(:uuid)
* PUT  /rest/v1/bericht
* POST /rest/v1/bericht/create

* GET  /rest/v1/bericht/create/alamos
* GET  /rest/v1/bericht/create/feuersoftware
* POST /rest/v1/bericht/create/divera247

Beispielabfrage Einsatzbericht

Bei der Abfrage von Einsatzberichten wird jetzt das vollständige Objekt mit Zusatzdaten zurückgegeben:

GET /rest/v1/bericht/0ff687b4-c617-3487-ab95-80237cfa7da5
{
    "bericht": {
        "uuid": "0ff687b4-c617-3487-ab95-80237cfa7da5",
        "ident": "2025-0005",
        "title": "Unklare Rauchentwicklung",
        "stichwort": "F_Erkundung",
        "content": "Am Morgen wurden wir zu einer Rauchentwicklung alarmiert....",
        "einsatzleiter": 850,
        "einsatzart": 2212,
        "einsatzort": "Neuer Weg, Stadt",
        "einsatz_start": {
            "date": "2025-01-22 18:11:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Berlin"
        },
        "einsatz_ende": {
            "date": "2025-01-28 20:00:00.000000",
            "timezone_type": 3,
            "timezone": "Europe/Berlin"
        },
        "anzeige": "visible",
        "hinweis": 1,
        "kraefte": 65
    },
    "einsatzart": {
        "label": "Brandeinsatz",
        "color_txt": "#ffffff",
        "color_bg": "#cc1508"
    },
    "alarmierungsart": [
        "Meldeempfänger",
        "Sirene"
    ],
    "einheiten": [
        {
            "id": 2212,
            "label": "Feuerwehr Mitte",
            "description": "Stadtfeuerwehr der Stadt Mitte",
            "url": "https://www.stadt-mitte.de"
        }
    ],
    "fahrzeuge": [
        {
            "id": 2186,
            "einheit": 2212,
            "label": "LF 10",
            "description": "",
            "url": ""
        },
        {
            "id": 2177,
            "einheit": 2212,
            "label": "TLF 16/25",
            "description": "",
            "url": ""
        }
    ],
    "anhang": []
}

Neue Endpunkte

Neu sind die Endpunkte der Zusatzdaten (Einheiten, Fahrzeuge, Alarmierungarten, Einsatzarten). Die Endpunkte sind alle gleich Struktuiert aufgebaut. Die Anzahl der Ergebnisse können per Query Parameter ?limit=5 limitiert werden.

GET /rest/v1/einheit
GET /rest/v1/einheit/:id
GET /rest/v1/einsatzart
GET /rest/v1/einsatzart/:id
GET /rest/v1/fahrzeug
GET /rest/v1/fahrzeug/:id
GET /rest/v1/person
GET /rest/v1/person/:id

API Dokumentation aufrufen

Neue API Benutzer Berechtigungen

Die Übersicht der API Benutzer wurde neu gebaut und um die neuen Berechtigungen erweitert.

Mit den neuen Endpunkten wurden die REST API Benutzer Berechtigungen erweitert. Damit kann ein API Benutzer in seiner Funktion eingeschränkt werden, so dass dieser nur noch auf z.B. den Endpunkt zum Abfragen von Alarmierungsarten und/oder Fahrzeuge berechtigt ist!

Fehlermeldungen

404 Not Found

Wird ein Eintrag abgefragt der nicht existiert, gibt die REST API den HTTP Status 404 mit folgender Meldung zurück:

{
    "status": 404,
    "error": 404,
    "messages": {
        "error": "Eintrag unbekannt"
    }
}

401 Unauthorized

Ist der Benutzer nicht authorisiert (Falscher Access Token, fehlende Berechtigung), gibt der Server den HTTP Status 401 Unauthorized zurück.

400 Bad Request

Beim Erstellen oder Aktualisieren von Daten kann ein Validierungsfehler auftreten. In diesem Fall wird der Server mit einem HTTP Status Code 400 und der Fehlermeldung antworten:

{
    "status": 400,
    "error": 400,
    "messages": {
        "stichwort": "Das Feld stichwort ist leer!"
    }
}

Webhook

Behandlung von "Mehrfache Alarmierung"

Die Erkennung von doppelten Webhook Request wurde optimiert. Ein Duplikat wird erkannt, wenn der Titel innerhalb von 5 Minuten mehrfach empfangen wird. Erkennt das System ein Duplikat, so werden die empfangenen Daten verworfen.

Hierfür muss die Option "Doppelte Alarmierung ignorieren" aktiv sein!

Verknüpfung gegebener Einheiten und Fahrzeuge

Die automatische Verknüpfung mit Einheiten und Fahrzeuge kommend aus einem Webhook anhand der gesetzen Webhook id (Einheiten & Fahrzeuge) wurde optimiert.

Intern

Performance

Die Geschwindigkeit wurde allgemein verbessert, indem Datenbankabfragen optimiert wurden und/oder das Ergebnis zwischengespeichert wird.

Die Verlinkungen zu den Versionshinweisen, dem Forum und der REST API wurden in der Navigation angepasst.

Server

  • Die Server wurden von PHP 8.2 auf PHP 8.3 aktualisiert <3
  • Externe Bibliotheken (composer) wurden allgemein mit aktualisiert.