OCAPI ローカライゼーション 23.1

Open Commerce API ではローカライズされたコンテンツがサポートされています。

Shop API 

Shop API では一度に 1 つの地域情報がサポートされています。*locale* パラメーターを設定して 1 つの地域情報を指定することができます。この場合、<language code>-<country code> (<言語コード>-<国コード>) の書式で値を取得します。 それ以外の場合、Shop API はサイトのデフォルト地域情報を使用します。注: Shop API では、次の地域情報フォールバックが実行されます: 地域情報 (en-US) > 言語地域情報 (en) > デフォルト地域情報 (default)。次に、明示的に地域情報を指定する例を示します。

1REQUEST:
2GET /dw/shop/v23_1/content/about_us?locale=en-US HTTP/1.1
3Host: example.com
4Accept: application/json
5
6RESPONSE:
7HTTP/1.1 200 OK
8Content-Length: 351
9Content-Type: application/json; charset=UTF-8
10
11{
12  "_v" : "23.1",
13  "_resource_state" : "ba4e84383e1790597e49eeee34b201633d80ed3f499992f5af11d639dd903a36"
14  "description" : "It all started with a series of observations...",
15  "id" : "about-us",
16  "name" : "About Us",
17  "c_body" : "<h1 class=\"content-header\">About Us</h1><h2>It all started with a series of observations:</h2> ...",
18  "c_greeting" : "How are you?"
19}

Data API 

Data API では同時に複数の地域情報がサポートされています。デフォルトでは、ローカライズされたプロパティは、地域情報識別子によってキー入力されたすべての使用可能なローカライズされた値のマップとして返されます。ただし、locale パラメーターを設定して 1 つの地域情報を明示的に指定することもできます。この場合、形式 <language code>-<country code> (<言語コード>-<国コード>) で値を取得します。 明示的に地域情報を指定すると、ローカライズされたプロパティは 1 つのマップエントリとして返されます。注: Data API では地域情報フォールバックは実行されません。

最初の例でデフォルト動作を示します。ここでは、複数のローカライズされた値のマップが返されます:

1REQUEST:
2GET /dw/data/v23_1/library/SiteGenesis/content/about-us HTTP/1.1
3Host: example.com
4Accept: application/json
5
6RESPONSE:
7HTTP/1.1 200 OK
8Content-Length: 569
9Cache-Control: max-age=0,no-cache,no-store,must-revalidate
10Content-Type: application/json;charset=UTF-8
11
12{
13  "_v" : "23.1",
14  "_resource_state" : "ba4e84383e1790597e49eeee34b201633d80ed3f499992f5af11d639dd903a36"
15  "description" : {
16    "default" : "It all started with a series of observations..."
17  },
18  "id" : "about-us",
19  "link" : "https://example.com/s/-/dw/data/v23_1/libraries/SiteGenesis/content/about-us",
20  "name" : {
21    "default" : "About Us"
22  },
23  "c_body" : {
24    "default" : "<h1 class=\"content-header\">About Us</h1><h2>It all started with a series of observations:</h2> ...",
25    "de-DE" : "<h1 class=\"content-header\">Über uns</h1><h2>Alles begann mit einer Reihe von Untersuchungen:</h2> ..."
26  },
27  "c_greeting" :
28  {
29    "default" : "hello",
30    "en" : "Good day",
31    "en-US" : "How are you?",
32    "en-GB" : "How do you do?",
33    "de" : "Hallo",
34    "de-DE" : "Guten Tag",
35    "fr" : "Bonjour"
36  }
37}

2 つ目の例で、明示的に指定された地域情報のレスポンスを示します:

1REQUEST:
2GET /dw/data/v23_1/library/SiteGenesis/content/about-us?locale=en-US HTTP/1.1
3Host: example.com
4Accept: application/json
5
6RESPONSE:
7HTTP/1.1 200 OK
8Content-Length: 569
9Cache-Control: max-age=0,no-cache,no-store,must-revalidate
10Content-Type: application/json;charset=UTF-8
11
12{
13  "_v" : "23.1",
14  "_resource_state" : "ba4e84383e1790597e49eeee34b201633d80ed3f499992f5af11d639dd903a36"
15  "id" : "about-us",
16  "link" : "https://example.com/s/-/dw/data/v23_1/libraries/SiteGenesis/content/about-us",
17  "c_greeting" :
18  {
19    "en-US" : "How are you?"
20  }
21}

DID THIS ARTICLE SOLVE YOUR ISSUE?
Let us know so we can improve!