Skip to content

[Java SDK] - Vereinfachte Reply Erstellung

User Story

Als Nutzer der SDK, möchte ich dass bei einer Abholung einer Submission die für eine spätere Reply relevanten Informationen in einem signierten Token verpackt werden, die ich dann speichern kann um zu einem späteren Zeitpunkt auf Basis des Tokens eine Reply einfach erstellen kann.

Änderung der User Story nach Abstimmung mit dem Kunden

Als Nutzer der SDK in meiner Software, möchte ich, dass ein Reply unabhängig von der Submission-ID gesendet werden kann. Zudem möchte ich als Anbindungsmanagement (BA), dass Accept-Event als Quittung für unsere Behörden nutzen. Daher habe ich als Behörde nur zwei Möglichkeiten:

  1. Speicherung der encryptionPublicKey JSON Web Key (JWK) sowie der SubmissionID bei Ihnen, sodass das Accept Event vor dem Reply durchgeführt werden kann. => Mehraufwand beim Hersteller bei der Implementierung
  2. Das Accept Event wird nach dem Reply durchgeführt. => Nicht korrekter Eingang, sodass Probleme mit der Quittung stattfinden bzw falsche Zeiteingänge quittiert werden

Warum

Im Support wurde der Wunsch geäußert die Erstellung von Replys nocheinmal zu reviewen und die aktuelle Lösung `Reply.from(sentSubmission)` zu überdenken. Im Grunde werden neben den Fachdaten und Attachments nur die CaseId benötigt.

Eine Vereinfachung und die Trennung von der gesendeten Submission würde die Erstellung von Replies vereinfachen.

Die Submission-API sendet eine Rückantwort an einen Online-Dienst ohne Bezug auf eine Submission-ID, es ist immer nur die Case-ID notwendig, um eine Rückantwort zu senden. Durch die Verwendung bin ich gezwungen, eine Submission anzugeben, obwohl ich nach einem Accept oder Reject diese Information nicht mehr aus dem Zustelldienst abfragen kann.

Eine Methode, die es ermöglicht, eine Rückantwort mit der Übergabe einer Case-ID und des öffentlichen Verschlüsselungsschlüssels würde eine Umsetzung startk erleichtern.

Links, Hinweise, Bemerkungen

Wunsch von der BA: "Aktuell ist es über das SDK nur möglich einen Reply zu einer Submission zu verschicken https://docs.fitko.de/fit-connect/docs/sdks/java-sdk/receiver/#auf-eine-submission-antworten. Dies ist auch nur möglich so lange die Submission noch nicht Rejected oder Accepted wurde. Was wir bräuchten wäre eine Möglichkeit einen SendableReply zu einen Case über das SDK zu verschicken. Analog zu dem wie es in der API (https://docs.fitko.de/fit-connect/docs/apis/submission-api/#post-/v1/replies) möglich ist. Also etwas was man wie folgt verwenden kann:

ReceivedCase myCase = subscriberClient.requestCase(caseId);
SendableReply sendableReply = SendableReply.from(myCase)
    .setJsonData(getReplyJsonData(), URI.create("my:urn"))
    .addAttachment(Attachment.fromPath(Path.of("fitconnect/data/reply-attachment.txt"), "application/pdf"))
    .build();
SentReply sentReply = subscriberClient.sendReply(sendableReply);

Wir würden uns dabei wünschen dass Fitconnect das aktuellste JWK für den Case aus den bestehenden Submissions ermittelt und dann zur Verschlüsselung der Replies verwendet. Damit können wir dann auch mit einem Reply antworten wenn bereits alle Submission accepted oder rejected wurden."

Akzeptanzkriterien

  1. Vorschlag zur Serialisierung des Objektes in der Doku ergänzen (am besten sowohl für Java als auch für .NET) - Pedro
  2. Bei einer Submission mit einer FIT-Connect Reply Option soll ein signierter (mit den Keys des FV) Token abgerufen werden können, welcher die notwendigen Information für die Erstellung einer Reply beinhaltet.
    • Zur Erstellung der Antwort: (CaseID, public Keys des Senders, ggf. Zulässige Prozessstandards,…)
    • Zur Sortierung (SubmissionID, Datum der Submission)
    • --> Wird in #3617 bearbeitet
  3. Reply soll mit dem Token als Parameter zum späteren Zeitpunkt erstellt werden können (hier inkl. Prüfung der Signatur) --> Wird in #3617 bearbeitet
  4. Snapshot Release wurde der BA bereitgestellt
  5. kein Breaking Change (optional)
  6. Dokumentation

Mögliche Folgeaktivitäten (vom Entwickler zu ergänzen)

Edited by Laura Elges