# General Translation Platform: Invia i diff dei file URL: https://generaltranslation.com/it/docs/platform/openapi/reference/files/submit-diffs.mdx --- title: Invia i diff dei file description: Invia i diff del contenuto sorgente o del contenuto tradotto modificato a un progetto di General Translation invece di caricare file completi. Riferimento API per l'invio dei diff dei file. method: POST --- Sovrascrive le traduzioni memorizzate con il contenuto modificato localmente per i file che hanno subito modifiche. Invia una voce per ogni file e impostazione regionale modificati, così puoi sincronizzare le modifiche locali senza ricaricare tutti i file. ## Panoramica [#overview] ```http POST https://api2.gtx.dev/v2/project/files/diffs ``` **Permesso** `project:files:write` · **limite di richieste** Medio (120/min) Invia nuovamente al progetto le modifiche locali alle traduzioni. Per sostituire interi file, usa [Carica traduzioni](/docs/platform/openapi/reference/files/upload-translations). ## Come funziona [#how-it-works] * Le voci sono raggruppate per `branchId`, `fileId`, `versionId` e `impostazione regionale`. Viene applicata solo la prima voce di ciascun gruppo, quindi gli eventuali gruppi duplicati nella stessa richiesta vengono rimossi. * Le voci con `localContent` vuoto vengono ignorate. * Per ogni gruppo rimanente, la traduzione memorizzata viene sovrascritta con `localContent`. Se `branchId` è assente, viene usato il branch predefinito. * La risposta indica quante traduzioni sono state elaborate e quante voci sono state ricevute. ## 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` | Campo | Descrizione | Tipo | Facoltativo | Predefinito | | ----------------- | --------------------------------------------- | ---------- | ----------- | ----------- | | [`diffs`](#diffs) | Array di elementi diff; non può essere vuoto. | `object[]` | No | — | #### `diffs` [#diffs] **Tipo** `object[]` · **Obbligatorio** Ogni elemento descrive un file modificato e un'impostazione regionale: | Campo | Descrizione | Tipo | Facoltativo | Predefinito | | -------------- | ------------------------------------------------------------------------------- | -------- | ----------- | ------------------ | | `localContent` | Il contenuto locale completo (modificato) da memorizzare per questa traduzione. | `string` | No | — | | `locale` | Impostazione regionale del contenuto modificato; non può essere vuota. | `string` | No | — | | `fileId` | Identificatore stabile del file. | `string` | No | — | | `versionId` | Identificatore della versione per questo contenuto. | `string` | No | — | | `diff` | Diff del contenuto modificato. | `string` | No | — | | `branchId` | Branch a cui è associato il file. | `string` | Sì | Branch predefinito | ## Risposta [#response] **Stato** `200 OK` ```json title="Response" { "filesProcessed": 1, "entriesReceived": 1, "message": "Processed 1 translation(s)" } ``` ## Errori [#errors] | Stato | Causa | | ----- | ------------------------------------------------------------------------ | | `400` | Corpo della richiesta non valido, oppure l'array `diffs` è vuoto. | | `401` | Chiave API mancante o non valida. | | `403` | La chiave API non dispone dell'autorizzazione `project:files:write`. | | `429` | Limite di richieste superato. | ## Esempio [#example] ```bash curl -X POST https://api2.gtx.dev/v2/project/files/diffs \ -H "x-gt-api-key: gtx-api-..." \ -H "Content-Type: application/json" \ -d '{ "diffs": [ { "fileId": "file_...", "versionId": "ver_...", "locale": "es", "diff": "@@ -1 +1 @@\n-Hola\n+Hola, mundo", "localContent": "{\"hello\": \"Hola, mundo\"}" } ] }' ```