# General Translation Platform: Scarica file URL: https://generaltranslation.com/it/docs/platform/openapi/reference/files/download-many.mdx --- title: Scarica file description: Scarica più file tradotti da un progetto General Translation con un'unica richiesta. Riferimento API per il download dei file. method: POST --- Scarica più file sorgente o tradotti con un'unica richiesta. Ogni voce seleziona un file in base all'ID e il contenuto del file viene restituito in base64. ## Panoramica [#overview] ```http POST https://api2.gtx.dev/v2/project/files/download ``` **Permesso** `project:files:read` · **Limite di richieste** Basso (300/min) Recupera più file contemporaneamente. Per scaricare un singolo file, usa [Scarica file](/docs/platform/openapi/reference/files/download). ## Come funziona [#how-it-works] * Invia da 1 a 100 riferimenti a file. Ognuno viene risolto in modo indipendente e i risultati andati a buon fine vengono restituiti insieme. * Una voce senza `locale` restituisce il file sorgente; una voce con `locale` restituisce la relativa traduzione. * Se `branchId` non è specificato, viene usata la branch predefinita. Se `versionId` non è specificato, viene usata la versione head della branch, a meno che non sia impostato `useLatestAvailableVersion`. * Il contenuto del file viene restituito con codifica base64 nel campo `data`. `fileName` è presente solo nei file sorgente e `locale` è presente solo nei file tradotti. ## Richiesta [#request] ### Header | Header | Descrizione | Obbligatorio | | ----------------- | ------------------------------------------------------------------------------ | ------------ | | `x-gt-api-key` | Chiave API del progetto o dell'Organization. | Sì | | `x-gt-project-id` | ID progetto. Obbligatorio quando si utilizza una chiave dell'Organization. | No | ### Corpo **Tipo di contenuto** `application/json` Il corpo è un array JSON di 1–100 riferimenti a file. Ogni elemento contiene i seguenti campi: | Campo | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------------- | ------------------------------------------------------------------------------------ | --------- | ----------- | ------------------------ | | `fileId` | Identificatore stabile del file; non può essere vuoto. | `string` | No | — | | `branchId` | Branch da cui leggere. | `string` | Sì | Branch predefinito | | `versionId` | Versione specifica da scaricare. | `string` | Sì | Versione head del branch | | `locale` | Impostazione regionale da scaricare. Ometti il campo per scaricare il file sorgente. | `string` | Sì | — | | `useLatestAvailableVersion` | Usa l'ultima versione disponibile se la versione richiesta non è disponibile. | `boolean` | Sì | `false` | ## Risposta [#response] **Stato** `200 OK` ```json title="Response" { "files": [ { "id": "sf_...", "branchId": "br_...", "fileId": "file_...", "versionId": "ver_...", "fileName": "en/common.json", "data": "eyJoZWxsbyI6ICJIZWxsbyJ9", "metadata": {}, "fileFormat": "JSON" }, { "id": "tf_...", "branchId": "br_...", "fileId": "file_...", "versionId": "ver_...", "locale": "es", "data": "eyJoZWxsbyI6ICJIb2xhIn0=", "metadata": {}, "fileFormat": "JSON" } ], "count": 2 } ``` ## Errori [#errors] | Stato | Causa | | ----- | --------------------------------------------------------------------------------- | | `400` | Corpo della richiesta non valido oppure una voce non contiene un `fileId` valido. | | `401` | Chiave API mancante o non valida. | | `403` | La chiave API non dispone di `project:files:read`. | | `429` | Limite di richieste superato. | ## Esempio [#example] ```bash curl -X POST https://api2.gtx.dev/v2/project/files/download \ -H "x-gt-api-key: gtx-api-..." \ -H "Content-Type: application/json" \ -d '[ { "fileId": "file_...", "locale": "es" }, { "fileId": "file_..." } ]' ```