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
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 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
parentpara List/Create,namepara Get/Delete y el uso estándar deupdate_mask). - Tipos de empaquetadores: Los campos que antes usaban
google.protobuf.StringValueogoogle.protobuf.BoolValueen Content API ahora usan camposoptionalestándar en la API de Merchant. - Nuevas funciones:
- La API de Merchant presenta un tipo
RadiusAreadentro del recursoRegionpara definir regiones en función de un radio alrededor de un punto (inicialmente con visibilidadTRUST_TESTER). - Los métodos por lotes (
BatchCreateRegions,BatchUpdateRegions,BatchDeleteRegions) están disponibles.
- La API de Merchant presenta un tipo
- 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. |