Regioni

Il servizio regions ti consente di creare e gestire regioni geografiche che che puoi utilizzare come target sia regionalinventory e shippingsettings i servizi di machine learning. Le regioni possono essere definite come raccolte di codici postali o in alcuni paesi, utilizzando i valori predefiniti target geografici. Questa guida fornisce esempi di come definire ogni tipo di regione e di come creare una regione la variazione di prezzo. Per ulteriori informazioni sul servizio regions, inclusi tutti i metodi e i parametri disponibili, consulta la documentazione di riferimento.

Idoneità delle regioni

Quando crei una regione, il servizio regioni determina se puoi utilizzare regione con altri servizi API Content. L'oggetto risposta restituito per un chiamata regions.create riuscita include due campi booleani, regionalInventoryEligible e shippingEligible, che indicano se può utilizzare la regione con i servizi regionalinventory e shippingsettings, rispettivamente.

regionalInventoryEligible

Per essere idoneo all'utilizzo con il servizio regionalinventory, una regione deve soddisfare i seguenti criteri:

  • Il parametro regionId, specificato durante la creazione di una regione, deve contenere solo e deve contenere almeno 6 cifre.
  • La regione deve soddisfare i requisiti di dimensioni minime per l'area geografica e la pubblicità online popolazione.

shippingEligible

Per essere idoneo all'utilizzo con il servizio shippingsettings, una regione deve soddisfare i seguenti criteri:

  • La regione deve essere definita utilizzando i codici postali.
  • La regione deve far parte di un paese supportato dalla shippingsettings completamente gestito di Google Cloud.

Esempi

Ecco un esempio di codice completo che puoi utilizzare per creare una nuova regione in 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();
  }
}

Crea una regione utilizzando i codici postali

Puoi utilizzare la regions.create per creare una regione definita come insieme di codici postali. L'esempio di seguito crea una nuova regione per lo stato americano dell'Arizona specificando un intervallo i codici postali.

Per creare la regione, effettua una richiesta POST con il seguente URL e richiedi Corpo:

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

Esiste un limite fisso di 2 MB di dati per regions e shippingsettings per account Merchant Center. Impostazioni regione e spedizione vengono copiati internamente da un AMC a tutti i suoi subaccount, quindi per AMC, potresti raggiungere rapidamente il tuo limite di spazio di archiviazione. In questo caso, una soluzione alternativa è per gestire regions e shippingsettings a livello di ID commerciante. Non esiste per aumentare la quota per le regioni oltre il limite di 2 MB.

Creare una regione utilizzando i target geografici

Per le regioni in Brasile e Russia, puoi anche utilizzare il metodo regions.create per creare una regione definita come una raccolta di target geografici predefiniti aree geografiche indipendenti. Esempi di tipi di target geografici includono paesi, stati, città quartieri e aeroporti. Tuttavia, al momento il servizio regions supporta il tipo "Stato" per il Brasile e il tipo "Regione" per la Russia. A scarica un file CSV di tutti gli ID dei target geografici, compresi i target geografici che possono essere utilizzati con il servizio regions, consulta Target geografici: L'esempio seguente crea una nuova regione fornendo gli ID targeting geografico di tre stati brasiliani.

Per creare la regione, effettua una richiesta POST utilizzando il seguente URL e una richiesta Corpo:

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

Utilizza le regioni per creare sostituzioni di prezzi regionali

Quando crei una regione, il servizio regions restituisce un oggetto di risposta che include un regionId e due campi relativi allo stato di idoneità. Se Il valore di regionalInventoryEligible è true, puoi utilizzare regionaliventory per creare un override che imposti un prezzo diverso per la regione. La l'esempio riportato di seguito crea una sostituzione di prezzo regionale utilizzando il modello basato sul codice postale regione creata nell'esempio precedente, che ha un valore regionId di "456789".

Per creare l'override, effettua una richiesta POST utilizzando il seguente URL e corpo della richiesta:

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