Прямые вызовы API

При таком подходе к взаимодействию с API продавца необходимо отправлять прямые запросы к конечным точкам API, как правило, по протоколу HTTP(S). Вы вручную обрабатываете такие аспекты, как формирование тела запроса, установка заголовков (включая аутентификацию) и анализ ответа.

Шаг 1. Зарегистрируйтесь как разработчик.

Для использования Merchant API необходимо зарегистрировать контактную информацию разработчика.

Регистрация позволяет выполнить следующие действия:

  • Создает технического контактного лица для вашей учетной записи Merchant Center, назначая пользователю роль API developer . Это позволяет Google отправлять важные обновления, касающиеся именно API и функций, используемых разработчиком, такие как объявления о сервисе и информация о новых функциях, которые могут быть менее интересны для тех, кто не является разработчиком.
  • Позволяет работать с несколькими торговыми аккаунтами без необходимости многократной регистрации. При регистрации идентификатор проекта Google Cloud, используемый для аутентификации в Merchant API, связывается с вашей учетной записью Merchant Center, в которой указаны технические контакты ( API developer ). Таким образом, вы можете получать важные обновления для всех управляемых вами торговых аккаунтов, пока аутентификация выполняется с зарегистрированным проектом Google Cloud.

При регистрации соблюдайте предварительные условия и ограничения, подробно описанные в разделе «Регистрация» .

Для регистрации с помощью метода developerRegistration.registerGcp можно начать с этого примера, заменив {DEVELOPER_EMAIL} на соответствующий адрес электронной почты в теле запроса.

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

{
  "developerEmail": "{DEVELOPER_EMAIL}"
}

В случае успешного выполнения запроса возвращается ресурс DeveloperRegistration , подтверждающий связь между вашим проектом и вашей учетной записью.

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

Шаг 2. Управление контактами и правами разработчиков.

При регистрации:

  • Если адрес электронной почты принадлежит пользователю в учетной записи Merchant Center, этому пользователю присваивается роль API_DEVELOPER .
  • Если адрес электронной почты не принадлежит существующему пользователю, на этот адрес отправляется приглашение. Получатель должен принять приглашение, чтобы быть добавленным в качестве нового пользователя с ролью API_DEVELOPER .

После первоначальной регистрации мы рекомендуем добавить нескольких разработчиков и предоставить им дополнительные права доступа.

Шаг 2а. Предоставьте дополнительные разрешения.

Роль API_DEVELOPER необходима для получения важных уведомлений, но она имеет минимальные права доступа в Merchant Center. Чтобы разрешить этому пользователю выполнять другие вызовы API или управлять настройками в пользовательском интерфейсе Merchant Center, необходимо предоставить ему дополнительные роли, такие как STANDARD или ADMIN . Дополнительную информацию см. в разделе «Типы доступа» .

Изменить права доступа пользователя можно с помощью метода accounts.users.patch .

В следующем примере показано, как обновить учетную запись пользователя, предоставив ему роли ADMIN и API_DEVELOPER . Это позволит ему полностью управлять учетной записью, а также получать сообщения, связанные с API.

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

Шаг 2b. Добавьте резервных разработчиков.

Чтобы предотвратить прерывание доступа к API в случае ухода вашего основного контактного лица-разработчика из организации, следует добавить как минимум одного резервного разработчика.

Добавить пользователя можно с помощью метода accounts.users.create , а обновить — с помощью accounts.users.patch . Рекомендуется присвоить этому пользователю роли ADMIN и API_DEVELOPER .

Шаг 3. Создайте основной источник данных о продуктах.

Для добавления товара вам необходим основной источник данных о товарах. Следующий запрос показывает, как создать источник данных, который можно использовать для добавления товара в вашу учетную запись:

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"
}

Замените {ACCOUNT_ID} на идентификатор созданной вами учетной записи Merchant Center.

После успешного выполнения этого запроса вы должны увидеть следующий ответ:

{
  "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"
}

Скопируйте значение поля name . Оно понадобится вам для добавления товара.

Этот источник данных можно просмотреть в пользовательском интерфейсе Merchant Center. Для получения дополнительной информации см. раздел «Как найти вкладку «Источники данных»» .

Шаг 4. Вставьте товар.

После создания источника данных попробуйте добавить в него товар. Выполните следующую команду, указав правильный ACCOUNT_ID . Замените {DATASOURCE_NAME} значением, которое вы скопировали ранее.

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"
}

После успешного выполнения этого запроса вы должны увидеть следующий ответ:

{
  "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"
  }
}

Идентификатор товара для нового созданного товара — en~US~tshirt-123 . Вы можете использовать метод accounts.products.get для получения подробной информации об этом товаре. Вы также можете использовать пользовательский интерфейс Merchant Center для просмотра этого товара. Для получения дополнительной информации о просмотре данных о ваших товарах см. раздел «Обзор товаров в Merchant Center» .