Esegui la migrazione della gestione delle regioni
Questa guida spiega come eseguire la migrazione dell'integrazione da RegionsService nell'API Content for Shopping a RegionsService nella sub-API Accounts.
Il servizio Regioni consente di definire aree geografiche personalizzate per casi d'uso come
prezzi e sostituzioni di spedizione a livello regionale. Puoi utilizzare le regioni con servizi
come RegionalInventory e ShippingSettings.
Differenze principali
- Struttura dell'API:il servizio Regioni ora fa parte dell'API secondaria 
Accountsnell'API Merchant (ad esempio,merchantapi.googleapis.com/accounts/v1/...). - Nomi delle risorse:l'API Merchant utilizza i nomi delle risorse
(
accounts/{account}/regions/{region}) anziché i parametrimerchant_ideregion_idseparati nel percorso URL per le operazioni Get, Update e Delete. - Conformità AIP:i metodi dell'API Merchant seguono i pattern standard della proposta di miglioramento
dell'API (ad esempio, l'utilizzo di 
parentper List/Create,nameper Get/Delete e l'utilizzo standard diupdate_mask). - Tipi di wrapper:i campi che in precedenza utilizzavano 
google.protobuf.StringValueogoogle.protobuf.BoolValuenell'API Content ora utilizzano i campioptionalstandard nell'API Merchant. - Nuove funzionalità:
- L'API Merchant introduce un tipo 
RadiusAreaall'interno della risorsaRegionper definire le regioni in base a un raggio intorno a un punto (inizialmente con visibilitàTRUST_TESTER). - Sono disponibili i metodi batch 
BatchCreateRegions,BatchUpdateRegionseBatchDeleteRegions. 
 - L'API Merchant introduce un tipo 
 - Gestione degli errori:i codici e i messaggi di errore forniscono un feedback più specifico.
 
Richieste
Ecco come cambiano i pattern di richiesta:
| Elemento | Content API for Shopping | API Merchant | Descrizione | 
|---|---|---|---|
| Endpoint | https://shoppingcontent.googleapis.com  | 
   https://merchantapi.googleapis.com  | 
   Il dominio di base cambia. | 
