Bölgeler

regions hizmeti, Google'ın ilgi alanına sahip coğrafi bölgeleri hedef olarak kullanabilirsiniz. regionalinventory ve shippingsettings kullanıma sunuyoruz. Bölgeleri, posta kodu koleksiyonları olarak veya bazı ülkelerde kullanılabilir ve coğrafi hedefler. Bu kılavuzda sunulan Her bölge türünün nasıl tanımlanacağına ve bölgesel bir bölge fiyatlandırmayı geçersiz kılma regions hizmeti hakkında daha fazla bilgi için daha fazla bilgi edinmek için referans belgeleri inceleyin.

Bölge uygunluğu

Bir bölge oluşturduğunuzda, bölge hizmeti, bölgesini diğer Content API hizmetleriyle kontrol edin. Şu sorgu için döndürülen yanıt nesnesi: başarılı regions.create çağrısı iki boole alanı içeriyor: regionalInventoryEligible ve shippingEligible değerleridir. Bu değerler, Bölgeyi regionalinventory ve shippingsettings hizmetleriyle kullanabilir, tıklayın.

regionalInventoryEligible

Bir bölgenin, regionalinventory hizmetiyle kullanılabilmesi için karşılaması gerekir şu kriterlere uygun olmalıdır:

  • Bölge oluştururken belirttiğiniz regionId yalnızca şunları içermelidir: ve en az 6 rakam içermelidir.
  • Bölge, coğrafi alan ve çevrimiçi kullanım için minimum boyut gereksinimlerini karşılamalıdır kullanır.

shippingEligible

Bir bölgenin, shippingsettings hizmetiyle kullanılabilmesi için karşılaması gerekir şu kriterlere uygun olmalıdır:

  • Bölge, posta kodları kullanılarak tanımlanmalıdır.
  • Bölge, shippingsettings tarafından desteklenen bir ülkeye ait olmalıdır. geliştirmenizi sağlar.

Örnekler

Aşağıda, Java'da yeni bir bölge oluşturmak için kullanabileceğiniz eksiksiz bir kod örneği verilmiştir:

// 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();
  }
}

Posta kodlarını kullanarak bölge oluşturma

Şunu kullanabilirsiniz: regions.create yöntemini kullanarak posta kodlarının koleksiyonu olarak tanımlanan bir bölge oluşturun. Örnek aşağıdaki alana ait bir aralık belirterek ABD'nin Arizona eyaleti için yeni bir bölge posta kodları.

Bölgeyi oluşturmak için aşağıdaki URL ile bir POST isteği gönderin ve istekte bulunun gövde:

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

regions için 2 MB'lık kesin bir veri sınırı vardır ve Merchant Center hesabı başına shippingsettings. Kargo ve bölge ayarları bir MCA'dan tüm alt hesaplarına dahili olarak kopyalanır. Böylece, MCA'lar, depolama alanı sınırınıza kısa sürede ulaşabilirsiniz. Bu durumda geçici bir çözüm regions ve shippingsettings öğelerini satıcı kimliği düzeyinde yönetmek için. Hayır 2 MB sınırını aşan bölge kotanızı artırmanın bir yolunu sunar.

Coğrafi hedefleri kullanarak bölge oluşturma

Brezilya ve Rusya'daki bölgeler için regions.create yöntemini de kullanabilirsiniz coğrafi hedeflerin bir koleksiyonu olarak tanımlanmış bir bölge oluşturun ve coğrafi bölgelerdir. Coğrafi hedefleme türlerine örnek olarak ülkeler, eyaletler, şehirler, ve havalimanları yer alır. Ancak regions hizmeti şu anda yalnızca Brezilya için "Eyalet" türünü ve Rusya için "Bölge" türünü destekler. Alıcı: eklenebilecek coğrafi hedefler dahil olmak üzere, tüm coğrafi hedef kimliklerinin regions hizmetiyle kullanılır, bkz. Coğrafi hedefler. Aşağıdaki örnekte oluşturulan Brezilya'daki üç eyaletin coğrafi hedef kimliklerini sağlayarak yeni bir bölge oluşturabilirsiniz.

Bölgeyi oluşturmak için aşağıdaki URL'yi kullanarak bir POST isteği gönderin ve istekte bulunun. gövde:

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

Bölgesel fiyat geçersiz kılmaları oluşturmak için bölgeleri kullanın

Bir bölge oluşturduğunuzda regions hizmeti şu yanıt nesnesini döndürür: bir regionId ve iki uygunluk durumu alanı içerir. Öğe regionalInventoryEligible değeri true. regionaliventory değerini kullanabilirsiniz hizmetini kullanarak bölge için farklı fiyat ayarlayan bir geçersiz kılma oluşturabilirsiniz. İlgili içeriği oluşturmak için kullanılan aşağıdaki örnek, posta koduna dayalı kampanya bilgisi kullanarak bölgesel fiyatı geçersiz kılmayı regionId değeri "456789" olan bölge, yukarıdaki örnekte oluşturulmuştur.

Geçersiz kılmayı oluşturmak için aşağıdaki URL'yi kullanarak bir POST isteğinde bulunun ve istek içeriği:

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