Neste guia, explicamos como migrar sua integração do RegionsService na
API Content for Shopping para o RegionsService na sub-API Accounts.
O serviço de regiões permite definir áreas geográficas personalizadas para casos de uso, como
substituições de preços e frete regionais. É possível usar regiões com serviços
como RegionalInventory e ShippingSettings.
principais diferenças
- Estrutura da API: o serviço de regiões agora faz parte da sub-API
Accountsna API Merchant (por exemplo,merchantapi.googleapis.com/accounts/v1/...). - Nomes de recursos: a API Merchant usa nomes de recursos
(
accounts/{account}/regions/{region}) em vez de parâmetrosmerchant_ideregion_idseparados no caminho do URL para operações de recebimento, atualização e exclusão. - Conformidade com a AIP: os métodos da API Merchant seguem os padrões da Proposta de melhoria da API (como o uso de
parentpara List/Create,namepara Get/Delete e o uso padrão deupdate_mask). - Tipos de wrapper: os campos que antes usavam
google.protobuf.StringValueougoogle.protobuf.BoolValuena API Content agora usam camposoptionalpadrão na API Merchant. - Novos recursos:
- A API Merchant introduz um tipo
RadiusAreano recursoRegionpara definir regiões com base em um raio ao redor de um ponto (inicialmente com visibilidadeTRUST_TESTER). - Os métodos em lote
BatchCreateRegions,BatchUpdateRegionseBatchDeleteRegionsestão disponíveis.
- A API Merchant introduz um tipo
- Tratamento de erros: os códigos do erro e as mensagens de erro fornecem feedback mais específico.
Solicitações
Veja como os padrões de solicitação mudam:
| Item | API Content for Shopping | API Merchant | Descrição |
|---|---|---|---|
| Endpoint | https://shoppingcontent.googleapis.com |
https://merchantapi.googleapis.com |
O domínio base muda. |
| Get Path | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
A API Merchant usa a sub-API accounts e um recurso name. |
| List Path | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
A API Merchant usa parent para especificar a conta. |
| Criar caminho | /content/v2.1/{merchant_id}/regions |
/accounts/v1/{parent=accounts/*}/regions |
A API Merchant usa parent. region_id é um campo no corpo da solicitação. |
| Caminho de atualização | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
O nome do recurso na API Merchant faz parte do objeto region no corpo. |
| Excluir caminho | /content/v2.1/{merchant_id}/regions/{region_id} |
/accounts/v1/{name=accounts/*/regions/*} |
Usa o recurso name. |
Identificadores
Mude o uso de identificadores da seguinte forma:
| Item | API Content for Shopping | API Merchant | Descrição |
|---|---|---|---|
| Conta | merchant_id (inteiro) |
account (número inteiro, parte da string name ou parent) |
Encontre o ID da conta incorporado na string de nome do recurso, por exemplo, accounts/{account}. |
| Região | region_id (string) |
{region} (string, parte da string name) |
Encontre o ID da região incorporado na string do nome do recurso, por exemplo, accounts/{account}/regions/{region}. |
| Nome do recurso | Não é usado estritamente para solicitações. | name: accounts/{account}/regions/{region} |
Identificador padrão para solicitações Get/Update/Delete. |
| Nome do familiar responsável | Não é usado estritamente para solicitações. | parent: accounts/{account} |
Identificador padrão para solicitações de lista/criação. |
Recursos
A estrutura de recursos Region tem pequenas alterações:
| Item | API Content for Shopping | API Merchant | Descrição |
|---|---|---|---|
| Identificador do recurso | region_id (string), merchant_id (int64) |
name (string): accounts/{account}/regions/{region} |
A API Merchant usa um único campo name como identificador de recurso. |
display_name |
google.protobuf.StringValue |
optional string |
O tipo de wrapper foi removido. |
radius_area |
Não disponível (N/A) | RadiusArea |
Esse novo tipo define regiões por raio. Inclui
region_code, lat_lng, radius,
radius_units. Por padrão, a visibilidade é restrita.
|
regional_inventory_eligible |
google.protobuf.BoolValue (somente saída) |
optional bool (somente saída) |
O tipo de wrapper foi removido. |
shipping_eligible |
google.protobuf.BoolValue (somente saída) |
optional bool (somente saída) |
O tipo de wrapper foi removido. |
Métodos
Mude o uso dos métodos da seguinte forma:
| Item | API Content for Shopping | API Merchant | Descrição |
|---|---|---|---|
| Get Region | GetRegion |
GetRegion |
A solicitação usa name. |
| Criar região | CreateRegion |
CreateRegion |
A solicitação usa o parent do URL, enquanto o corpo da solicitação
inclui o objeto region e o region_id.
|
| Atualizar região | UpdateRegion |
UpdateRegion |
A solicitação usa region (que precisa incluir region.name)
e update_mask.
|
| Excluir região | DeleteRegion
|
DeleteRegion
|
A solicitação usa name.
|
| Listar regiões | ListRegions |
ListRegions |
A solicitação usa parent. O comportamento de page_size e
page_token é consistente.
|
| Criação em lote | N/A | BatchCreateRegions |
Este é um método novo. |
| Atualização em lote | N/A | BatchUpdateRegions |
Este é um método novo. |
| Exclusão em lote | N/A | BatchDeleteRegions |
Este é um método novo. |
Campos renomeados
| Item | API Content for Shopping | API Merchant | Descrição |
|---|---|---|---|
| ID da conta | merchant_id |
account (parte de name ou parent) |
Integrado às strings de recurso name. Isso afeta
Region (resposta) e as mensagens de protobuf usadas para fazer solicitações de
API, como CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest e ListRegionsRequest.
|
| ID da região | region_id |
region (parte de name), region_id |
Integrado ao name para a maioria, campo region_id
separado em CreateRegionRequest. Isso afeta Region
(resposta) e as mensagens de protobuf usadas para fazer solicitações de API, como
CreateRegionRequest, GetRegionRequest, UpdateRegionRequest, DeleteRegionRequest
e ListRegionsRequest.
|
| Nome da região (saída) | region_id
|
name
|
O campo do identificador principal na resposta agora é o recurso completo name. Isso afeta Region.
|
| Nome de exibição | display_name |
display_name |
O tipo muda de StringValue para optional string.
Isso afeta Region.
|
| Sinalizações de qualificação | ...eligible |
...eligible |
O tipo muda de BoolValue para optional bool.
Isso afeta Region.
|
| Máscara de atualização | update_mask |
update_mask |
Caminhos de campo Region. Isso afeta UpdateRegionRequest. |