| Ottieni percorso | /content/v2.1/{merchant_id}/regions/{region_id}  | 
   /accounts/v1/{name=accounts/*/regions/*}  | 
   L'API Merchant utilizza la sub-API accounts e una risorsa name.  | 
  
| Percorso elenco | /content/v2.1/{merchant_id}/regions  | 
   /accounts/v1/{parent=accounts/*}/regions  | 
   L'API Merchant utilizza parent per specificare l'account.   | 
  
| Crea percorso | /content/v2.1/{merchant_id}/regions  | 
   /accounts/v1/{parent=accounts/*}/regions  | 
   L'API Merchant utilizza parent. region_id è un campo nel corpo della richiesta.   | 
  
| Aggiorna percorso | /content/v2.1/{merchant_id}/regions/{region_id}  | 
   /accounts/v1/{name=accounts/*/regions/*}  | 
   Il nome della risorsa nell'API Merchant fa parte dell'oggetto region nel corpo.   | 
  
| Elimina percorso | /content/v2.1/{merchant_id}/regions/{region_id}  | 
   /accounts/v1/{name=accounts/*/regions/*}  | 
   Utilizza la risorsa name.   | 
  
Identificatori
Modifica l'utilizzo degli identificatori nel seguente modo:
| Elemento | Content API for Shopping | API Merchant | Descrizione | 
|---|---|---|---|
| Account | merchant_id (numero intero)  | 
   account (numero intero, parte della stringa name o parent)  | 
   Trova l'ID account incorporato nella stringa del nome della risorsa, ad esempio accounts/{account}.  | 
  
| Regione | region_id (stringa)  | 
   {region} (stringa, parte della stringa name)  | 
   Trova l'ID regione incorporato nella stringa del nome della risorsa, ad esempio accounts/{account}/regions/{region}.   | 
  
| Nome risorsa | Non viene utilizzato rigorosamente per le richieste. | name: accounts/{account}/regions/{region}  | 
   Identificatore standard per le richieste Get/Update/Delete. | 
| Nome genitore | Non viene utilizzato rigorosamente per le richieste. | parent: accounts/{account}  | 
   Identificatore standard per le richieste List/Create. | 
Risorse
La struttura delle risorse Region presenta modifiche minori:
| Elemento | Content API for Shopping | API Merchant | Descrizione | 
|---|---|---|---|
| Identificatore di risorse | region_id (string), merchant_id (int64)  | 
   name (stringa): accounts/{account}/regions/{region}  | 
   L'API Merchant utilizza un singolo campo name come identificatore della risorsa.   | 
  
display_name  | 
   google.protobuf.StringValue  | 
   optional string  | 
   Tipo di wrapper rimosso. | 
radius_area  | 
   Non disponibile (N/A) | RadiusArea  | 
   
    Questo nuovo tipo definisce le regioni in base al raggio. Include
    region_code, lat_lng, radius,
    radius_units. Per impostazione predefinita, la visibilità è limitata.
    | 
  
regional_inventory_eligible  | 
   google.protobuf.BoolValue (solo output)  | 
   optional bool (solo output)  | 
   Tipo di wrapper rimosso. | 
shipping_eligible  | 
   google.protobuf.BoolValue (solo output)  | 
   optional bool (solo output)  | 
   Tipo di wrapper rimosso. | 
Metodi
Modifica l'utilizzo dei metodi nel seguente modo:
| Elemento | Content API for Shopping | API Merchant | Descrizione | 
|---|---|---|---|
| Get Region | GetRegion  | 
   GetRegion  | 
   La richiesta utilizza name.   | 
  
| Crea regione | CreateRegion  | 
   CreateRegion  | 
   
   La richiesta prende parent dall'URL, mentre il corpo della richiesta
   include l'oggetto region e region_id.
    | 
  
| Aggiorna regione | UpdateRegion  | 
   UpdateRegion  | 
   
    La richiesta utilizza region (che deve includere region.name)
    e update_mask.
    | 
  
| Elimina regione | DeleteRegion
    | 
   DeleteRegion
    | 
   La richiesta utilizza name.
    | 
  
| List Regions | ListRegions  | 
   ListRegions  | 
   
   La richiesta utilizza parent. Il comportamento di page_size e page_token è coerente.
    | 
  
| Creazione batch | N/D | BatchCreateRegions  | 
   Questo è un nuovo metodo. | 
| Aggiornamento batch | N/D | BatchUpdateRegions  | 
   Questo è un nuovo metodo. | 
| Eliminazione batch | N/D | BatchDeleteRegions  | 
   Questo è un nuovo metodo. | 
Campi rinominati
| Elemento | Content API for Shopping | API Merchant | Descrizione | 
|---|---|---|---|
| ID account | merchant_id  | 
   account (parte di name o parent)  | 
   
    Integrato nelle stringhe di risorse name. Ciò influisce su
    Region (risposta) e sui messaggi protobuf utilizzati per effettuare richieste API, come CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest e ListRegionsRequest.
    | 
  
| ID regione | region_id  | 
   region (parte di name), region_id  | 
   Integrato in name per la maggior parte, campo region_id separato in CreateRegionRequest. Ciò influisce su Region
   (risposta) e sui messaggi protobuf utilizzati per effettuare richieste API, ad esempio
   CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest
   e ListRegionsRequest.
    | 
  
| Nome regione (output) | region_id
    | 
   name
    | 
   Il campo dell'identificatore principale nella risposta è ora la risorsa completa name. Questa operazione interessa Region.
    | 
  
| Nome visualizzato | display_name  | 
   display_name  | 
   
    Il tipo cambia da StringValue a optional string.
    Questa operazione interessa Region.
    | 
  
| Flag di idoneità | ...eligible  | 
   ...eligible  | 
   
    Il tipo cambia da BoolValue a optional bool.
    Questa operazione interessa Region.
    | 
  
| Aggiorna maschera | update_mask  | 
   update_mask  | 
   Region percorsi dei campi. Questa operazione interessa UpdateRegionRequest.  |