Migra la administración de regiones
En esta guía, se explica cómo migrar tu integración del objeto RegionsService en Content API for Shopping al objeto RegionsService dentro de la sub-API de Accounts.
El servicio de Regions te permite definir áreas geográficas personalizadas para casos de uso como anulaciones de precios y envíos regionales. Puedes usar regiones con servicios como RegionalInventory y ShippingSettings.
Diferencias clave
- Estructura de la API: El servicio de Regions ahora forma parte de la sub-API 
Accountsen la API de Merchant (por ejemplo,merchantapi.googleapis.com/accounts/v1/...). - Nombres de recursos: La API de Merchant usa nombres de recursos (
accounts/{account}/regions/{region}) en lugar de parámetrosmerchant_idyregion_idseparados en la ruta de URL para las operaciones Get, Update y Delete. - Cumplimiento con la AIP: Los métodos de la API de Merchant siguen patrones estándar de Propuesta de mejora de la API (como el uso de 
parentpara List/Create,namepara Get/Delete y el uso estándar deupdate_mask). - Tipos de wrapper: Los campos que antes usaban 
google.protobuf.StringValueogoogle.protobuf.BoolValueen Content API ahora usan camposoptionalestándar en Merchant API. - Nuevas funciones:
- La API de Merchant presenta un tipo 
RadiusAreadentro del recursoRegionpara definir regiones según un radio alrededor de un punto (inicialmente con visibilidadTRUST_TESTER). - Están disponibles los métodos por lotes: 
BatchCreateRegions,BatchUpdateRegionsyBatchDeleteRegions. 
 - La API de Merchant presenta un tipo 
 - Manejo de errores: Los códigos y mensajes de error proporcionan comentarios más específicos.
 
Solicitudes
Así cambian los patrones de solicitudes:
| Elemento | Content API for Shopping | API de Merchant Center | Descripción | 
|---|---|---|---|
| Extremo | https://shoppingcontent.googleapis.com  | 
   https://merchantapi.googleapis.com  | 
   Cambia el dominio base. | 
