Chamadas diretas de API

Nessa abordagem de interação com a API Merchant, faça solicitações brutas diretamente aos endpoints da API, geralmente por HTTP(S). Você lida manualmente com aspectos como formar o corpo da solicitação, definir cabeçalhos (incluindo autenticação) e analisar a resposta.

Etapa 1. Registrar-se como um desenvolvedor

Para usar a API Merchant, você precisa registrar seus dados de contato de desenvolvedor.

O registro faz o seguinte:

  • Cria um contato técnico para sua conta do Merchant Center atribuindo a função API developer a um usuário. Isso permite que o Google envie atualizações importantes especificamente sobre a API e os recursos que o desenvolvedor está usando, como avisos de serviço e informações sobre novos recursos, que podem ser de menos interesse para não desenvolvedores.
  • Permite que você trabalhe com várias contas de comerciante sem precisar se registrar várias vezes. Ao se registrar, o ID do projeto do Google Cloud usado para autenticar na API Merchant é associado à sua conta do Merchant Center, que tem os contatos técnicos (os API developers). Dessa forma, você pode receber atualizações importantes para todas as contas de comerciante que gerencia, desde que a autenticação seja feita com o projeto registrado do Google Cloud.

Ao se registrar, observe os pré-requisitos e as restrições detalhados em Registro.

Para se registrar usando o método developerRegistration.registerGcp, comece com este exemplo, substituindo {DEVELOPER_EMAIL} pelo endereço de e-mail apropriado no corpo da solicitação.

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/developerRegistration:registerGcp

{
  "developerEmail": "{DEVELOPER_EMAIL}"
}

Uma chamada bem-sucedida retorna um recurso DeveloperRegistration, que confirma a vinculação entre o projeto e a conta.

{
  "name": "accounts/{ACCOUNT_ID}/developerRegistration",
  "gcpIds": [
    "123456789012345"
  ]
}

Etapa 2. Gerenciar contatos e permissões de desenvolvedor

Ao se registrar:

  • Se o endereço de e-mail pertencer a um usuário na conta do Merchant Center, ele vai receber o papel API_DEVELOPER.
  • Se o endereço de e-mail não pertencer a um usuário, um convite será enviado para esse endereço. O destinatário precisa aceitar o convite para ser adicionado como um novo usuário com o papel API_DEVELOPER.

Após o registro inicial, recomendamos que você adicione vários desenvolvedores e conceda a eles direitos de acesso adicionais.

Etapa 2a. Conceda outras permissões

O papel API_DEVELOPER é necessário para receber notificações importantes, mas tem permissões mínimas no Merchant Center. Para permitir que esse usuário faça outras chamadas de API ou gerencie configurações na interface do Merchant Center, é necessário conceder a ele outros papéis, como STANDARD ou ADMIN. Para mais informações, consulte Tipos de acesso.

É possível atualizar os direitos de acesso de um usuário com o método accounts.users.patch.

O exemplo a seguir mostra como atualizar um usuário para conceder a ele os papéis ADMIN e API_DEVELOPER. Isso permite que eles gerenciem totalmente a conta e também recebam comunicações relacionadas à API.

PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/users/{DEVELOPER_EMAIL}?update_mask=access_rights
{
  "access_rights": [
    "ADMIN",
    "API_DEVELOPER"
  ]
}

Etapa 2b. Adicionar desenvolvedores de backup

Para evitar que o acesso à API seja interrompido se o contato principal do desenvolvedor sair da organização, adicione pelo menos um desenvolvedor de backup.

É possível adicionar um usuário com o método accounts.users.create ou atualizar um com accounts.users.patch. Recomendamos conceder a esse usuário os papéis ADMIN e API_DEVELOPER.

Etapa 3. Criar uma fonte de dados de produtos principal

Para inserir um produto, você precisa de uma fonte de dados de produtos principal. A solicitação a seguir mostra como criar uma fonte de dados que pode ser usada para inserir um produto na sua conta:

POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources

{
  "primaryProductDataSource": {
    "contentLanguage": "en",
    "countries": [
      "US"
    ],
    "feedLabel": "US"
  },
  "name": "primary-data-source",
  "displayName": "Primary Products Data Source"
}

Substitua {ACCOUNT_ID} pelo ID da conta do Merchant Center que você criou.

Depois de executar essa solicitação, você vai receber a seguinte resposta:

{
  "name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
  "dataSourceId": "{DATASOURCE_ID}",
  "displayName": "Primary Products Data Source",
  "primaryProductDataSource": {
    "feedLabel": "US",
    "contentLanguage": "en",
    "countries": [
      "US"
    ],
    "defaultRule": {
      "takeFromDataSources": [
        {
          "self": true
        }
      ]
    }
  },
  "input": "API"
}

Copie o valor do campo name. Você vai precisar dele para inserir um produto.

É possível conferir essa fonte de dados na interface do Merchant Center. Para mais informações, consulte Onde encontrar a guia Fontes de dados.

Etapa 4. Inserir um produto

Depois de criar a fonte de dados, tente inserir um produto nela. Execute o seguinte, fornecendo o ACCOUNT_ID correto. Substitua {DATASOURCE_NAME} pelo valor que você copiou anteriormente.

POST https://merchantapi.googleapis.com/products/v1/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE_NAME}
{
  "contentLanguage": "en",
  "feedLabel": "US",
  "name": "Red T-shirt",
  "productAttributes": {
    "gender": "MALE",
    "brand": "New brand"
  },
  "offerId": "tshirt-123"
}

Depois de executar essa solicitação, você vai receber a seguinte resposta:

{
  "name": "accounts/{ACCOUNT_ID}/productInputs/en~US~tshirt-123",
  "product": "accounts/{ACCOUNT_ID}/products/en~US~tshirt-123",
  "offerId": "tshirt-123",
  "contentLanguage": "en",
  "feedLabel": "US",
  "productAttributes": {
    "brand": "New brand",
    "gender": "MALE"
  }
}

O ID do produto recém-criado é en~US~tshirt-123. Use o método accounts.products.get para recuperar detalhes sobre esse produto. Também é possível usar a interface do Merchant Center para ver esse produto. Para mais informações sobre como visualizar os dados do produto, consulte Visão geral dos produtos no Merchant Center.