Erweiterung Routing API um EfA-Parameter
Um eine Parametrisierung von Onlinediensten anhand der für die empfangende Fachbehörde hinterlegten Parameter zu ermöglichen, soll der /routes
-Endpunkt der Routing API um weitere Attribute erweitert werden (Projekt EfA-Parametrisierung).
Relevante Bemerkungen
Links
- Preview der Routing API: https://preview.docs.fitko.dev/routing-api/efa-parameters/#get-/routes
- Merge-Request der Routing API: routing-api!21 (merged)
- Abruf Testdaten aus PVOG über Suchdienst API: https://public.demo.pvog.dataport.de/suchdienst/api/v1/servicedescriptions/064350014014/jzufi?q=TEST100000.LB.LeistungsId_01
- Testdatensätze: https://git.fitko.de/foederale-it/xzufi-testdatensaetze-efa-parametrisierung
Details für die Implementierung
-
In der API-Spezifikation sind Hinweise zur Auffindbarkeit der Parameter in der Suchdienst API des PVOG als Kommentar zu finden. Siehe z.B. https://git.fitko.de/fit-connect/routing-api/-/blob/efa-parameters/schemas/route.yaml#L34 -
Über die Suchdienst API nicht abrufbare Parameter (Parameter nicht gesetzt) werden über die Routing API nicht ausgegeben (Parameter sind optional). -
Das Attribut destinationLogo
soll zukünftig ebenfalls über die Suchdienst API abgerufen werden können. -
Für das Attribut processingDuration
muss eine Filterung nach Gültigkeitszeitraum erfolgen. In den über die Suchdienst API verfügbaren Bearbeitungsdauerm sind ggf. Gültigkeitszeiträume angegeben. Der Routingdienst filtert Bearbeitungsdauern nach Gültigkeit (modulBearbeitungsdauer.bearbeitungsdauer.gueltigkeit), sodass nur aktuell gültige Werte zurückgegeben werden (sofern Gültigkeit gepflegt). Hierzu werden mind. die in https://git.fitko.de/foederale-it/parametrisierung/-/issues/27 genannten Sonderfälle berücksichtigt. -
Die angegebene unit
derprocessingDuration
wird im Routingdienst gemäß Abschnitt "III.B.1.13 Codeliste Zeiteinheit" der XZuFi-Spezifikation und der Spezifikation der Routing API in englische Bezeichner übersetzt (z.B. "Woche" -> "week"). Es werden alle in der Codeliste angegebenen Zeiteinheiten berücksichtigt. -
Im Attribut customParameters
können weitere Parameter aus der Suchdienst API übernommen werden (Objekteparameters.filter(name="efa.custom.*")
in der Suchdienst API). Custom Parameter haben jeweils einen einfachen Datentyp (string
,int
,float
oderboolean
). Verschachtelte Datenstrukturen werden hier nicht unterstützt.
Akzeptanzkriterien
-
Alle in der API-Spezifikation neu hinzugefügten Parameter sind anhand eines Beispiels (-> Testdatensatz) über die Routing API abrufbar. -
Alle oben beschriebenen Anmerkungen zur Implementierung sind berücksichtigt. -
Die Änderungen sind auf der Testumgebung ausgerollt. -
Für den Abruf aller Parameter existieren Unit Tests.
Edited by Markus Flögel