Chamadas diretas de API

Nessa abordagem de interação com a API Merchant, você faz solicitações brutas diretamente aos endpoints da API, normalmente por HTTP(S). Você processa manualmente aspectos como a formação do corpo da solicitação, a definição de cabeçalhos (incluindo autenticação) e a análise da resposta.

Etapa 1. Registrar-se como um desenvolvedor

Para usar a API Merchant, registre suas informações de contato de desenvolvedor.

O registro realiza o seguinte:

  • Cria um contato técnico para sua conta do Merchant Center atribuindo o papel de 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 anúncios de serviço e informações sobre novos recursos, que podem ser de menor 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 restrições detalhados em Registro.

Para se registrar usando o developerRegistration.registerGcp método, 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 o link entre seu projeto e sua 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, esse usuário receberá o papel API_DEVELOPER.
  • Se o endereço de e-mail não pertencer a um usuário atual, 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 outros direitos de acesso.

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, conceda a ele outros papéis, como STANDARD ou ADMIN. Para mais informações, consulte Tipos de acesso.

Você pode atualizar os direitos de acesso de um usuário com o accounts.users.patch método.

O exemplo a seguir mostra como atualizar um usuário para conceder a ele os papéis ADMIN e API_DEVELOPER. Isso permite que ele gerencie totalmente a conta e também receba 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 sua organização, adicione pelo menos um desenvolvedor de backup.

Você pode adicionar um usuário com o accounts.users.create método 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ê verá 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 Como 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 comando a seguir, 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ê verá 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. Você pode usar o accounts.products.get método para recuperar detalhes sobre esse produto. Também é possível usar a interface do Merchant Center para conferir esse produto. Para mais informações sobre como conferir os dados do produto, consulte Visão geral dos produtos no Merchant Center.