×

Caricamento di immagini di documenti | API

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 Content-Type è impostata su application/xmlil corpo della richiesta deve includere un Transkribus METS XML valido (TODO).
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}.