Regiony

Usługa regions umożliwia tworzenie regionów geograficznych, w których jako celów możesz używać regionalinventory. i shippingsettings usług Google. Regiony możesz zdefiniować jako zbiory kodów pocztowych lub w w niektórych krajach, przy użyciu wstępnie zdefiniowanego geotargets. Tematy w tym przewodniku: pokazuje, jak zdefiniować każdy typ regionu i jak utworzyć zastąpienia ceny. Dodatkowe informacje o usłudze regions: , w tym wszystkie dostępne metody i parametry, zapoznaj się z dokumentacją.

Wymagania dotyczące regionów

Po utworzeniu regionu usługa regionów określa, czy można używać w tym regionie z innymi usługami Content API. Obiekt odpowiedzi zwrócony dla udane wywołanie regions.create zawiera dwa pola logiczne, regionalInventoryEligible i shippingEligible, które wskazują, czy może używać regionu z usługami regionalinventory i shippingsettings, .

regionalInventoryEligible

Aby można było używać usługi regionalinventory, region musi spełniać następujące kryteria:

  • Pole regionId, które określasz podczas tworzenia regionu, może zawierać tylko cyfr i musi zawierać co najmniej 6 cyfr.
  • Region musi spełniać wymagania dotyczące minimalnej wielkości dla obszaru geograficznego i online populacji.

shippingEligible

Aby można było używać usługi shippingsettings, region musi spełniać następujące kryteria:

  • Region należy określić za pomocą kodów pocztowych.
  • Region musi być częścią kraju obsługiwanego przez shippingsettings posprzedażna.

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

regions.create do utworzenia regionu zdefiniowanego jako zbiór kodów pocztowych. Przykład poniżej tworzy nowy region dla amerykańskiego stanu Arizona, określając zakres kody pocztowe.

Aby utworzyć region, wyślij żądanie POST z tym adresem URL i złóż taką prośbę treść:

https://shoppingcontent.googleapis.com/content/v2.1/merchantId/regions?regionId=456789
{
  postalCodeArea: {
    regionCode: "US",
    postalCodes: [
      {
        begin: "850*",
        end: "860*"
      }
    ]
   }
}

Na dane w aplikacji regions obowiązuje stały limit 2 MB danych i shippingsettings na konto Merchant Center. Ustawienia dostawy i regionu są kopiowane z MCA na wszystkie jego subkonta, więc aby większe W ramach multikont klientów możesz szybko osiągnąć limit miejsca na dane. W tym przypadku obejście to jest aby zarządzać regions i shippingsettings na poziomie identyfikatora sprzedawcy. Brak sposób na zwiększenie limitu regionów niż limit 2 MB.

Tworzenie regionu za pomocą celów geograficznych

W przypadku regionów w Brazylii i Rosji możesz też użyć metody regions.create aby utworzyć region zdefiniowany jako zbiór wstępnie zdefiniowanych celów geograficznych obszary geograficzne. Przykłady typów kierowania geograficznego to kraje, stany, miasta, i lotniska. Jednak obecnie tylko usługa regions obsługuje typ „Stan” dla Brazylii i „Region” dla Rosji. Do pobierz plik CSV ze wszystkimi identyfikatorami kierowania geograficznego, w tym miejscami docelowymi, które można używane z usługą regions, patrz Cele geograficzne. Poniższy przykład pokazuje nowego regionu, podając identyfikatory kierowania geograficznego trzech stanów w Brazylii.

Aby utworzyć region, wyślij prośbę POST, używając tego adresu URL, i poproś treść:

https://shoppingcontent.googleapis.com/content/v2.1/merchantId/regions?regionId=123456
{
  geoTargetAreas: {
    geotargetCriteriaId: [20106, 20102, 20101] //Sao Paulo, Rio de Janeiro, Parana
  }
}

Użyj regionów do tworzenia regionalnych zastąpień cen

Po utworzeniu regionu usługa regions zwraca obiekt odpowiedzi, który zawiera regionId i 2 pola stanu kwalifikujących się. Jeśli Parametr regionalInventoryEligible przyjmuje wartość true. Możesz użyć właściwości regionaliventory. do utworzenia zastąpienia, które ustawi inną cenę dla danego regionu. Poniższy przykład tworzy zastąpienie ceny regionalnej za pomocą kodu pocztowego utworzony w przykładzie powyżej, który ma regionId o wartości „456789”.

Aby utworzyć zastąpienie, wyślij żądanie POST za pomocą poniższego adresu URL i treść żądania:

https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/{productId}/regionalinventory
{
  “regionId”: "456789"
  “price”: {
    value: “10”
    currency: “USD”
  },
  “availability”: “in stock”
}