1. Definitionen
Datenaustauschformat: Bestimmt das Format, in dem die Daten strukturiert werden. Alle Formate sind UTF-8 kodiert mit Ausnahme von TXT (für Excel wird ISO-8859-1 verwendet). Alle Datumsangaben werden im Format yyyy-MM-dd angegeben, Zeitangaben als HH:mm, des Weiteren wird UTC als Zeitzone genutzt. Bei CSV und TXT wird „X“ als „true“ verwendet, eine leere Angabe bedeutet „false“.
Transportformat: Bestimmt, wie die Daten zwischen Sender und Empfänger ausgetauscht werden
Zeit: Für exportierte Daten kann gewählt werden, ob sie generiert werden sollen, sobald der Kurstag abgeschlossen wurde, bei jeder Änderung oder zum Tagesende (23:59)
2. Datenaustauschformate
2.1 CSV-EASY und CSV-ZIP
Es existieren 2 Unterformate: Kursliste und Anwesenheitsliste, jeweils im CSV Format mit Headern und „;“ als Trennzeichen, Doppeltes Anführungszeichen als Escape-Zeichen.
CSV-ZIP enthält bei Anwesenheitslisten zusätzlich die von den Teilnehmern erhaltenen Signaturen (Didcomm für elektronische Signaturen oder eine JPG-Datei bei händischer Signatur). Die Dateien werden als ZIP-Archiv gepackt.
2.2 TXT (Excelexport) und TXT-ZIP
Es existieren 2 Unterformate: Kursliste und Anwesenheitsliste, jeweils im TXT Format mit Headern und TAB als Trennzeichen, Doppeltes Anführungszeichen als Escape-Zeichen.
TXT-ZIP enthält bei Anwesenheitslisten zusätzlich die von den Teilnehmern erhaltenen Signaturen (Didcomm für elektronische Signaturen oder eine JPG-Datei bei händischer Signatur). Die Dateien werden als ZIP-Archiv gepackt.
Dieses Format ist geeignet für die Verwendung in Excel.
2.3 JSON-FLAT und JSON-ZIP
Es existieren 2 Unterformate: Kursliste und Anwesenheitsliste, jeweils im JSON Format.
JSON-ZIP enthält bei Anwesenheitslisten zusätzlich die von den Teilnehmern erhaltenen Signaturen (Didcomm für elektronische Signaturen oder eine JPG-Datei bei händischer Signatur). Die Dateien werden als ZIP-Archiv gepackt.
2.4 DidComm und DidComm-ZIP
Es existieren 2 Unterformate: Kursliste und Anwesenheitsliste, jeweils im DidComm Format.
DidComm-ZIP enthält bei Anwesenheitslisten zusätzlich die von den Teilnehmern erhaltenen Signaturen (Didcomm für elektronische Signaturen oder eine JPG-Datei bei händischer Signatur). Die Dateien werden als ZIP-Archiv gepackt.
DidComm – Anwesenheitstokens sind dabei zusätzlich bereits im Anwesenheitslisten-DidComm enthalten.
3. Transportformate
3.1 HTTPS-GET / PUT
Für Kurslisten, Teilnehmer und Anwesenheitslisten existieren jeweils Endpunkte zum Abruf (GET) sowie zum Einspielen (PUT). Als Identifier innerhalb der Datenliste wird die „externeId“ verwendet.
Einträge, die bereits vorhanden sind, werden geupdatet. Neue Einträge hinzugefügt, nicht mehr vorhandene werden ignoriert. Um Einträge zu löschen, muss ein Löschflag am Datensatz auf TRUE gesetzt werden.
Im Erfolgsfall wird 200 OK geliefert, ansonsten 422 mit einer dedizierten Fehlermeldung oder 400 falls die Authentifizierung nicht erfolgreich war.
3.2 HTTPS-PUSH
Direkt nach der Generierung wird von DigitalCheckin aus ein HTTP-PUT oder POST Request ausgeführt, der im Body die jeweilige Datei beinhaltet.
Das Ergebnis wird geloggt, ein Retry wird im Fehlerfall aber nicht durchgeführt.
3.3 FTP-Download
Die gewünschten Datei werden mit externer KursID und Zeitstempel auf einem von Digital Checkin bereitgestellten FTP Verzeichnis bereitgestellt. Sie erhalten von uns Zugangsdaten und sind für das Abholen und Bereinigen selbst verantwortlich.
3.4 FTP-Exchange
Der Kunde stellt ein (S)-FTP Verzeichnis bereit, in welchem Digital Checkin die Daten hochladen kann. Zugleich existiert auch ein weiteres Verzeichnis, welches die einzuspielenden Dateien enthält. Dieses Verzeichnis wird 2x täglich gescannt.
4. Security (Für HTTPS Transportformate)
Zur Authentisierung wird wahlweise HTTP Basic oder EC Signature verwendet. Bei letzterem wird der Body der HTTP Nachricht mit einem EC Schlüssel signiert, die Signatur wird Base64 kodiert im HTTP Header „x-signature“ übermittelt. Zusätzlich wird noch der HTTP Header „x-identity“ übermittelt, der die ID des Schnittstellenusers (UUID) beinhaltet. Die beiden Public-Keys werden über die Admin-Oberfläche in Digital Checkin verwaltet, ebenso die HTTP Basic Credentials.