Questa guida spiega come eseguire la migrazione dell'integrazione da RegionsService nell'API Content for Shopping a RegionsService nell'API secondaria Accounts.
Il servizio Regions ti 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 ora fa parte della sub-API
Accountsnell'API Merchant (ad esempio,merchantapi.googleapis.com/accounts/v1/...). - Nomi delle risorse: l'API Merchant utilizza i nomi delle risorse (
accounts/{account}/regions/{region}) anziché parametrimerchant_ideregion_idseparati nel percorso dell'URL per le operazioni Get, Update e Delete. - Conformità AIP: i metodi dell'API Merchant seguono i pattern standard delle proposte di miglioramento dell'API (ad esempio l'utilizzo di
parentper Elenco/Crea,nameper Recupera/Elimina e l'utilizzo standard diupdate_mask). - Tipi di wrapper: i campi che in precedenza utilizzavano
google.protobuf.StringValueogoogle.protobuf.BoolValuenell'API Content ora utilizzano campioptionalstandard nell'API Merchant. - Nuove funzionalità:
- L'API Merchant 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,BatchUpdateRegionseBatchDeleteRegions.
- L'API Merchant introduce un tipo
- Gestione degli errori: i codici di errore e i messaggi forniscono un feedback più specifico.
Richieste
Ecco come cambiano i pattern delle richieste:
| Elemento | API Content for Shopping | API Merchant | Descrizione |
|---|---|---|---|
| Endpoint | https://shoppingcontent.googleapis.com |
https://merchantapi.googleapis.com |
Il dominio di base cambia. |
| Get Path | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
L'API Merchant utilizza la sub-API accounts e una risorsa name. |
| Percorso elenco | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
L'API Merchant utilizza parent per specificare l'account. |
| Crea percorso | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
L'API Merchant utilizza parent. region_id è un campo nel corpo della richiesta. |
| Percorso di aggiornamento | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Il nome della risorsa nell'API Merchant fa parte dell'oggetto region nel corpo. |
| Elimina percorso | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Utilizza la risorsa name. |
Identificatori
Modifica l'utilizzo degli identificatori come segue:
| Elemento | API Content for Shopping | API Merchant | 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 esclusivamente per le richieste. | name: accounts/{account}/regions/{region} |
Identificatore standard per le richieste Get/Update/Delete. |
| Nome genitore | Non utilizzato esclusivamente per le richieste. | parent: accounts/{account} |
Identificatore standard per le richieste List/Create. |
Risorse
La struttura della risorsa Region presenta modifiche minori:
| Elemento | API Content for Shopping | API Merchant | Descrizione |
|---|---|---|---|
| Identificatore della risorsa | region_id (stringa), merchant_id (int64) |
name (stringa): accounts/{account}/regions/{region} |
L'API Merchant 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/A) | RadiusArea |
Questo nuovo tipo definisce le regioni in base al raggio. Include
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 | API Content for Shopping | API Merchant | Descrizione |
|---|---|---|---|
| Ottieni regione | GetRegion |
GetRegion |
La richiesta utilizza name. |
| Crea regione | CreateRegion |
CreateRegion |
La richiesta prende parent dall'URL, mentre il corpo della richiesta include l'oggetto region e 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.
|
| Elenco delle regioni | ListRegions |
ListRegions |
La richiesta utilizza parent. Il comportamento di page_size e page_token è coerente.
|
| Batch Create | N/D | BatchCreateRegions |
Questo è un nuovo metodo. |
| Aggiornamento batch | N/D | BatchUpdateRegions |
Questo è un nuovo metodo. |
| Eliminazione in batch | N/D | BatchDeleteRegions |
Questo è un nuovo metodo. |
Campi rinominati
| Elemento | API Content for Shopping | API Merchant | Descrizione |
|---|---|---|---|
| ID account | merchant_id |
account (parte di name o parent) |
Integrato nelle stringhe della risorsa name. Questo 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. Questo 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 dell'identificatore principale nella risposta è ora la risorsa completa name. Questo interessa Region.
|
| Nome visualizzato | display_name |
display_name |
Il tipo cambia da StringValue a optional string.
Questo interessa Region.
|
| Flag di idoneità | ...eligible |
...eligible |
Il tipo cambia da BoolValue a optional bool.
Questo interessa Region.
|
| Update Mask | update_mask |
update_mask |
Region percorsi dei campi. Questo interessa UpdateRegionRequest. |