Ce guide explique comment migrer votre intégration depuis RegionsService dans Content API for Shopping vers RegionsService dans la sous-API Accounts.
Le service Regions vous permet de définir des zones géographiques personnalisées pour des cas d'utilisation tels que les remplacements de prix et de livraison régionaux. Vous pouvez utiliser des régions avec des services tels que RegionalInventory et ShippingSettings.
Différences majeures
- Structure de l'API : le service Regions fait désormais partie de la sous-API
Accountsdans l'API Merchant (par exemple,merchantapi.googleapis.com/accounts/v1/...). - Noms de ressources : Merchant API utilise des noms de ressources (
accounts/{account}/regions/{region}) au lieu de paramètresmerchant_idetregion_iddistincts dans le chemin d'URL pour les opérations Get, Update et Delete. - Conformité avec l'AIP : les méthodes de l'API Merchant suivent les modèles standards de la proposition d'amélioration de l'API (par exemple, l'utilisation de
parentpour List/Create, denamepour Get/Delete et l'utilisation standard deupdate_mask). - Types de wrappers : les champs qui utilisaient auparavant
google.protobuf.StringValueougoogle.protobuf.BoolValuedans Content API utilisent désormais des champsoptionalstandards dans Merchant API. - Nouvelles fonctionnalités :
- Merchant API introduit un type
RadiusAreadans la ressourceRegionpour définir des régions en fonction d'un rayon autour d'un point (initialement avec une visibilitéTRUST_TESTER). - Les méthodes par lot (
BatchCreateRegions,BatchUpdateRegions,BatchDeleteRegions) sont disponibles.
- Merchant API introduit un type
- Gestion des erreurs : les codes et messages d'erreur fournissent des informations plus spécifiques.
Requêtes
Voici comment les schémas de requête changent :
| Élément | Content API for Shopping | Merchant API | Description |
|---|---|---|---|
| Point de terminaison | https://shoppingcontent.googleapis.com |
https://merchantapi.googleapis.com |
Le domaine de base change. |
| Obtenir le chemin d'accès | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Merchant API utilise la sous-API accounts et une ressource name. |
| Chemin de la liste | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
L'API Merchant utilise parent pour spécifier le compte. |
| Créer un chemin | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
Merchant API utilise parent. region_id est un champ du corps de la requête. |
| Chemin de mise à jour | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Le nom de la ressource dans l'API Merchant fait partie de l'objet region dans le corps. |
| Supprimer le chemin | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Utilise la ressource name. |
Identifiants
Modifiez votre utilisation des identifiants comme suit :
| Élément | Content API for Shopping | Merchant API | Description |
|---|---|---|---|
| Compte | merchant_id (entier) |
account (entier, partie de la chaîne name ou parent) |
Recherchez l'ID de compte intégré dans la chaîne du nom de ressource, par exemple accounts/{account}. |
| Région | region_id (chaîne) |
{region} (chaîne, partie de la chaîne name) |
Recherchez l'identifiant de la région intégré à la chaîne du nom de la ressource, par exemple accounts/{account}/regions/{region}. |
| Nom de la ressource | N'est pas strictement utilisé pour les demandes. | name : accounts/{account}/regions/{region} |
Identifiant standard pour les requêtes Get/Update/Delete. |
| Nom du parent | N'est pas strictement utilisé pour les demandes. | parent : accounts/{account} |
Identifiant standard pour les requêtes List/Create. |
Ressources
La structure de la ressource Region a subi quelques modifications mineures :
| Élément | Content API for Shopping | Merchant API | Description |
|---|---|---|---|
| Identifiant de ressource | region_id (chaîne), merchant_id (int64) |
name (chaîne) : accounts/{account}/regions/{region} |
L'API Merchant utilise un seul champ name comme identifiant de ressource. |
display_name |
google.protobuf.StringValue |
optional string |
Type d'unité d'emballage supprimé. |
radius_area |
Non disponible (N/A) | RadiusArea |
Ce nouveau type définit les régions par rayon. Inclut region_code, lat_lng, radius et radius_units. Par défaut, la visibilité est limitée.
|
regional_inventory_eligible |
google.protobuf.BoolValue (sortie uniquement) |
optional bool (sortie uniquement) |
Type d'unité d'emballage supprimé. |
shipping_eligible |
google.protobuf.BoolValue (sortie uniquement) |
optional bool (sortie uniquement) |
Type d'unité d'emballage supprimé. |
Méthodes
Modifiez votre utilisation des méthodes comme suit :
| Élément | Content API for Shopping | Merchant API | Description |
|---|---|---|---|
| Obtenir la région | GetRegion |
GetRegion |
La requête utilise name. |
| Créer une région | CreateRegion |
CreateRegion |
La requête récupère le parent à partir de l'URL, tandis que le corps de la requête inclut l'objet region et le region_id.
|
| Modifier la région | UpdateRegion |
UpdateRegion |
La requête utilise region (qui doit inclure region.name) et update_mask.
|
| Supprimer la région | DeleteRegion
|
DeleteRegion
|
La requête utilise name.
|
| Lister les régions | ListRegions |
ListRegions |
La requête utilise parent. Le comportement de page_size et de page_token est cohérent.
|
| Création par lot | N/A | BatchCreateRegions |
Il s'agit d'une nouvelle méthode. |
| Mise à jour groupée | N/A | BatchUpdateRegions |
Il s'agit d'une nouvelle méthode. |
| Suppression par lot | N/A | BatchDeleteRegions |
Il s'agit d'une nouvelle méthode. |
Champs renommés
| Élément | Content API for Shopping | Merchant API | Description |
|---|---|---|---|
| ID de compte | merchant_id |
account (partie de name ou parent) |
Intégrés aux chaînes de ressources name. Cela affecte Region (réponse) et les messages protobuf utilisés pour effectuer des requêtes API, tels que CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest et ListRegionsRequest.
|
| Identifiant de la région | region_id |
region (partie de name), region_id |
Intégré à name pour la plupart des utilisateurs, champ region_id distinct dans CreateRegionRequest. Cela affecte les messages Region (réponse) et protobuf utilisés pour envoyer des requêtes API, tels que CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest et ListRegionsRequest.
|
| Nom de la région (sortie) | region_id
|
name
|
Le champ d'identifiant principal dans la réponse est désormais la ressource complète name. Cela affecte Region.
|
| Nom à afficher | display_name |
display_name |
Le type passe de StringValue à optional string.
Cela affecte Region.
|
| Indicateurs d'éligibilité | ...eligible |
...eligible |
Le type passe de BoolValue à optional bool.
Cela affecte Region.
|
| Masque de mise à jour | update_mask |
update_mask |
Chemins d'accès aux champs Region. Cela affecte UpdateRegionRequest. |