[Epic] ZSD 2.0
## Warum <!-- Erläutern Sie den Grund/die Ursache für diese Anforderung in Form einer User Story. --> Die Einführung jährlicher Major Releases im Herbst bietet die Möglichkeit, schon länger anstehende breaking Changes wie das Entfernen abgekündigter Bestandteile oder die Bereinigung von inhomogenen Bezeichnungen umzusetzen. ## Ziel <!-- Erläutern Sie den Wert dieser Anforderung in Form einer User Story. --> Der Zustelldienst und v.a. seine APIs sollen sauber, transparent und gut wartbar gehalten werden. ## Links, Hinweise, Bemerkungen <!-- Sammlung von Hinweisen, die beim Schreiben / Implementieren hilfreich sind. --> ## Stories <!-- - Jede Story ist eindeutig einem Team zugeordnet. - Die Reihenfolge der Stories ist entscheidend. - Die chronologische Reihenfolge sollte im Epic ersichtlich sein. - Fügen Sie ein Quality Gate ein, um den Zwischenstand zu sichern - Stories erst nach QG fertig! --> ### Reihenfolge entsprechend der Prio: - [x] Voraussetzung: API-Repositorys auf neue Major-Versionen vorbereiten planning#3369 - [x] Voraussetzung: Setup des Zustelldiensts für die Unterstützung der neuen API-Major-Version planning#3370, darin ist auch enthalten: Unterstützung für Legacy Trailing-Slashes in Pfaden muss nicht mit übernommen werden, d.h. aus `GET /v1/cases` und `GET /v1/cases/` wird nur `GET /v2/cases` - [x] /v2/info sollte die v2 Versionen der APIs liefern planning#3447 - [x] GET destination in der Submission API nur noch als öffentlicher Endpunkt ~"component::Submission-API" planning#3319 - [x] Metadaten v2 - [x] Array submissionIds in den Webhooks optional ~"component::Submission-API" planning#3323 - [x] Event `forward-submission` abkündigen / entfernen ~"component::Submission-API" planning#3420 - [x] 'jwk.use' nicht mehr rausgeben ~"component::Destination API" ~"component::Submission-API" planning#3325 - [x] Abgekündigtes Objekt 'Callback' nicht mehr ausgeben ~"component::Submission-API" planning#3326 - [x] 'destination.replyChannels' auf Root-Ebene nicht mehr rausgeben und nicht mehr annehmen ~"component::Destination API" ~"component::Submission-API" planning#3328 - [x] Vereinheitlichung `serviceType` vs. `service` vs. `publicServiceType` ~"component::Destination API" ~"component::Submission-API" planning#499 - [x] Versenden von Einreichungen (Submissions) ohne Fachdaten nicht mehr erlauben (required `encryptedData`) ~"component::Submission-API" planning#322 - [x] HTTP response codes vereinheitlichen planning#3428 - [x] Kompression wird unterbunden planning#2849 ### Metadaten v2 - [x] Metadatensatz modularisieren - Basis ~"component:Metadatenschema" planning#3320 - [x] Zustimmung zum elektronischen Bescheid in den Metadaten ~"component:Metadatenschema" planning#3188 - [x] Absenderinfo in den Metadaten ~"component:Metadatenschema" planning#3242 - [x] `$schema` verpflichtend im Metadatensatz ~"component:Metadatenschema" planning#3452 bzw. planning#572 - [x] finkPostfachRef`-RegEx erlaubt Übergabe eines leeren Strings ~"component:Metadatenschema" planning#1301 ## Akzeptanzkriterien 1. [ ] Der ZSD bietet die neuen Versionen der APIs parallel zu der jeweiligen letzten Version der v1 an. 2. [ ] Die Spezifikationen der neuen API-Versionen wurden erstellt, veröffentlicht und dokumentiert. planning#3400 3. [ ] ... 4. [ ] ... 5. [ ] [Definition of Done](https://wiki.fit-connect.dev/de/Allgemeines/Teamvereinbarung#definition-of-done-dod) wurde überprüft. ## Mögliche Folgeaktivitäten <!-- - Alle Maßnahmen, die nach der PO-Genehmigung der Stories zu ergreifen sind. - Maßnahmen für zukünftige Epics/Stories identifizieren. - Erstellen Sie Stories nicht zu früh/übereilt - Verwendung/ Abgrenzung für "Tailoring" Epics --> ## Offene Fragen <!-- -Jeder kann Fragen eingeben (besonders nützlich vor der Verfeinerung) - PO differenziert und leitet die Ergebnisse an die Arbeitsgruppen weiter -->
epic