Migrar o gerenciamento de regiões
Este guia explica como migrar sua integração do RegionsService na
API Content for Shopping para o RegionsService na sub-API Accounts.
Com o serviço Regions, é possível definir áreas geográficas personalizadas para casos de uso como preços regionais e modificações de frete. É possível usar regiões com serviços
como RegionalInventory e ShippingSettings.
principais diferenças
- Estrutura da API:o serviço Regions 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 Get, Update e Delete. - Conformidade com a AIP:os métodos da API Merchant seguem padrões de Proposta de melhoria da API (em inglês) (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 apresenta 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,BatchUpdateRegionseBatchDeleteRegions) estão disponíveis. 
 - A API Merchant apresenta um tipo 
 - Tratamento de erros:os códigos e 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. | 
| Receber caminho | /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.  | 
  
| Caminho da lista | /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.   | 
  
| Atualizar caminho | /content/v2.1/{merchant_id}/regions/{region_id}  | 
   /accounts/v1/{name=accounts/*/regions/*}  | 
   O nome do recurso na API Merchant é 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 (inteiro, parte da string name ou parent)  | 
   Encontre o ID da conta incorporado na string do 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 List/Create. | 
Recursos
A estrutura do recurso Region tem pequenas mudanças:
| 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  | 
   Tipo de wrapper 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)  | 
   Tipo de wrapper removido. | 
shipping_eligible  | 
   google.protobuf.BoolValue (somente saída)  | 
   optional bool (somente saída)  | 
   Tipo de wrapper removido. | 
Métodos
Mude o uso dos métodos da seguinte forma:
| Item | API Content for Shopping | API Merchant | Descrição | 
|---|---|---|---|
| Receber região | 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  | 
   Esse é um novo método. | 
| Atualização em lote | N/A | BatchUpdateRegions  | 
   Esse é um novo método. | 
| Exclusão em lote | N/A | BatchDeleteRegions  | 
   Esse é um novo método. | 
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 do recurso name. Isso afeta Region (resposta) e mensagens 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 mensagens 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 de identificador principal na resposta agora é o name completo do recurso. Isso afeta Region.
    | 
  
| Nome de exibição | display_name  | 
   display_name  | 
   
    O tipo muda de StringValue para optional string.
    Isso afeta Region.
    | 
  
| Flags 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.  |