Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API zur Einsatzmonitor Verwaltung #22

Open
strudelbeast opened this issue Jul 4, 2021 · 5 comments
Open

API zur Einsatzmonitor Verwaltung #22

strudelbeast opened this issue Jul 4, 2021 · 5 comments

Comments

@strudelbeast
Copy link

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?

@pmig
Copy link
Contributor

pmig commented Jul 6, 2021

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!

@strudelbeast
Copy link
Author

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?

@pmig
Copy link
Contributor

pmig commented Jul 7, 2021

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!

@strudelbeast
Copy link
Author

strudelbeast commented Dec 1, 2021

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?

@pmig
Copy link
Contributor

pmig commented Dec 2, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants