migración, compatibilidad

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 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 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 parent para List/Create, name para Get/Delete y el uso estándar de update_mask).
  • Tipos de wrapper: Los campos que antes usaban google.protobuf.StringValue o google.protobuf.BoolValue en Content API ahora usan campos optional estándar en Merchant API.
  • Nuevas funciones:
    • La API de Merchant introduce un tipo RadiusArea dentro del recurso Region para definir regiones basadas en un radio alrededor de un punto (inicialmente con visibilidad TRUST_TESTER).
    • Están disponibles los métodos por lotes: BatchCreateRegions, BatchUpdateRegions y BatchDeleteRegions.
  • 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 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 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 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 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 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.
Borrado por lotes N/A BatchDeleteRegions Este es un método nuevo.

Campos con el nombre cambiado

Elemento Content API for Shopping API de Merchant 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 campos Region. Esto afecta a UpdateRegionRequest.

Más información