Migra la administración de regiones

En esta guía, se explica cómo migrar tu integración de RegionsService en Content API for Shopping a 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 regionales de precios y envíos. 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 de Accounts en 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ámetros merchant_id y region_id separados en la ruta de acceso de la URL para las operaciones Get, Update y Delete.
  • Cumplimiento de AIP: Los métodos de la API de Merchant siguen patrones estándar de la Propuesta de mejora de la API (como usar parent para List/Create, name para Get/Delete y el uso estándar de update_mask).
  • Tipos de empaquetadores: Los campos que antes usaban google.protobuf.StringValue o google.protobuf.BoolValue en Content API ahora usan campos optional estándar en la API de Merchant.
  • Nuevas funciones:
    • La API de Merchant presenta un tipo RadiusArea dentro del recurso Region para definir regiones en función de un radio alrededor de un punto (inicialmente con visibilidad TRUST_TESTER).
    • Los métodos por lotes (BatchCreateRegions, BatchUpdateRegions, BatchDeleteRegions) están disponibles.
  • Manejo de errores: Los códigos y mensajes de error proporcionan comentarios más específicos.

Solicitudes

A continuación, se muestra cómo cambian los patrones de solicitud:

Elemento Content API for Shopping API de Merchant Descripción
Extremo https://shoppingcontent.googleapis.com https://merchantapi.googleapis.com Cambia el dominio base.
Ruta de acceso de Get /content/v2.1/{merchant_id}/regions/{region_id} /accounts/v1/{name=accounts/*/regions/*} La API de Merchant usa la sub-API de accounts y un recurso name.
Ruta de acceso de List /content/v2.1/{merchant_id}/regions /accounts/v1/{parent=accounts/*}/regions La API de Merchant usa parent para especificar la cuenta.
Ruta de acceso de Create /content/v2.1/{merchant_id}/regions /accounts/v1/{parent=accounts/*}/regions La API de Merchant usa parent. region_id es un campo en el cuerpo de la solicitud.
Ruta de acceso de Update /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.
Ruta de acceso de Delete /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 Descripción
Cuenta merchant_id (entero) account (entero, parte de la cadena name o parent) Busca el ID de la cuenta incorporado en la cadena de nombre del recurso, por ejemplo, accounts/{account}.
Región region_id (cadena) {region} (cadena, parte de la cadena name) Busca el ID de la región incorporado en la cadena de nombre del recurso, por ejemplo, accounts/{account}/regions/{region}.
Nombre del recurso No se usa estrictamente para las solicitudes. name: accounts/{account}/regions/{region} Identificador estándar para las solicitudes Get/Update/Delete.
Nombre superior No se usa estrictamente para las solicitudes. parent: accounts/{account} Identificador estándar para las solicitudes List/Create.

Recursos

La estructura del recurso Region tiene cambios menores:

Elemento Content API for Shopping API de Merchant 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 recursos.
display_name google.protobuf.StringValue optional string Se quitó el tipo de empaquetador.
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 empaquetador.
shipping_eligible google.protobuf.BoolValue (solo salida) optional bool (solo salida) Se quitó el tipo de empaquetador.

Métodos

Cambia el uso de los métodos de la siguiente manera:

Elemento Content API for Shopping API de Merchant Descripción
Obtener región GetRegion GetRegion La solicitud usa name.
Crear región 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.
Mostrar regiones ListRegions ListRegions La solicitud usa parent. page_size y page_token el comportamiento 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.
Borrado por lotes N/A BatchDeleteRegions Este es un método nuevo.

Campos renombrados

Elemento Content API for Shopping API de Merchant Descripción
ID de la cuenta merchant_id account (parte de name o parent) Integrado en cadenas name de recursos. Esto afecta a Region (respuesta) y a los mensajes de 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 a Region (respuesta) y a 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 del 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 acceso de campo Region. Esto afecta a UpdateRegionRequest.

Más información