サイト翻訳のインポート
/sites/management/api/v1/sites/_importTranslations
サイト翻訳をzipファイルからインポートします。 Zipファイルには、サイト翻訳および関連する翻訳ジョブの詳細が含まれています。 Zipファイルは、最初に認証済ユーザーの個人フォルダにアップロードする必要があります。 このインポートのzipファイルは、リクエスト本文フィールドの一部として、ファイルのインポートが必要か検証のみかを指定します。 インポート・プロセスは非同期であり、完了すると、サイト・ジョブには、インポートされた内容または検証の結果に関する詳細が含まれます。
リリース20.1.1で導入されました。
認可
サイト翻訳は、サイトとそのリポジトリの両方で少なくともコントリビュータ・ロールを持つユーザーによってインポートできます。
サイトの翻訳
翻訳Zipファイルは、サイトの翻訳ジョブを作成するときに作成されます。 このファイルをダウンロードして、翻訳を追加できます。 その後、更新されたzipファイルをインポートして、サイトに翻訳を追加できます。
詳細は、「サイトの翻訳ジョブの作成」を参照してください。
翻訳のインポートの進行状況の取得
サイト翻訳のインポートは非同期のため、サイト・ジョブ・ステータス・リソースから進捗をモニターできます。
詳細は、「サイト関連ジョブの進捗の取得」を参照してください。
非同期処理
この操作「のみ」非同期処理をサポートしています。 respond-async
の値を持つPrefer
ヘッダーがリクエストに含まれている必要があります。 「承認済」レスポンスにはLocation
ヘッダーが含まれ、非同期処理に関する情報を取得するためにポーリングできる「ステータス・リソース」のロケーションを示します。
ステータスの読取りの詳細は、「サイト関連ジョブの進捗の取得」を参照してください。
リクエスト本文の代替識別子
リクエスト本文は、代替識別子をサポートするリソースを参照します。 これらの代替識別子は、デフォルトのリソース識別子を使用する代わりに使用できます。
pathファイル・パス
「ドキュメント・ファイル」リソースのデフォルトの識別子は、Idです。
ファイル識別子の代わりに、ファイル・パスを使用してファイルを識別できます。 パスは、親フォルダの名前(ユーザー・ホーム・フォルダに対して相対的に)とファイル名(/
で結合)を使用して構築されます。 ファイル・パスは個人フォルダにのみ使用できます。共有フォルダ内のファイルはパスで参照できません。 フォルダ名とファイル名は大文字と小文字が区別されません。
path:folder1/folder2/file.ext
リリース19.4.3での導入。
成功したレスポンスの例
この操作は、次の成功(2xx)のレスポンスで応答します。 レスポンスHTTPステータス・コードとサンプル本体の完全なリストは、この操作の「レスポンス」に関する項を参照してください。
202Accepted - Validate Translation File
翻訳をインポートせずに、翻訳ファイルの内容を検証します。 インポート・ジョブが完了すると、検証結果が含まれます。 翻訳ジョブのタイプに応じて、検証には翻訳済サイト・アセットまたはサイト・ページ(あるいはその両方)の詳細が含まれます。
リクエスト
POST https://api.example.com/sites/management/api/v1/sites/_importTranslations
リクエスト本文
{ "file": "path:packages/translations/AcmeProductLaunch_fr_de.zip", "options": "validate" }
202確定済 - 翻訳ファイルをインポート
翻訳を検証およびインポートします。 インポート・ジョブが完了すると、インポートされたアセットまたはサイト・ページ(あるいはその両方)の詳細が含まれます。 翻訳ファイルに有効な翻訳セットがない場合、検証は失敗し、検証失敗の詳細が報告されます。
リクエスト
POST https://api.example.com/sites/management/api/v1/sites/_importTranslations
リクエスト本文
{ "file": "path:packages/translations/AcmeProductLaunch_fr_de.zip", "options": "import" }
クライアント・エラー・レスポンスの例
この操作は次のクライアント・エラー(4xx)レスポンスで応答しますが、レスポンス本文に例外の詳細が示されるか、非同期ジョブを通じてレポートされます。 レスポンスHTTPステータス・コードとサンプル本体の完全なリストは、この操作の「レスポンス」に関する項を参照してください。
400Bad Request - Invalid File
識別子で識別されるファイルが見つかりません。
エラー・コード
OCE-DOCS-001002
解決 - ファイルが存在するか確認
ファイル識別子が有効であることを確認してください。
解決 - 親フォルダでのロールの共有の確認
認証されたユーザーが、ファイルを含むフォルダ内にロールを持っていることを確認します。
このエラーが返される場所
- このエラー「次の場合があります」がレスポンス本文に返されました。
- このエラー「次と等しくない」は非同期ジョブ・ステータスで返されました。
例外詳細フィールド
このエラー・タイプでは、レスポンスに次のフィールド/値が含まれます:
フィールド名 | 説明 |
file | 存在しないファイル。 |
この例外の詳細タイプの詳細は、swaggerドキュメントの定義セクションのInvalidFileExceptionDetailスキーマを参照してください。
レスポンス本文の例
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Invalid File", "status": "400", "detail": "File does not exist or the authenticated user or client application does not have access to the file.", "o:errorCode": "OCE-DOCS-001002", "file": { "id": "F40B9BE3E69F6DC440559A1F033BB2482DB740ECB2D8" } }
リリース19.4.1.での導入。
400Bad Request - Invalid Site
サイトが存在しないか、削除されたか、認証されたユーザーまたはクライアント・アプリケーションがサイトへのアクセス権を持っていません。
エラー・コード
OCE-SITEMGMT-009023
解決 - 認可の確認
認証されたユーザーがサイトへのアクセスを認可されていることを確認します。
このエラーが返される場所
- このエラー「行わない」がレスポンス本文に返されます。
- このエラー「次の場合があります」は非同期ジョブ・ステータスで返されました。
例外詳細フィールド
このエラー・タイプでは、レスポンスに次のフィールド/値が含まれます:
フィールド名 | 説明 |
site | サイト識別子が指定されている場合、存在しないサイトまたは認証済ユーザーに表示されないサイトです。 |
この例外の詳細タイプの詳細は、swaggerドキュメントの定義セクションのInvalidSiteExceptionDetailスキーマを参照してください。
レスポンス本文の例
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Invalid Site", "status": "400", "detail": "Site does not exist or has been deleted, or the authenticated user or client application does not have access to the site.", "o:errorCode": "OCE-SITEMGMT-009023", "site": { "id": "FCA9C0E5CDCB549A19FFB85987A2352778961003B8A0" } }
400Bad Request - Invalid Repository
参照されているリポジトリが見つかりませんでした。 リポジトリが存在しないか、削除されたか、認証されたユーザー・アプリケーションまたはクライアント・アプリケーションがリポジトリへのアクセス権を持っていません。
エラー・コード
OCE-CAAS-001006
解決 - 識別子のチェック
リポジトリ識別子が有効であることを確認してください。
解決 - メンバーシップのチェック
認証されたユーザーがリポジトリのメンバーであること、およびリポジトリに関連する操作を実行するための関連ロールを持っていることを確認してください。
このエラーが返される場所
- このエラー「行わない」がレスポンス本文に返されます。
- このエラー「次の場合があります」は非同期ジョブ・ステータスで返されました。
例外詳細フィールド
このエラー・タイプでは、レスポンスに次のフィールド/値が含まれます:
フィールド名 | 説明 |
repository | リポジトリ識別子が指定されている場合、存在しない、または認証ユーザーに対して表示されないリポジトリ。 |
この例外の詳細タイプの詳細は、swaggerドキュメントの定義セクションのInvalidRepositoryExceptionDetailスキーマを参照してください。
レスポンス本文の例
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Invalid Repository", "status": "400", "detail": "Repository does not exist or has been deleted, or the authenticated user or client application does not have access to the repository.", "o:errorCode": "OCE-CAAS-001006", "repository": { "id": "F81629473A3DB8B2A28669F19E68209BBAD3340745B0" } }
リリース19.2.3.での導入。
400Bad Request - Invalid Site Translation File
サイト翻訳をインポートできません。 指定されたファイルは正しい形式ではありません。
エラー・コード
OCE-SITEMGMT-009081
解決 - ファイル形式の確認
ファイルが適切な形式のzipファイルであることを確認します。
このエラーが返される場所
- このエラー「行わない」がレスポンス本文に返されます。
- このエラー「次の場合があります」は非同期ジョブ・ステータスで返されました。
レスポンス本文の例
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Invalid Site Translation File", "status": "400", "detail": "The file is not a valid site translation file.", "o:errorCode": "OCE-SITEMGMT-009081" }
リリース20.1.1で導入されました。
403Forbidden - Storage Limit Reached
ストレージ転送制限に達しました。 請求限度は、システム管理者が使用可能なストレージ容量に設定されています。
エラー・コード
OCE-SITEMGMT-009098
解決 - ストレージ制限の増加
ストレージ制限を増やすシステム管理者を取得します。
このエラーが返される場所
- このエラー「行わない」がレスポンス本文に返されます。
- このエラー「次の場合があります」は非同期ジョブ・ステータスで返されました。
例外詳細フィールド
このエラー・タイプでは、レスポンスに次のフィールド/値が含まれます:
フィールド名 | 説明 |
used | 使用済ストレージ(GB)。 |
limit | ストレージ制限(GB)。 |
この例外の詳細タイプの詳細は、swaggerドキュメントの定義セクションのStorageLimitReachedExceptionDetailスキーマを参照してください。
レスポンス本文の例
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Storage Limit Reached", "status": "403", "detail": "Storage limit has been reached.", "o:errorCode": "OCE-SITEMGMT-009098", "used": 1.23456789, "limit": 1.23456789 }
リリース20.3.1で導入されました。
409Conflict - Site Deleted
ソフト削除されたサイトでは操作を実行できません。 このエラーは、includeDeleted
問合せパラメータがtrue
に設定されている場合にのみ発生します。
エラー・コード
OCE-SITEMGMT-009059
解決 - サイトのリストア
サイトをリストアしてから操作を再試行してください。
このエラーが返される場所
- このエラー「行わない」がレスポンス本文に返されます。
- このエラー「次の場合があります」は非同期ジョブ・ステータスで返されました。
例外詳細フィールド
このエラー・タイプでは、レスポンスに次のフィールド/値が含まれます:
フィールド名 | 説明 |
site | サイト識別子が指定されている場合、ソフト削除されるサイト。 |
この例外の詳細タイプの詳細は、swaggerドキュメントの定義セクションのSiteDeletedExceptionDetailスキーマを参照してください。
レスポンス本文の例
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Site Deleted", "status": "409", "detail": "The operation cannot be performed as the site has been soft deleted.", "o:errorCode": "OCE-SITEMGMT-009059", "site": { "id": "FCA9C0E5CDCB549A19FFB85987A2352778961003B8A0" } }
リリース19.4.1.での導入。
リクエスト
- application/json
- Prefer(optional): string
respond-async
ヘッダー値を使用してリクエストの非同期処理をリクエストします。
インポートする翻訳ファイル、および検証のみを行うかどうかを指定します。
object
- file: string
翻訳ファイル。
リリース20.1.1で導入されました。 - links(optional): array links
このリソースに対する関連リソースおよびアクションへのHATEOSリンク。 リソースの正規表現へのリンクを含む自己リンクを少なくとも1つ含める必要があります。
- options (オプション): string
インポート・オプション 翻訳をインポートするか、翻訳ファイルを検証して翻訳をインポートしないかを指定します。 指定しない場合、デフォルトは
import
です。 翻訳が無効な場合、インポートは失敗します。有効な値は次のとおりです。
-
validate
- サイト翻訳を検証しますが、インポートしません。 ジョブ・ステータス・リソース
-
import
- 有効な場合は、サイト翻訳をインポートします。 ジョブ・ステータス・リソース
-
{
"file":"path:packages/translations/AcmeProductLaunch_fr_de.zip",
"options":"validate"
}
array
このリソースに対する関連リソースおよびアクションへのHATEOSリンク。 リソースの正規表現へのリンクを含む自己リンクを少なくとも1つ含める必要があります。
object
REST HATEOASリンクおよび関連メタデータ。 レスポンスがリンクを提供する場合(リソース自体へのself
リンクなど)、提供されるリンクには、このリンク構造で定義された1つ以上のプロパティが含まれます。
- href(optional): string
ターゲット・リソースのURI URI RFC3986またはURIテンプレートRFC6570。 値がURIテンプレートに設定されている場合、
templated
プロパティをtrue
に設定する必要があります。 - mediaType(optional): string
メディア・タイプ。RFC 2046で定義され、リンク・ターゲットを記述します。
- method(optional): string
リンクのターゲットをリクエストするためのHTTPメソッド。
有効な値は次のとおりです。
-
OPTIONS
- HTTP OPTIONS -
HEAD
- HTTP HEAD -
GET
- HTTP GET -
POST
- HTTP POST -
PUT
- HTTP PUT -
PATCH
- HTTP PATCH -
DELETE
- HTTP DELETE
-
- profile(optional): string(uri)
ターゲット・リソースを参照解除するときにリソースを指定するJSONスキーマなどのリソースのメタデータへのリンク。
- rel(optional): string
リンクの詳細を取得するために使用できるリンク・リレーションの名前。
- templated(optional): boolean
href
プロパティを指定するブール・フラグは、URIまたはURIテンプレートです。 プロパティが存在しない場合、false
とみなすことができます。
レスポンス
202レスポンス
400レスポンス
- object ExceptionDetail
HTTPエラー・コードおよびエラー・メッセージに加えて、リクエストが失敗したときにクライアントに追加情報を提供することが適切な場合もあります。 その場合、追加情報がレスポンス本文に含まれます。
- object InvalidFileExceptionDetail-allOf[1]
object
HTTPエラー・コードおよびエラー・メッセージに加えて、リクエストが失敗したときにクライアントに追加情報を提供することが適切な場合もあります。 その場合、追加情報がレスポンス本文に含まれます。
- detail(optional): string
この問題の発生に固有の説明。 人間が判読できる、場合によっては複数行の詳細で問題を説明しています。
- instance(optional): string(uri)
エラーに関する詳細を提供するリンクへのURI。
- o:errorCode(optional): string
アプリケーション・エラー・コード。HTTPエラー・コードとは異なります。 このコードは、
title
やdetail
などのフィールドを比較するのではなく、特定のエラーをチェックするために使用する必要があります。 - o:errorDetails(optional): array o:errorDetails
階層構造に複数のエラーがある場合もあります。
- o:errorPath(optional): string
エラーが発生した場所を示すXPathまたはJSONパス。
- status(optional): integer(int32)
エラーに対応するHTTPステータス・コード。
- title(optional): string
問題の短く、判読可能なサマリー。 タイトルは、特定のエラーをチェックする方法としては使用しないでください。そのためには
o:errorCode
を使用してください。 - type(optional): string(uri)
問題のタイプを識別する絶対URI。 このURIが参照解除されると、「推奨」は、HTMLページなどの問題の判読可能なサマリーを提供します。
object
- file(optional): string
存在しないファイル。
リリース19.4.1.での導入。
- object ExceptionDetail
HTTPエラー・コードおよびエラー・メッセージに加えて、リクエストが失敗したときにクライアントに追加情報を提供することが適切な場合もあります。 その場合、追加情報がレスポンス本文に含まれます。
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Invalid File",
"status":"400",
"detail":"File does not exist or the authenticated user or client application does not have access to the file.",
"o:errorCode":"OCE-DOCS-001002",
"file":{
"id":"F40B9BE3E69F6DC440559A1F033BB2482DB740ECB2D8"
}
}