Der Weg /rest/uploads
enthält Endpunkte, die den Import eines Dokuments in Transkribus ermöglichen.
https://transkribus.eu/TrpServerTesting/rest/uploads?collId={collectionID}
Eine POST
Anfrage an diesen Endpunkt erzeugt einen neuen Upload-Prozess auf dem Server. Es ist zwingend erforderlich, den Abfrageparameter collId
die die ID einer Sammlung enthalten muss, auf die der Benutzer Schreibzugriff hat.
Wenn die Kopfzeile angibt application/json
dann wird ein JSON-Objekt der folgenden Form erwartet:
{
"md": {
"title": "Bentham Box 35",
"author": "Jeremy Bentham",
"genre": "Notes",
"writer": "Secretary"
},
"pageList": {"pages": [
{
"fileName": "035_320_001.jpg",
"pageXmlName": "035_320_001.xml",
"pageNr": 1,
"imgChecksum": "9d531932c8e24d5a5dc13c92063698c9",
"pageXmlChecksum": "b644a9c34a65ee07c1c576194e720b4a"
},
{
"fileName": "035_321_001.jpg",
"pageXmlName": "035_321_001.xml",
"pageNr": 2,
"imgChecksum": "e3ae1a862b9cd53cc87c9325d2502547",
"pageXmlChecksum": "8ba4758b8b8d5df562e25809692be340"
}
]}
}
Neben einigen grundlegenden (optionalen) Metadaten definiert dieses Objekt die Struktur des hochzuladenden Dokuments einschließlich der zu erwartenden Dateinamen.
Ein Seitenobjekt muss nur einen FileName und eine PageNr haben. Alle anderen Felder sind optional! Die Prüfsummen müssen mit MD5 berechnet werden, falls verwendet.
Die Antwort auf diese Anfrage gibt ein angereichertes Objekt desselben Typs zurück. Es enthält eine eindeutige Upload-ID (Feld uploadId
), die für die folgenden Anfragen verwendet werden soll.
https://transkribus.eu/TrpServerTesting/rest/uploads/{uploadId}
Dieser Endpunkt wird verwendet, um PUT
die Dateien für jede Seite an Transkribus. Beachten Sie, dass der Pfad nun die uploadId aus der Antwort der ersten Anfrage enthält.
Die Content-Type
einer jeden Anfrage muss multipart/form-data
und es muss die kompletten Daten für eine Seite enthalten, d. h. wenn im angegebenen Strukturobjekt ein pageXmlName gesetzt wurde, dann muss sowohl das Bild als auch das XML geliefert werden. Es hängt von der verwendeten Bibliothek ab, ob die Content-Type
muss explizit gesetzt werden. Bitte beachten Sie die jeweilige Dokumentation zu mehrteiligen Anfragen.
Die zu verwendenden Körperteilnamen sind img
und xml
bzw. und beide sollten gesendet werden als application/octet-stream
.
Wenn Prüfsummen definiert wurden, dann prüft der Server die Dateien bei jeder Anfrage und antwortet mit 200
nur wenn das Getriebe einwandfrei war.
Eine GET
Anfrage an diesen Pfad kann verwendet werden, um den Status des Upload-Prozesses zwischenzeitlich zu überprüfen.
Wenn alle Dateien erfolgreich geliefert wurden, startet der Server automatisch den Ingest-Prozess. Nachdem die letzte PUT
Anfrage akzeptiert wird, enthält das zurückgegebene Objekt ein Feld jobId
die zur Überwachung des Einlesevorgangs verwendet werden können über GET
Anfragen an
https://transkribus.eu/TrpServerTesting/rest/jobs/{id}
.