Migrer la gestion des régions
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 prix régionaux et les exceptions de livraison. 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 : l'API Merchant utilise des noms de ressources (accounts/{account}/regions/{region}) au lieu de paramètresmerchant_idetregion_iddistincts dans le chemin d'accès de l'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 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 l'API Merchant.
- Nouvelles fonctionnalités :
- L'API Merchant 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.
 
- L'API Merchant 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 | API Merchant | 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/*} | L'API Merchant utilise la sous-API accountset une ressourcename. | 
| Chemin de la liste | /content/v2.1/{merchant_id}/regions | /accounts/v1/{parent=accounts/*}/regions | L'API Merchant utilise parentpour spécifier le compte. | 
| Créer un chemin | /content/v2.1/{merchant_id}/regions | /accounts/v1/{parent=accounts/*}/regions | L'API Merchant utilise parent.region_idest 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/*} | Dans l'API Merchant, le nom de la ressource fait partie de l'objet regiondans 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 | API Merchant | Description | 
|---|---|---|---|
| Compte | merchant_id(entier) | account(entier, partie de la chaînenameouparent) | 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înename) | Recherchez l'ID de région intégré dans 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 | API Merchant | 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 namecomme identifiant de ressource. | 
| display_name | google.protobuf.StringValue | optional string | Type de wrapper supprimé. | 
| radius_area | Non disponible (N/A) | RadiusArea | Ce nouveau type définit les régions par rayon. Inclut region_code,lat_lng,radiusetradius_units. Par défaut, la visibilité est limitée. | 
| regional_inventory_eligible | google.protobuf.BoolValue(sortie uniquement) | optional bool(sortie uniquement) | Type de wrapper supprimé. | 
| shipping_eligible | google.protobuf.BoolValue(sortie uniquement) | optional bool(sortie uniquement) | Type de wrapper supprimé. | 
Méthodes
Modifiez votre utilisation des méthodes comme suit :
| Élément | Content API for Shopping | API Merchant | Description | 
|---|---|---|---|
| Obtenir la région | GetRegion | GetRegion | La requête utilise name. | 
| Créer une région | CreateRegion | CreateRegion | La requête extrait le parentde l'URL, tandis que le corps de la requête inclut l'objetregionet leregion_id. | 
| Modifier la région | UpdateRegion | UpdateRegion | La requête utilise region(qui doit inclureregion.name) etupdate_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 depage_sizeetpage_tokenest 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 | API Merchant | Description | 
|---|---|---|---|
| ID de compte | merchant_id | account(partie denameouparent) | Intégrés aux chaînes de ressources name. Cela affecteRegion(réponse) et les messages protobuf utilisés pour envoyer des requêtes d'API, tels queCreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequestetListRegionsRequest. | 
| Identifiant de la région | region_id | region(partie dename),region_id | Intégré à namepour la plupart des utilisateurs, champregion_iddistinct dansCreateRegionRequest. Cela affecte les messages protobufRegion(réponse) et ceux utilisés pour envoyer des requêtes d'API, tels queCreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequestetListRegionsRequest. | 
| Nom de la région (sortie) | region_id | name | Le champ d'identifiant principal dans la réponse est désormais l' namecomplet de la ressource. Cela affecteRegion. | 
| Nom à afficher | display_name | display_name | Le type passe de StringValueàoptional string.
    Cela affecteRegion. | 
| Indicateurs d'éligibilité | ...eligible | ...eligible | Le type passe de BoolValueàoptional bool.
    Cela affecteRegion. | 
| Masque de mise à jour | update_mask | update_mask | Chemins d'accès aux champs Region. Cela affecteUpdateRegionRequest. |