[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