Öffentliche Connect Schnittstelle

Du bist hier:
< Alle Themen

Allgemeines

Diese Schnittstelle ist angedacht, um anderen die Möglichkeit zu geben unsere Connect Plattform zu nutzen und um von Synergieeffekten zu profitieren.

Die Schnittstelle kann auf Organisations- und auf Standortebene aktiviert werden. Im Gegensatz zum auf Standortebene erstellten Token, können auf Organisationsebene die Entitäten aller Standorte verwaltet werden. Unter “Schnittstellen” => „Öffentliche Connect-Schnittstelle“ kann ein Zugriffs-Token erstellt werden, welches später zur Authentifizierung und Autorisierung der API-Aufrufe benötigt wird. Bitte achtet darauf, dass das Token nicht in „fremde“ Hände gerät, da jeder, der dieses Token kennt, Alarme erzeugen kann. Über die Schnittstelle habt ihr die gleichen Möglichkeiten wie der EinsatzMonitor, d. h. Connect unterscheidet nicht zwischen einem EinsatzMonitor- oder einem API-Einsatz. Es werden die gleichen Routinen im Hintergrund ausgeführt. Einsätze die älter als 120 Minuten sind, werden von der Zusatzalarmierung ausgenommen und somit nicht an die Handys und EinsatzMonitore gepusht. Da wir auf Datensicherheit sehr großen Wert legen, ist die Schnittstelle nur unter dem HTTPS-Protokoll (mindestens TLS 1.1, besser TLS1.2) erreichbar und überträgt die Daten somit auch nur verschlüsselt.

Wir behalten uns vor, den API Key für weitere Einsätze zu sperren, sollte unser System den Versuch eines (D)DOS Angriffes erkennen (Überlast des Servers erzeugen). Die maximale Anzahl an Einsätzen ist auf 5 Einsätze pro Minute und 25 Einsätze pro Stunde begrenzt. Wird eine größere Anzahl benötigt, könnt ihr uns über die gewohnten Kanäle kontaktieren.

Aktivieren der Schnittstelle


Zum Aktivieren der Öffentlichen Connect Schnittstelle wechseln Sie zum Punkt “Schnittstellen” und “Öffentliche Connect Schnittstelle”. Nach einem Klick auf Aktivieren wird ihr Authentifizierungsschlüssel angezeigt.

Achtung: Mit diesen Schlüssel haben sie vollen Zugriff auf Ihren Standort der Organisation. Behandeln Sie den Schlüssel vertraulich.

Der Authentifizierungsschlüssel kann sowohl auf Organisationsebene als auch auf Standortebene für jeden Standort separat erzeugt werden.

Allgemeines

