docs icon indicating copy to clipboard operation
docs copied to clipboard

API zur Einsatzmonitor Verwaltung

Open strudelbeast opened this issue 3 years ago • 5 comments

Ich würde gerne automatisiert Termine (siehe #16 ) und Schwarzes Brett in unseren Einsatzmonitor eintragen. Wir nutzen das Schwarze Brett um die Kurs Liste aus FDISK einzutragen und dies würde ich gerne über eine Schnittstelle automatisieren.

Ich würde mich über dieses Feature sehr freuen. Wird es da in Zukunft eine Erweiterung der Schnittstelle geben?

strudelbeast avatar Jul 04 '21 18:07 strudelbeast

Hallo,

Ja ihr könnt über die Alarm-API Alarme vom Typ info anlegen mit einem startDate zum Zeitpunkt des Termins (Teilnehmer brauchst du hier keine). Über die Query API kannst du auch die zukünftigen Alarme / Termine abfragen. Am Besten wendest du dich kurz mit einem mail an [email protected] mit einem Link zu dem Issue und dann können wir die entsprechenden Zugangsdaten erstellen!

pmig avatar Jul 06 '21 16:07 pmig

Hallo pmig,

danke für die schnelle Antwort.

Heißt damit kann man im Einsatzmonitor (Ruheansicht) einen Termin eintragen, ohne das jemand eine Info bekommt, wenn man keine Alarmgruppe/Template einfügt.

Meine zweite Frage war ja, ob es auch möglich ist, in dem Schwarzen Brett etwas einzutragen. In unserem Fall wäre das, wie vorher erwähnt, eine Tabelle mit den Kursen. Dies ist noch nicht möglich laut der aktuellen API Dokumentation, oder liege ich da falsch?

strudelbeast avatar Jul 06 '21 20:07 strudelbeast

Meine zweite Frage war ja, ob es auch möglich ist, in dem Schwarzen Brett etwas einzutragen. In unserem Fall wäre das, wie vorher erwähnt, eine Tabelle mit den Kursen. Dies ist noch nicht möglich laut der aktuellen API Dokumentation, oder liege ich da falsch?

Aktuell ist dies noch nicht möglich - Ich evaluiere eine Erweiterung und melde mich anschließend hier!

pmig avatar Jul 07 '21 15:07 pmig

Lösung

Schwarzes Brett

Nach dem speichern beim Schwarzes Brett Editor wird ein PUT Request an https://api.blaulichtsms.net/blaulicht/api/portal/v1/secure/blackboard/CUSTOMERID geschickt.

Dieser besteht aus folgender Payload:

{
    "customerId": "<KID>",
    "content": "<CONTENT IN MARKDOWN FORMAT>",
    "creationDate": "<ISO 8601 Date>",
    "lastUpdateDate": "<ISO 8601 Date>",
    "lastUpdateAuthorId": "<USER ID>"
}

Beim Laden der Seite wird genau derselbe request nur mit der GET Methode geschickt.

Auth

Beim Request wird ein X-Token Header mit geschickt. Diesen bekommt man durch den Login Request:

POST https://api.blaulichtsms.net/blaulicht/api/portal/v1/login {"customerId":"","username":"","password":""} Response:

{
    "userId": "",
    "token": "",
    "roles": [""],
    "customers": [
        {
            "customerId": "",
            "name": "",
            "productType": ""
        }
    ],
    "language": "",
    "surname": "",
    "givenname": "",
    "email": "",
    "superAdmin": false,
    "mfaEnabled": false,
    "forcePasswordChange": false
}

In der Response Payload kommt der "token" vor, der als X-Token Header weiterverwendet werden kann.

Fazit

Ist es möglich diese portal zu dokumentieren/zu veröffentlichen?

strudelbeast avatar Dec 01 '21 18:12 strudelbeast

Hi @strudelbeast ,

Unsere portal API ist eine interne API, die sich regelmäßig ändern kann, aktuell gibt es noch keine öffentliche API. Natürlich ist es möglich unsere interne REST-API reverse zu engineeren. Ich empfehle aber die Verwendung auf keinen Fall. Zusätzlich würde deine Methode zu abnormal vielen Login-Requests führen und früher oder später wohl geblockt werden.

Wir arbeiten an einer öffentlichen API, die mittels der Dashboard API funktioniert.

Grüße, Philip

pmig avatar Dec 02 '21 09:12 pmig