Usługa regions
umożliwia tworzenie obszarów geograficznych i zarządzanie nimi. Możesz ich używać jako miejsc docelowych w usługach regionalinventory
i shippingsettings
. Regiony możesz definiować jako zbiory kodów pocztowych lub w niektórych krajach za pomocą predefiniowanych geotargetów. W tym przewodniku znajdziesz przykłady definiowania każdego typu regionu oraz tworzenia zastąpienia ceny regionalnej. Więcej informacji o usłudze regions
, w tym o wszystkich dostępnych metodach i parametrach, znajdziesz w dokumentacji.
Kwalifikujące się regiony
Gdy tworzysz region, usługa regionów określa, czy możesz używać go z innymi usługami Content API. Obiekt odpowiedzi zwrócony w przypadku udanego wywołania regions.create
zawiera 2 pola logiczne: regionalInventoryEligible
i shippingEligible
, które wskazują, czy możesz używać regionu z usługami regionalinventory
i shippingsettings
.
regionalInventoryEligible
Aby region kwalifikował się do korzystania z usługi regionalinventory
, musi spełniać te kryteria:
- Element
regionId
, który określasz podczas tworzenia regionu, musi zawierać tylko cyfry i musi mieć co najmniej 6 cyfr. - Region musi spełniać minimalne wymagania dotyczące wielkości obszaru geograficznego i populacji online.
shippingEligible
Aby region kwalifikował się do korzystania z usługi shippingsettings
, musi spełniać te kryteria:
- Region musi być zdefiniowany za pomocą kodów pocztowych.
- Region musi być częścią kraju obsługiwanego przez
shippingsettings
usługę.
Przykłady
Oto pełny przykładowy kod, którego możesz użyć do utworzenia nowego regionu w Javie:
// 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(); } }
Tworzenie regionu za pomocą kodów pocztowych
Możesz użyć metody regions.create
, aby utworzyć region zdefiniowany jako zbiór kodów pocztowych. W przykładzie poniżej tworzymy nowy region dla stanu Arizona w USA, określając zakres kodów pocztowych.
Aby utworzyć region, wyślij żądanie POST
z tym adresem URL i treścią:
https://shoppingcontent.googleapis.com/content/v2.1/merchantId/regions?regionId=456789
{
postalCodeArea: {
regionCode: "US",
postalCodes: [
{
begin: "850*",
end: "860*"
}
]
}
}
Obowiązuje limit 2 MB danych dla regions
i shippingsettings
na konto Merchant Center. Ustawienia dostawy i regionu są kopiowane wewnętrznie z konta MCA na wszystkie jego konta podrzędne, więc w przypadku większych kont MCA możesz szybko osiągnąć limit miejsca na dane. W takim przypadku obejściem jest zarządzanie parametrami regions
i shippingsettings
na poziomie identyfikatora sprzedawcy. Nie ma możliwości zwiększenia limitu regionów powyżej 2 MB.
Tworzenie regionu za pomocą geotargetów
W przypadku regionów w Brazylii i Rosji możesz też użyć metody regions.create
, aby utworzyć region zdefiniowany jako zbiór geotargetów, czyli predefiniowanych obszarów geograficznych. Przykłady typów kierowania geograficznego to kraje, stany, miasta, dzielnice i lotniska. Obecnie usługa regions
obsługuje tylko typ „Stan” w przypadku Brazylii i typ „Region” w przypadku Rosji. Aby pobrać plik CSV ze wszystkimi identyfikatorami kierowania geograficznego, w tym z miejscami docelowymi, których można używać w usłudze regions
, zapoznaj się z sekcją Kierowanie geograficzne. W przykładzie poniżej tworzymy nowy region, podając identyfikatory geotargetowania 3 brazylijskich stanów.
Aby utworzyć region, wyślij żądanie POST
, używając tego adresu URL i treści żądania:
https://shoppingcontent.googleapis.com/content/v2.1/merchantId/regions?regionId=123456
{
geoTargetAreas: {
geotargetCriteriaId: [20106, 20102, 20101] //Sao Paulo, Rio de Janeiro, Parana
}
}
Używanie regionów do tworzenia zastąpień cen regionalnych
Gdy utworzysz region, usługa regions
zwróci obiekt odpowiedzi, który zawiera pole regionId
i 2 pola stanu eligibility. Jeśli wartość parametru regionalInventoryEligible
to true
, możesz użyć usługi regionaliventory
, aby utworzyć zastąpienie, które ustawi inną cenę dla regionu. W przykładzie poniżej tworzymy regionalne zastąpienie ceny za pomocą regionu opartego na kodzie pocztowym utworzonego w przykładzie powyżej, który ma wartość regionId
„456789”.
Aby utworzyć zastąpienie, wyślij żądanie POST
, używając tego adresu URL i treści żądania:
https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/{productId}/regionalinventory
{
“regionId”: "456789"
“price”: {
value: “10”
currency: “USD”
},
“availability”: “in stock”
}