Die Schnittstelle akzeptiert ausschließlich Daten im JSON-Format (siehe Wikipedia https://de.wikipedia.org/wiki/JavaScript_Object_Notation). 
Die vollständige Beschreibung der API ist unter Swagger zu finden. Auf dieser Seite werden lediglich einige Beispiele genauer erklärt.

Die API Dokumentation ist auf Swagger:
http://connectapi.feuersoftware.com/swagger/ui/index

Authentifizierung

Die Authentifizierung an der API Schnittstelle erfolgt mit dem im Connect Portal erstellten API Key. Dieser muss im Authorization Header des GET / POST Request als Bearer Token angegeben werden.

Headers 
Authorization: bearer {token} 
Accept: application/json 
Content-Type: application/json 

Übersicht der Operatoren

Die Stamm URL der Public API lautet:

https://connectapi.feuersoftware.com/interfaces/public/

Controller Operation

https://connectapi.feuersoftware.com/interfaces/public/operation

Möglichkeiten zur Nutzung:
– Erstellen von Einsätzen (Mit oder ohne Alarmierung)
– Aktualisieren von Einsätzen
– Abbrechen von Einsätzen
– Beenden von Einsätzen
– Rückmeldungen von Benutzern setzen
– Rückmeldungen zu Einsätzen abrufen

Beispiel

POST /interfaces/public/operation

{
   "Start": "2021-02-07T20:55:49.637Z",
   "End": "2021-02-07T20:55:49.637Z",
   "Status": "new",
   "AlarmEnabled": true,
   "Keyword": "string",
   "Address": {
     "Street": "string",
     "HouseNumber": "string",
     "ZipCode": "string",
     "City": "string",
     "District": "string"
   },
   "Position": {
     "Latitude": 0,
     "Longitude": 0
   },
   "Facts": "string",
   "Ric": "string",
   "Number": "string",
   "Properties": [
     {
       "Key": "string",
       "Value": "string"
     }
   ],
   "AlarmedVehicles": [
     {
       "Id": 0,
       "RadioIdentifier": "string"
     }
   ]
 }
PropertyValue
StartDatum (ISO 8601), Pflicht (Einsatzzeitstempel)
EndDatum (ISO 8601)
Status‘new’, ‘update’, ‘cancel’, ‘close’
AlarmEnabledboolean, (optional)
KeywordString, Pflicht, max. 255 Zeichen (Stichwort)
AdressString, optional, max. 255 Zeichen (Adresse). Sie können sowohl strukturierte Daten übergeben (Bevorzugte Variante), als auch einen String mit allen Daten übergeben.
PositionLatitude: Number, (Breitenangabe), Longitude: Number, (Längenangabe)
FactsString, max. 255 Zeichen (Sachverhalt)
RicString, max. 255 Zeichen (RIC). Mehrere RICs sind möglich.
NumberString, (Einsatznummer)
PropertiesArray von Objekten (Zusatzinfos)
AlarmedVehiclesArray von Objekten (Alarmierte Fahrzeuge)

Controller Geocoding

https://connectapi.feuersoftware.com/interfaces/public/geoconding

Möglichkeiten zur Nutzung
– Positionsermittlung für Adressen

Controller PasswordCheck

https://connectapi.feuersoftware.com/interfaces/public/passwordCheck

Möglichkeiten zur Nutzung
– Überprüfung des Nutzerpasswortes auf Kompromitierung

Controller Alarmgroup

https://connectapi.feuersoftware.com/interfaces/public/alarmgroup

Möglichkeiten zur Nutzung
– Anzeigen von Nutzern einer Alarmgruppe
– Hinzufügen von Nutzern zu einer Alarmgruppe

{
        "Id": 12345,
        "Name": "1. Löschzug",
        "Users": [
            {
                "Id": "5896481b-8270-47e1-a365-abcde12345",
                "FirstName": "Max",
                "LastName": "Mustermann",
                "Email": "max.mustermann@gmail.de",
                "UserName": "max.mustermann@gmail.de",
                "PagerIssi": null
            }
        ],
        "Site": {
            "Id": 9439,
            "Name": "Feuerwehr Flammenhausen"
        }
    }
PropertyValue
IdEindeutige ID der Alarmgroup, integer
NameName der Alarmgroup, string
SiteArray, zugeordneter Standort mit ID und Name
IdBenutzerID, string, optional
FirstNameVorname, string, optional
LastNameNachname, string, optional
E-MailE-Mail, string, optional
UsernameBenutzername, String, optional
PagerISSIISSI Pager, String, optional

Controller Billing

Hinweis: Funktioniert nur auf Organisationsebene. Bitte den API Key Ihrer Organisation verwenden.

https://connectapi.feuersoftware.com/interfaces/public/billing/account

Möglichkeiten zur Nutzung
– Anzeigen von UserAccounts mit Standortzuordnung
– Anzeige von EinsatzMonitor Accounts
– Anzeige von EinsatzManager Accounts
– Anzeige von API Accounts
– Anzeige von FahrzeugApp Accounts

Controller News

https://connectapi.feuersoftware.com/interfaces/public/news

Möglichkeiten zur Nutzung
– Abrufen von News
– Erstellen von News

{
        "Id": 12345,
        "Title": "Dienstplan Online",
        "Content": "Der Dienstplan für das nächste Halbjahr ist nun online!",
        "CreatedBy": "Max Mustermann",
        "Start": "2021-03-06T00:00:00+01:00",
        "End": "2021-03-20T00:00:00+01:00",
        "Groups": [],
        "MailingLists": [],
        "Site": "Feuerwehr Flammenhausen"
    }
PropertyValue
IdEindeutige ID der News, integer, optional
TitleTitel der News, string, optional
ContentInhalt der News, string, optional
CreatedByNews angelegt von, string, optional
StartStartdatum
EndEnddatum
GroupsSichtbarkeit auf bestimmte Gruppen eingeschränkt, Array
MailingListNews zusätzlich an MailingList, Array
SiteSite in der die News veröffentlicht wurde, String

Controller User

https://connectapi.feuersoftware.com/interfaces/public/user

Möglichkeiten zur Nutzung
– Abruf der Verfügbarkeit eines Benutzers
– Abrufen von Benutzern und Benutzerdetails
– Anzeigen des Aktivierungsstatus
– Standortzuordnungen von Usern anzeigen

[
    {
        "AccountStatus": "Activated",
        "Address": {
            "Address": "Flammenstraße 9, 12345 Flammenhausen",
            "Street": "Flammenstraße",
            "HouseNumber": "9",
            "ZipCode": "12345",
            "City": "Flammenhausen",
            "District": null,
            "CityWithDistrict": "Flammenhausen",
            "CityWithDistrictAndZipCode": "12345 Flammenhausen",
            "StreetWithHouseNumber": "Flammenstraße 9",
            "Lng": 0.0,
            "Lat": 0.0
        },
        "PhoneNumber": null,
        "LandlineNumber": null,
        "BluetoothBeacons": [],
        "Sites": [
            {
                "Id": 5,
                "Name": "Feuerwehr Flammendorf Nord"
            },
            {
                "Id": 9439,
                "Name": "Feuerwehr Flammenhausen"
            }
        ],
        "Id": "5896481b-0000-0000-a365-abcde1234567",
        "FirstName": "Max",
        "LastName": "Mustermann",
        "Email": "max.mustermann@gmail.com",
        "UserName": "max.mustermann@gmail.com",
        "PagerIssi": null
    }
PropertyValue
AccountStatusString, ‘activated’, ‘deactivated’, ‘invited’
AddressArray der Adresse
PhoneNumberTelefonnummer, String, optional
LandLineNumberTelefonnummer, String, optional
BluetoothBeaconsBluetooth Beacon ID, String, optional
IdUserID, String, optional
FirstNameVorname, String, optional
LastNameNachname, String, optional
E-MailE-Mail, String, optional
UserNameBenutzername, String, optional
PagerISSIISSI des Pagers, String, optional

Controller Vehicle

https://connectapi.feuersoftware.com/interfaces/public/vehicle

Möglichkeiten zur Nutzung
– Fahrzeuge mit allen Informationen abrufen
– Status von Fahrzeugen setzen
– Position (Latitude, Longitude) von Fahrzeugen setzen

Beispiel
Get /interfaces/public/vehicle

{
        "Id": 12345,
        "RadioId": "1234567",
        "PlaceName": "Flammenhausen",
        "OrganizationCallSign": "Florian",
        "LocationIdentificationNumber": 1,
        "VehicleIdentifier": "46",
        "Subdivision": 1,
        "Description": "HLF 20",
        "Crew": 9,
        "Phone": null,
        "Site": {
            "Id": 9439,
            "Name": "Feuerwehr Flammenhausen"
        },
        "CallSign": "Florian Flammenhausen 1-46-1"
    }
PropertyValue
IdEindeutige ID, integer, optional
RadioIDFunkgerätekennung(ISSI), string, optional
PlaceNameStandort, string
OrganizationCallSignOrganisationskennwort, string
LocationIdentificationNumberStandortkennzahl, integer, optional
VehicleIdentifierFahrzeug, string
SubdivisionUnterteilung, integer, optional
DescriptionBeschreibung, string
CrewBesatzung, integer
PhoneTelefonnummer, string, optional
Sitezugeordnete Standorte, optional
Call SignFunkrufname, string, optional, readonly

Beispiel
POST /interfaces/public/vehicle/{radioId}/status

Die Variable {radioId} gibt die Funkgerätekennung (ISSI) des entsprechenden Fahrzeuges an.

{
   "Status": 0,
   "Position": {
     "Latitude": 0,
     "Longitude": 0
   },
   "StatusTimestamp": "2021-02-07T20:55:49.723Z",
   "PositionTimestamp": "2021-02-07T20:55:49.723Z"
 }
PropertyValue
StatusNumber [0-9], optional (Funkstatus)
PositionLatitude: Number, (Breitenangabe), Longitude: Number, (Längenangabe)
StatusTimestampDatum (ISO 8601), TimeStamp
PositionTimestampDatum (ISO 8601), TimeStamp

Beispiel: Status Upload mit PowerShell

Ein Beispiel für ein POST Request mit Microsoft Powershell.

# Variablen 
 $bearer_token = "Hier Token einfügen"
 $Status = "Hier Status (1-9) einfügen"
 $Lat = "Hier Latitude Wert einfügen"
 $Long = "Hier Longitude Wert einfügen"
 $RadioID = "Funkgerätekennung (ISSI) hier einfügen"

 # Body
 $body = @{
     status = "$Status"
     position = @{
         Latitude  = "$Lat"
         Longitude = "$Long"
     }
 }
 $Body = ($Body | ConvertTo-Json) 

 # Header
 $Header = @{
         "authorization" = "Bearer $bearer_token"
     }
     $Parameters = @{
         Method      = "POST"
         Uri         = "https://connectapi.feuersoftware.com/interfaces/public/vehicle/$RadioID/status"
         Headers     = $Header
         ContentType = "application/json"
         Body        = $Body
     }
 # Aufruf
 Invoke-RestMethod @Parameters

Einsatz Upload Tool

Das Tool EinsatzUpload richtet sich an alle, die nicht selbst Programmieren möchten aber dennoch von einem anderen Programm einen Einsatz in Connect erstellen möchten.

Parameter die ein Leerzeichen enthalten müssen mit " beginnen und mit " abgeschlossen werden. Zum Beispiel: "Ich bin ein Test, den ich gerne übergeben möchte"
Parameter:
-S, –Stichwort Required.
-A, –Adresse Required.
-K, –ApiKey Required.
-R, –Ric
-E, –EinsatzNummer
-F, –Sachverhalt
-a, –Lat
-n, –Lng
-U, –UpdateStrategy None/ByNumber/ByAddress/ByPosition
-s, –EinsatzStatus New/Update/Cancel/Close
–help Display this help screen.
–version Display version information.

Status Upload Tool

Hiermit kann ganz einfach ein Fahrzeugstatus zu unserer Connectplattform gesendet werden.

Einsatzupload.exe “ConnectKey” “FahrzeugKennung” “Status”
Einsatzupload.exe "f34f3hrewrwed4dc34t4vt3zurewb2b6543c52c525q345wqe5vwev5a5a3" "225643" "1"

Beiträge aus der Community

Folgende Beiträge stammen aus der Feuersoftware Community

Zurück Statistik Monitor
Weiter TetraControl2Connect
Inhaltsverzeichnis