FIT-Connect Submission API: Liste abholbereiter Einreichungen um zusätzliche Attribute erweitern
Dieser Verbesserungsvorschlag bezieht sich auf die FIT-Connect Submission API (https://docs.fitko.de/fit-connect/docs/apis/submission-api ).
Ist-Zustand
Durch GET-Abfrage an den Endpunkt /v1/submissions
der FIT-Connect Submission API kann ein Client eine Liste an abholbereiten Einreichungen abfragen. Die erfolgreiche Response auf diese Abfrage beinhaltet ein JSON, das z.B. wie folgt aussieht:
{
"count": 3,
"offset": 0,
"totalCount": 3,
"submissions": [
{
"destinationId": "879ee109-a690-4db8-ab32-424284184d7d",
"submissionId": "ce75a6b8-d72f-4b94-b09e-af6be35bc2ae",
"caseId": "e89e107e-ed79-40e6-ad34-4e770f9df261"
},
{
"destinationId": "19c8489b-29b8-422f-b7db-919852cfb04b",
"submissionId": "e364430f-5a3b-4284-ba9a-f2867ba421e6",
"caseId": "e89e107e-ed79-40e6-ad34-4e770f9df262"
},
{
"destinationId": "80a0aac3-148d-42bb-9366-516ce6355348",
"submissionId": "530ba588-2db9-4899-ab0d-0c0b57689271",
"caseId": "e89e107e-ed79-40e6-ad34-4e770f9df263"
}
]
}
Zu jeder Einreichung sind in der Response also jeweils nur folgende 3 Attribute enthalten: destinationId
, submissionId
und caseId
.
Die Liste der Einreichungen ist nicht für den Client nachvollziehbar sortiert. Neu eingetroffene Einreichungen können bei der nächsten Abfrage auch mitten in der Liste auftauchen.
Verbesserungsvorschlag
Bei der prototypischen Implementierung eines FIT-Connect-Clients haben wir festgestellt, dass für jede Einreichung in der Liste abholbereiter Einreichungen zusätzliche Attribute nützlich wären:
-
Eine Art
created_at
und/oderupdated_at
Zeitstempel.
Dies könnte im Falle voncreated_at
z.B. die Zeit des'create-submission'
-Events sein, aber eventuell ist stattdessen auch einsubmitted_at
-Zeitstempel, der auf dem'submit-submission'
-Event basiert, für Empfänger-Clients relevanter. Beiupdated_at
könnte generell die Zeit des letzten Event Log-Eintrags verwendet werden.
Mindestens einer der vorgeschlagenen Zeitstempel wäre schon hilfreich dabei, für den Client eine Sortierung der Liste zu ermöglichen und ggf. leichter (ohne zusätzliche Requests, die teilweise Entschlüsselung der Antworten erfordern) nachzuvollziehen, wo es Änderungen gab oder welche der Einreichungen aufgrund von Fristen zuerst bearbeitet werden sollte. -
Die
serviceType
-Informationen der Submission (selbe Daten wie aus der GET-Abfrage an/v1/submissions/{submissionId}
).
Um die Responses schlank zu halten, macht es natürlich Sinn, in die Liste abholbereiter Einreichungen nicht sämtliche Submission-Inhalte zu packen. Aber zumindest die Aufnahme derserviceType
-Informationen zu den Listeneinträgen würde es dem Client erleichtern direkt die abholbereiten Submissions zu klassifizieren (und Name, Description oder Identifier zu verwenden - z.B. für eine Anzeige in User Interface des Clients), ohne dass für jeden Listeneintrag erst die vollständige Submission heruntergeladen werden muss.