Прямые вызовы 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"
  ]
}

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

Чтобы предотвратить нарушение доступа к 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. См. раздел Просмотр данных о товаре .