regions
服務可讓您建立及管理
可以當做指定目標
regionalinventory
和 shippingsettings
免費 Google Cloud 服務您可以將區域定義為郵遞區號集合
部分國家/地區的
指定地理區域。本指南提供
範例:如何定義各種區域,以及如何建立區域
。如要進一步瞭解 regions
服務,
包括所有可用方法和參數,請參閱參考說明文件。
區域資格條件
您在建立區域時,區域服務會決定您是否可以使用
與其他 Content API 服務整合針對
成功的 regions.create
呼叫包含兩個布林值欄位,
regionalInventoryEligible
和 shippingEligible
,用於指明
區域可搭配 regionalinventory
和 shippingsettings
服務使用。
。
regionalInventoryEligible
如要使用 regionalinventory
服務,區域必須符合
符合以下條件:
- 建立區域時指定的
regionId
,只能包含 長度必須至少為 6 個數字。 - 區域必須符合地理區域和網路的最低尺寸規定 人口。
shippingEligible
如要使用 shippingsettings
服務,區域必須符合
符合以下條件:
- 請使用郵遞區號定義區域。
- 區域必須位於
shippingsettings
支援的國家/地區 課程中也會快速介紹 Memorystore 這是 Google Cloud 的全代管 Redis 服務
範例
以下是您可以在 Java 中建立新區域的完整程式碼範例:
// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package shopping.content.v2_1.samples.regions; import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.services.content.model.Region; import com.google.api.services.content.model.RegionPostalCodeArea; import com.google.api.services.content.model.RegionPostalCodeAreaPostalCodeRange; import java.io.IOException; import java.util.ArrayList; import java.util.List; import shopping.content.v2_1.samples.ContentSample; /** * Creates a region. The region created here can be used with the regional inventory service. * Regional availability and pricing lets you provide product availability and variable pricing * based on your business presence and the location of your customer base. Regional availability and * pricing is available for products advertised through Shopping ads on Google Search, and listed in * free listings on the Shopping tab. */ public class RegionCreateSample extends ContentSample { public RegionCreateSample(String[] args) throws IOException { super(args); } @Override public void execute() throws IOException { checkNonMCA(); // Creates a List of Postal Code Area Postal Code Ranges. // This allows you to flexibly define regions as combinations of postal code // ranges. Each postal code range in the list has its own start and end zip code. List<RegionPostalCodeAreaPostalCodeRange> postalCodeRanges = new ArrayList<RegionPostalCodeAreaPostalCodeRange>(); // Creates a new postal code range from two postal code values. // This range is equivalent to all postal codes in the USA state of New York (00501 - 14925) RegionPostalCodeAreaPostalCodeRange postalCodeRange = new RegionPostalCodeAreaPostalCodeRange().setBegin("00501").setEnd("14925"); // Adds the NY State postal code range into the list of postal code ranges that a postal // code area accepts. postalCodeRanges.add(postalCodeRange); // Creates Postal Code Area for the Region that will be inserted, using the NY State postal code // ranges, and the US CLDR territory/country code that the postal code ranges applies to. RegionPostalCodeArea postalCodeArea = new RegionPostalCodeArea().setPostalCodes(postalCodeRanges).setRegionCode("US"); // Creates a region with example values for displayName and postalCodeArea Region region = new Region().setDisplayName("NYState").setPostalCodeArea(postalCodeArea); // Tries to create the region, and catches any exceptions try { System.out.println("Creating region"); Region result = content .regions() .create(this.config.getMerchantId().longValue(), region) .setRegionId("12345678") // User-defined, numeric, minimum of 6 digits .execute(); System.out.println("Listing succesfully created region"); System.out.println(result); } catch (GoogleJsonResponseException e) { checkGoogleJsonResponseException(e); } } public static void main(String[] args) throws IOException { new RegionCreateSample(args).execute(); } }
使用郵遞區號建立區域
您可以使用 regions.create
方法,建立定義為郵遞區號集合的區域。範例
下方為美國亞利桑那州建立新的區域,方法是指定
郵遞區號。
如要建立區域,請使用以下網址提出 POST
要求並要求
內文:
https://shoppingcontent.googleapis.com/content/v2.1/merchantId/regions?regionId=456789
{
postalCodeArea: {
regionCode: "US",
postalCodes: [
{
begin: "850*",
end: "860*"
}
]
}
}
「regions
」的資料有 2MB 的硬性限制
且每個 Merchant Center 帳戶均有 shippingsettings
個。運送和區域設定
是從 MCA 複製到所有子帳戶中
MCA 可能會快速達到儲存空間上限。在這種情況下,解決方法是
才能在商家 ID 層級管理 regions
和 shippingsettings
。由於沒有
建議您提高區域配額超過 2 MB 的限制。
使用指定地理區域建立區域
針對巴西和俄羅斯的區域,您也可以使用 regions.create
方法
建立一組定義為多個指定地理區域的區域
地理區域。指定地理區域類型範例包括國家/地區、州/省、城市
例如鄰近區域和機場不過,目前只有 regions
服務
支援巴西的「州/省」類型,俄羅斯的「區域」類型。目的地:
下載內含所有指定地理區域編號的 CSV 檔案,包括可用的指定地理區域
與 regions
服務搭配使用,請參閱
指定地理區域。以下範例會建立
新的區域,方法是提供三個巴西州的指定地理區域 ID。
如要建立區域,請使用以下網址提出 POST
要求並要求
內文:
https://shoppingcontent.googleapis.com/content/v2.1/merchantId/regions?regionId=123456
{
geoTargetAreas: {
geotargetCriteriaId: [20106, 20102, 20101] //Sao Paulo, Rio de Janeiro, Parana
}
}
使用區域來建立區域價格覆寫設定
建立區域時,regions
服務會傳回其回應物件
包含 regionId
和兩個資格狀態欄位。如果
regionalInventoryEligible
的值為 true
,您可以使用 regionaliventory
服務來建立覆寫值,為該區域設定不同的價格。
以下範例使用郵遞區號,建立區域價格覆寫規則
新增的區域,其 regionId
為「456789」。
如要建立覆寫值,請使用以下網址發出 POST
要求,並
要求主體:
https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/{productId}/regionalinventory
{
“regionId”: "456789"
“price”: {
value: “10”
currency: “USD”
},
“availability”: “in stock”
}