# General Translation Platform: ファイル差分を送信 URL: https://generaltranslation.com/ja/docs/platform/openapi/reference/files/submit-diffs.mdx --- title: ファイル差分を送信 description: 完全なファイルをアップロードする代わりに、変更されたソースまたは翻訳済みコンテンツの差分を General Translation プロジェクトに送信します。これは「ファイル差分を送信」の API リファレンスです。 method: POST --- 変更されたファイルについて、ローカルで編集したコンテンツで保存済みの翻訳を上書きします。変更された各ファイルとロケールごとに 1 つのエントリを送信することで、すべてのファイルを再アップロードせずにローカル編集を同期できます。 ## 概要 [#overview] ```http POST https://api2.gtx.dev/v2/project/files/diffs ``` **権限** `project:files:write` · **レート制限** 中 (120/min) ローカル翻訳での編集内容をプロジェクトに反映します。ファイル全体を置き換える場合は、代わりに[翻訳をアップロード](/docs/platform/openapi/reference/files/upload-translations)を使用します。 ## 仕組み [#how-it-works] * エントリは `branchId`、`fileId`、`versionId`、`locale` ごとにグループ化されます。各グループでは最初のエントリのみが適用されるため、1 回のリクエスト内で重複するグループは重複排除されます。 * `localContent` が空のエントリはスキップされます。 * 残りの各グループでは、保存済みの翻訳が `localContent` で上書きされます。`branchId` が指定されていない場合は、デフォルトのブランチに解決されます。 * レスポンスには、処理された翻訳数と受信したエントリ数が含まれます。 ## リクエスト [#request] ### ヘッダー | ヘッダー | 説明 | 必須 | | ----------------- | -------------------------------------- | --- | | `x-gt-api-key` | プロジェクトまたは Organization の APIキー。 | はい | | `x-gt-project-id` | プロジェクト ID。Organization キーを使用する場合は必須です。 | いいえ | ### 本文 **コンテンツタイプ** `application/json` | フィールド | 説明 | 型 | 任意 | デフォルト | | ----------------- | ---------------------- | ---------- | --- | ----- | | [`diffs`](#diffs) | 差分エントリの配列。空配列は指定できません。 | `object[]` | いいえ | — | #### `diffs` [#diffs] **型** `object[]` · **必須** 各要素は、変更された 1 つのファイルとロケールを表します。 | フィールド | 説明 | 型 | 任意 | デフォルト | | -------------- | ----------------------------- | -------- | --- | --------- | | `localContent` | この翻訳用に保存する、ローカルで編集した完全なコンテンツ。 | `string` | いいえ | — | | `locale` | 編集済みコンテンツのロケール。空は指定できません。 | `string` | いいえ | — | | `fileId` | 変更されないファイル識別子。 | `string` | いいえ | — | | `versionId` | このコンテンツのバージョン識別子。 | `string` | いいえ | — | | `diff` | 変更されたコンテンツの差分。 | `string` | いいえ | — | | `branchId` | ファイルが紐付けられているブランチ。 | `string` | はい | デフォルトのブランチ | ## レスポンス [#response] **ステータス** `200 OK` ```json title="Response" { "filesProcessed": 1, "entriesReceived": 1, "message": "Processed 1 translation(s)" } ``` ## エラー [#errors] | ステータス | 原因 | | ----- | --------------------------------------- | | `400` | リクエストボディが無効か、`diffs` 配列が空です。 | | `401` | API キーがないか、無効です。 | | `403` | API キーに `project:files:write` 権限がありません。 | | `429` | レート制限を超過しています。 | ## 例 [#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\"}" } ] }' ```