Trigger-Verwaltung (Channels)
Beschreibung
Der Nutzer des FdVs kann konfigurieren, welche Push Notifications er auf diesem Gerät erhalten möchte. Diese Konfiguration wird mit Hilfe von sogenannten Channels vorgenommen. Jeder Trigger im Fachdienst ist einem Channel zugeordnet. Die Liste der Trigger, Channel und die Zuordnung dieser wird durch das Fachspezifische Konzept vorgegeben. Es ist denktbar, dass mehrere Trigger den gleichen Channel bedienen. Beispiele hierfür wären, wenn die gleiche Notification von zwei verschiedenen Stellen ausgelöst werden kann oder auf Fachlicher Ebene Events gruppiert werden sollen oder müssen.
Die Liste der verfügbaren channel
ist als GET
Aufruf verfügbar. Das FdV kann die Liste der channel
in gruppen abbilden, um sie für den Nutzer übersichtlicher zu gestalten. Es kann auch vorkommen, dass das FdV nicht alle channel
abbildet und sie somit dem Nutzer nicht zur Verfügung stellt. In diesem Fall würde ein Trigger, dessen channel`
für einen Nutzer nicht als aktiv
konfiguriert wurde keine Push-Nachricht auslösen.
Der Fachdienst hat drei Endpunkte:
-
GET /channels/v1
- Ruft die Liste aller verfügbarenchannel
ab. -
GET /channels/v1/{pushkey}
- Ruft die Liste allerchannel
und deren Konfiguration für das Gerät mit dem Idnetifierpushkey
. -
POST /channels/v1/{pushkey}
- Sendet eine Aktualisierung an den Fachdienst um die Konfiguration vorzunehmen.
Die Auswahl des Nutzers hat drei Optionen enabled
, disabled
und not_set
. enabled
bedeutet, dass der Nutzer die Push Notification für diesen channel
aktiviert hat. disabled
bedeutet, dass der Nutzer die Push Notification für diesen channel
deaktiviert hat. not_set
bedeutet, dass für die FdV-Installation not_set
wird für den Trigger wie disabled
behandelt. Der Nutzer kann die Auswahl für jeden channel
treffen und speichern. Die Auswahl wird dann an den Fachdienst gesendet und dort gespeichert.
Beispiel
Es gibt drei verschiedene Arten von Push Notifications:
Dokument erstellen Dokument lesen Dokument löschen
Dafür gibt es drei verschiedene Trigger (sie können auch numerisch sein):
document.create document.read document.delete
Wenn das FdV einen Aufruf der Operation GET /channels/v1/{pushkey}
durchführt, wird eine Liste mit den drei channel
zurückgegeben. Diese werden dann im FdV angezeigt, damit der Nutzer entscheiden kann, welche er erhalten möchte. Beim ersten Mal haben alle den Status not_set
, da der Nutzer sich noch nicht entscheiden hat. Der Nutzer kann dann seine Auswahl treffen, und beim Speichern führt das FdV einen Aufruf der Operation POST /channels/v1/{pushkey}
` durch und sendet die neue Liste an den Fachdienst.
Die Liste kann so aussehen:
event_id | Status |
---|---|
|
|
|
|
|
|
Oder als JSON:
Details
{
"channel": [
{
"event_id": "document.create",
"status": "enabled"
},
{
"event_id": "document.read",
"status": "disabled"
},
{
"event_id": "document.delete",
"status": "enabled"
}
]
}