Chamadas diretas de API

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

Etapa 1. Registrar-se como um desenvolvedor

Para usar a API Merchant, é necessário registrar suas informações 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. Assim, o Google pode enviar 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 quem não é desenvolvedor.
  • Permite trabalhar com várias contas do comerciante sem precisar se registrar várias vezes. Quando você se registra, o ID do projeto do Google Cloud usado para autenticar a API Merchant é associado à sua conta do Merchant Center, que tem os contatos técnicos (os API developers). Assim, você recebe atualizações importantes de todas as contas de comerciante que gerencia, desde que a autenticação seja feita com o projeto registrado do Google Cloud.

Ao se inscrever, observe os pré-requisitos e restrições detalhados em Inscrição.

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 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, ele vai receber a função de API_DEVELOPER.
  • Se o endereço de e-mail não pertencer a um usuário, um convite será enviado para ele. O destinatário precisa aceitar o convite para ser adicionado como um novo usuário com a função API_DEVELOPER.

Depois do registro inicial, recomendamos que você adicione vários desenvolvedores e conceda a eles direitos de acesso adicionais.

Etapa 2a. Conceder 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 outras funções, 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 as funções ADMIN e API_DEVELOPER. Assim, eles podem gerenciar totalmente a conta e também recebem 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.

É possível adicionar um usuário com o método accounts.users.create ou atualizar um com accounts.users.patch. Recomendamos que você conceda 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.

Você pode 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ê 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. Você pode usar o método accounts.products.get para extrair detalhes sobre esse produto. Você também pode usar a interface do Merchant Center para ver esse produto. Consulte Ver os dados do produto.