Eseguire la migrazione della gestione delle regioni
Questa guida spiega come eseguire la migrazione dell'integrazione da RegionsService in API Content for Shopping a RegionsService all'interno della sotto-API Accounts.
Il servizio Regions consente di definire aree geografiche personalizzate per casi d'uso come i prezzi regionali e le sostituzioni delle spedizioni. Puoi utilizzare le regioni con servizi come RegionalInventory e ShippingSettings.
Differenze principali
- Struttura dell'API: il servizio Regions fa ora parte della sotto-API
Accountsin Merchant API (ad esempio,merchantapi.googleapis.com/accounts/v1/...). - Nomi delle risorse: Merchant API utilizza i nomi delle risorse (
accounts/{account}/regions/{region}) anziché i parametrimerchant_ideregion_idseparati nel percorso dell'URL per le operazioni Get, Update ed Delete. - Conformità AIP: i metodi Merchant API seguono i pattern standard di API Improvement
Proposal (ad esempio, l'utilizzo di
parentper List/Create,nameper Get/Delete e l'utilizzo standard diupdate_mask). - Tipi di wrapper: i campi che in precedenza utilizzavano
google.protobuf.StringValueogoogle.protobuf.BoolValuein API Content ora utilizzano i campioptionalstandard in Merchant API. - Nuove funzionalità:
- Merchant API introduce un tipo
RadiusAreaall'interno della risorsaRegionper definire le regioni in base a un raggio attorno a un punto (inizialmente con visibilitàTRUST_TESTER). - Sono disponibili i metodi batch:
BatchCreateRegions,BatchUpdateRegions,BatchDeleteRegions.
- Merchant API introduce un tipo
- Gestione degli errori: i codici e i messaggi di errore forniscono feedback più specifici.
Richieste
Ecco come cambiano i pattern di richiesta:
| Elemento | Content API for Shopping | Merchant API | Descrizione |
|---|---|---|---|
| Endpoint | https://shoppingcontent.googleapis.com |
https://merchantapi.googleapis.com |
Il dominio di base cambia. |
| Percorso Get | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Merchant API utilizza la sotto-API accounts e una name della risorsa. |
| Percorso List | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
Merchant API utilizza parent per specificare l'account. |
| Percorso Create | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
Merchant API utilizza parent. region_id è un campo nel corpo della richiesta. |
| Percorso Update | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Il nome della risorsa in Merchant API fa parte dell'oggetto region nel corpo. |
| Percorso Delete | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Utilizza la name della risorsa. |
Identificatori
Modifica l'utilizzo degli identificatori come segue:
| Elemento | Content API for Shopping | Merchant API | Descrizione |
|---|---|---|---|
| Account | merchant_id (numero intero) |
account (numero intero, parte della stringa name o parent) |
Trova l'ID account incorporato nella stringa del nome della risorsa, ad esempio accounts/{account}. |
| Regione | region_id (stringa) |
{region} (stringa, parte della stringa name) |
Trova l'ID regione incorporato nella stringa del nome della risorsa, ad esempio accounts/{account}/regions/{region}. |
| Nome risorsa | Non utilizzato rigorosamente per le richieste. | name: accounts/{account}/regions/{region} |
Identificatore standard per le richieste Get/Update/Delete. |
| Nome genitore | Non utilizzato rigorosamente per le richieste. | parent: accounts/{account} |
Identificatore standard per le richieste List/Create. |
Risorse
La struttura della risorsa Region presenta modifiche minori:
| Elemento | Content API for Shopping | Merchant API | Descrizione |
|---|---|---|---|
| Identificatore risorsa | region_id (stringa), merchant_id (int64) |
name (stringa): accounts/{account}/regions/{region} |
Merchant API utilizza un singolo campo name come identificatore della risorsa. |
display_name |
google.protobuf.StringValue |
optional string |
Tipo di wrapper rimosso. |
radius_area |
Non disponibile (N/D) | RadiusArea |
Questo nuovo tipo definisce le regioni in base al raggio. Includes
region_code, lat_lng, radius,
radius_units. Per impostazione predefinita, la visibilità è limitata.
|
regional_inventory_eligible |
google.protobuf.BoolValue (solo output) |
optional bool (solo output) |
Tipo di wrapper rimosso. |
shipping_eligible |
google.protobuf.BoolValue (solo output) |
optional bool (solo output) |
Tipo di wrapper rimosso. |
Metodi
Modifica l'utilizzo dei metodi come segue:
| Elemento | Content API for Shopping | Merchant API | Descrizione |
|---|---|---|---|
| Ottieni regione | GetRegion |
GetRegion |
La richiesta utilizza name. |
| Crea regione | CreateRegion |
CreateRegion |
La richiesta accetta il parent dall'URL, mentre il corpo della richiesta
include l'oggetto region e il region_id.
|
| Aggiorna regione | UpdateRegion |
UpdateRegion |
La richiesta utilizza region (che deve includere region.name)
e update_mask.
|
| Elimina regione | DeleteRegion
|
DeleteRegion
|
La richiesta utilizza name.
|
| Elenca regioni | ListRegions |
ListRegions |
La richiesta utilizza parent. page_size e
page_token il comportamento è coerente.
|
| Crea batch | N/D | BatchCreateRegions |
Questo è un nuovo metodo. |
| Aggiorna batch | N/D | BatchUpdateRegions |
Questo è un nuovo metodo. |
| Elimina batch | N/D | BatchDeleteRegions |
Questo è un nuovo metodo. |
Campi rinominati
| Elemento | Content API for Shopping | Merchant API | Descrizione |
|---|---|---|---|
| ID account | merchant_id |
account (parte di name o parent) |
Integrato nelle stringhe name delle risorse. Ciò influisce su
Region (risposta) e sui messaggi protobuf utilizzati per effettuare richieste API, come CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest e ListRegionsRequest.
|
| ID regione | region_id |
region (parte di name), region_id |
Integrato in name per la maggior parte, campo region_id
separato in CreateRegionRequest. Ciò influisce su Region
(risposta) e sui messaggi protobuf utilizzati per effettuare richieste API, come
CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest
e ListRegionsRequest.
|
| Nome regione (output) | region_id
|
name
|
Il campo identificatore principale nella risposta è ora la name completa della risorsa. Ciò influisce su Region.
|
| Nome visualizzato | display_name |
display_name |
Il tipo cambia da StringValue a optional string.
Ciò influisce su Region.
|
| Flag di idoneità | ...eligible |
...eligible |
Il tipo cambia da BoolValue a optional bool.
Ciò influisce su Region.
|
| Maschera di aggiornamento | update_mask |
update_mask |
Percorsi dei campi Region. Ciò influisce su UpdateRegionRequest. |