| Get Path | /content/v2.1/{merchant_id}/regions/{region_id}  | 
   /accounts/v1/{name=accounts/*/regions/*}  | 
   La API de Merchant usa la sub-API accounts y un recurso name.  | 
  
| Ruta de acceso a la lista | /content/v2.1/{merchant_id}/regions  | 
   /accounts/v1/{parent=accounts/*}/regions  | 
   La API de Merchant usa parent para especificar la cuenta.   | 
  
| Crear ruta | /content/v2.1/{merchant_id}/regions  | 
   /accounts/v1/{parent=accounts/*}/regions  | 
   La API de Merchant Center usa parent. region_id es un campo en el cuerpo de la solicitud.   | 
  
| Update Path | /content/v2.1/{merchant_id}/regions/{region_id}  | 
   /accounts/v1/{name=accounts/*/regions/*}  | 
   El nombre del recurso en la API de Merchant forma parte del objeto region en el cuerpo.   | 
  
| Borrar ruta | /content/v2.1/{merchant_id}/regions/{region_id}  | 
   /accounts/v1/{name=accounts/*/regions/*}  | 
   Usa el recurso name.   | 
  
Identificadores
Cambia el uso de los identificadores de la siguiente manera:
| Elemento | Content API for Shopping | API de Merchant Center | Descripción | 
|---|---|---|---|
| Cuenta | merchant_id (entero)  | 
   account (número entero, parte de la cadena name o parent)  | 
   Busca el ID de la cuenta incorporado en la cadena del nombre del recurso, por ejemplo, accounts/{account}.  | 
  
| Región | region_id (string)  | 
   {region} (cadena, parte de la cadena name)  | 
   Busca el ID de la región incorporado en la cadena del nombre del recurso, por ejemplo, accounts/{account}/regions/{region}.   | 
  
| Nombre del recurso | No se usa estrictamente para las solicitudes. | name: accounts/{account}/regions/{region}  | 
   Es el identificador estándar para las solicitudes de obtención, actualización y eliminación. | 
| Nombre de la madre o el padre | No se usa estrictamente para las solicitudes. | parent: accounts/{account}  | 
   Es el identificador estándar para las solicitudes de List/Create. | 
Recursos
La estructura del recurso Region tiene cambios menores:
| Elemento | Content API for Shopping | API de Merchant Center | Descripción | 
|---|---|---|---|
| Identificador de recursos | region_id (cadena), merchant_id (int64)  | 
   name (cadena): accounts/{account}/regions/{region}  | 
   La API de Merchant usa un solo campo name como identificador de recurso.   | 
  
display_name  | 
   google.protobuf.StringValue  | 
   optional string  | 
   Se quitó el tipo de wrapper. | 
radius_area  | 
   No disponible (N/A) | RadiusArea  | 
   
    Este nuevo tipo define regiones por radio. Incluye region_code, lat_lng, radius y radius_units. De forma predeterminada, la visibilidad está restringida.
    | 
  
regional_inventory_eligible  | 
   google.protobuf.BoolValue (solo salida)  | 
   optional bool (solo salida)  | 
   Se quitó el tipo de wrapper. | 
shipping_eligible  | 
   google.protobuf.BoolValue (solo salida)  | 
   optional bool (solo salida)  | 
   Se quitó el tipo de wrapper. | 
Métodos
Cambia el uso de los métodos de la siguiente manera:
| Elemento | Content API for Shopping | API de Merchant Center | Descripción | 
|---|---|---|---|
| Get Region | GetRegion  | 
   GetRegion  | 
   La solicitud usa name.   | 
  
| Create Region | CreateRegion  | 
   CreateRegion  | 
   
   La solicitud toma el parent de la URL, mientras que el cuerpo de la solicitud incluye el objeto region y el region_id.
    | 
  
| Actualizar región | UpdateRegion  | 
   UpdateRegion  | 
   
    La solicitud usa region (que debe incluir region.name) y update_mask.
    | 
  
| Borrar región | DeleteRegion
    | 
   DeleteRegion
    | 
   La solicitud usa name.
    | 
  
| List Regions | ListRegions  | 
   ListRegions  | 
   
   La solicitud usa parent. El comportamiento de page_size y page_token es coherente.
    | 
  
| Creación por lotes | N/A | BatchCreateRegions  | 
   Este es un método nuevo. | 
| Actualización por lotes | N/A | BatchUpdateRegions  | 
   Este es un método nuevo. | 
| Borrar por lotes | N/A | BatchDeleteRegions  | 
   Este es un método nuevo. | 
Campos con el nombre cambiado
| Elemento | Content API for Shopping | API de Merchant Center | Descripción | 
|---|---|---|---|
| ID de la cuenta | merchant_id  | 
   account (parte de name o parent)  | 
   
    Se integra en las cadenas de recursos name. Esto afecta los mensajes Region (respuesta) y protobuf que se usan para realizar solicitudes a la API, como CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest y ListRegionsRequest.
    | 
  
| ID de región | region_id  | 
   region (parte de name), region_id  | 
   Integrado en name para la mayoría, campo region_id separado en CreateRegionRequest. Esto afecta los mensajes Region (respuesta) y los mensajes de Protobuf que se usan para realizar solicitudes a la API, como CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest y ListRegionsRequest.
    | 
  
| Nombre de la región (salida) | region_id
    | 
   name
    | 
   El campo de identificador principal en la respuesta ahora es el name de recurso completo. Esto afecta a Region.
    | 
  
| Nombre visible | display_name  | 
   display_name  | 
   
    El tipo cambia de StringValue a optional string.
    Esto afecta a Region.
    | 
  
| Marcas de elegibilidad | ...eligible  | 
   ...eligible  | 
   
    El tipo cambia de BoolValue a optional bool.
    Esto afecta a Region.
    | 
  
| Máscara de actualización | update_mask  | 
   update_mask  | 
   Rutas de campo Region Esto afecta a UpdateRegionRequest.  |