Il percorso /rest/uploads
include endpoint che permettono di importare un documento in Transkribus.
https://transkribus.eu/TrpServerTesting/rest/uploads?collId={collectionID}
Una POST
a questo endpoint crea un nuovo processo di upload sul server. È obbligatorio impostare il parametro della query collId
che deve includere l'ID di una collezione dove l'utente ha accesso in scrittura.
Se l'intestazione specifica application/json
allora ci si aspetta un oggetto JSON della seguente forma:
{
"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"
}
]}
}
Oltre ad alcuni metadati di base (opzionali), questo oggetto definisce la struttura del documento da caricare, compresi i nomi dei file da aspettarsi.
Un oggetto pagina deve solo avere un fileName e un pageNr. Tutti gli altri campi sono opzionali! Le checksum devono essere calcolate con MD5, se utilizzate.
La risposta a questa richiesta restituirà un oggetto arricchito dello stesso tipo. Esso includerà un ID di caricamento unico (campo uploadId
) che deve essere utilizzato per le seguenti richieste.
https://transkribus.eu/TrpServerTesting/rest/uploads/{uploadId}
Questo endpoint è usato per PUT
i file per ogni pagina a Transkribus. Nota che il percorso ora include l'uploadId dalla risposta della richiesta iniziale.
Lo strumento Content-Type
di ogni richiesta deve essere multipart/form-data
e deve includere i dati completi per una pagina, cioè se è stato impostato un pageXmlName nell'oggetto struttura dato, allora l'immagine e l'XML devono essere consegnati. Dipende dalla libreria usata se il Content-Type
deve essere impostato esplicitamente. Si prega di fare riferimento alla rispettiva documentazione sulle richieste multipart.
I nomi delle parti del corpo da usare sono img
e xml
rispettivamente ed entrambi dovrebbero essere inviati come application/octet-stream
.
Se le checksum sono state definite, allora il server controllerà i file ad ogni richiesta e risponderà con 200
solo se la trasmissione fosse impeccabile.
Una GET
a questo percorso può essere usato per controllare lo stato del processo di upload in modo intermedio.
Una volta che tutti i file sono stati consegnati con successo, il server inizierà automaticamente il processo di ingest. Dopo l'ultimo PUT
è accettata, l'oggetto restituito includerà un campo jobId
che può essere usato per monitorare il processo di ingest tramite GET
richieste a
https://transkribus.eu/TrpServerTesting/rest/jobs/{id}
.