В этом документе представлены рекомендации по передовым методам работы. Дополнительную информацию см. в разделе «Советы по повышению производительности» .
Когда использовать API
Для программной отправки запросов
Независимо от того, предпочитаете ли вы автоматизировать каждый этап своего рабочего процесса или создать интеграцию с вашей ERP-системой (системой планирования ресурсов предприятия), Content API позволяет отправлять обновления сразу же после изменения данных об остатках на складе.
Для получения немедленной обратной связи
В Content API вы получаете ответ на каждый запрос мгновенно, а не по электронной почте после обработки потоков данных. Для больших пакетов запросов ожидается задержка от пяти до десяти секунд.
Чтобы часто изменять данные о вашем продукте
С помощью Content API вы можете многократно в течение дня вносить поэтапные обновления в свой быстрорастущий товарный ассортимент, тогда как отправка всего потока данных каждый раз нецелесообразна. Если обновления становятся доступны по отдельности, отправляйте их по отдельности, не ждите, пока появится несколько обновлений, чтобы объединить их в пакеты. Аналогично, если обновления доступны пакетами, отправляйте их пакетами, не разбивайте их на отдельные запросы.
Для управления несколькими субсчетами
Вновь созданные учетные записи Merchant Center представляют собой отдельные учетные записи, хранящие собственный набор данных о товарах. В большинстве случаев это хорошо работает, но по мере роста вашей учетной записи вам может потребоваться более сложная система управления товарами. В этом случае рассмотрите возможность использования многоклиентской учетной записи (MCA). Управление учетной записью MCA на уровне API может осуществляться через службу «Учетные записи» и позволяет программно добавлять и управлять суб-учетными записями. Более подробную информацию о том, как получить учетную запись MCA, можно найти здесь .
Как использовать API
Не используйте API так же, как вы используете потоки данных.
Избегайте ежедневных обновлений всего товарного фида при использовании ресурса products . Вместо этого обновляйте только те товары, данные по которым действительно изменились. Отправка всего фида данных через ресурс products отнимает больше времени и ресурсов как у Google, так и у вас.
Не используйте API для регулярного получения информации о товарах, которые вы загрузили.
Если вы отвечаете за ведение информации о товарах в конкретном аккаунте Merchant Center, избегайте регулярных запросов информации о товарах из Content API через методы products.get или products.list . Для клиентов, загружающих информацию, эти методы могут помочь в отладке проблем при разработке решений, использующих Content API. Однако они не предназначены для регулярного получения информации о товарах такими клиентами. У вас должен быть другой источник информации о товарах, например, локальная база данных товаров, и товары в Merchant Center должны отражать содержимое этого источника.
Не используйте одновременно каналы данных и Content API для отправки информации о товарах.
Если вы рассматриваете возможность перехода на API для отправки товаров, убедитесь, что вы больше не используете фиды данных для отправки информации о товарах. Если вы продолжите отправлять информацию о товарах через оба канала, могут возникнуть непредвиденные результаты.
Существует ли безопасный способ одновременного использования API и потоков данных?
Вы можете управлять своими потоками данных, используя службу Datafeed Service API. Хотя это значительно упростит управление потоками данных в больших масштабах, имейте в виду, что не следует добавлять или обновлять товары с помощью API одновременно с потоками данных, так как это может привести к непредвиденным результатам.
Вот еще несколько примеров допустимых способов совместного использования каналов и API:
Выполнение запросов только для чтения (get или list) из API: некоторые продавцы хотят использовать API для получения информации и обновлений статуса своих товаров. Это допустимо, поскольку информация о товарах обновляется только из фидов.
Использование API для управления вашими субсчетами ( служба «Счета» ) и/или настройками налогообложения и доставки на уровне счета ( служба «Налогообложение счетов» и служба «Настройки доставки» ). Эти функции не предоставляются Datafeeds, поэтому использование API для управления ими не вызовет конфликта.
Как мне перейти от использования потоков данных к использованию только API или наоборот?
Если вы в настоящее время используете фиды данных и хотите перейти на использование только API для обновления товаров, вам необходимо повторно загрузить данные о товарах через API. При использовании сервиса товаров для обновления информации о конкретном товаре, API берет на себя управление информацией о товаре, и удаление товара из фида данных или удаление самого фида данных больше не приведет к удалению информации о товаре из вашей учетной записи Merchant Center. Убедитесь, что нет обновлений фида данных, если вы хотите удалить товар из фида данных или сам фид данных, иначе фид данных снова возьмет на себя управление, и удаление товара из фида данных приведет к его удалению.
Если в настоящее время вы используете только API для получения информации о товарах и хотите использовать фиды данных в качестве основного источника информации о товарах, вы можете просто добавить новый фид данных в свою учетную запись Merchant Center, и они возьмут на себя ответственность за перечисленные товары. Если есть товары, которые вы хотите удалить до истечения срока их действия, загруженные исключительно через API, вы должны удалить их либо через Merchant Center, либо через API.
Как мне с помощью Content API для онлайн-торговли предлагать товары в нескольких странах?
Чтобы показывать рекламу и бесплатные объявления для товаров, предоставленных через Content API, в нескольких странах, настройте дополнительные страны в основном фиде Content API в Merchant Center или добавьте эти дополнительные страны через поле shipping в ресурсе products .
Пример изменения настроек основного фида Content API приведен ниже.

Для получения дополнительной информации см.: Таргетинг товарных объявлений и бесплатных объявлений в разных странах .
Убедитесь, что ваши клиентские библиотеки обновлены.
Если вы используете клиентскую библиотеку Google для взаимодействия с Content API, убедитесь, что используете менеджер пакетов для выбранного вами языка программирования и что версия библиотеки обновлена. Для получения дополнительной информации см. руководство разработчика для выбранного вами языка в разделе «Примеры и библиотеки» .
Обязательно используйте атрибуты пунктов назначения, чтобы контролировать, какие товары отображаются в различных программах онлайн-покупок.
API контента автоматически использует настройки по умолчанию для вашего фида API контента, которые были сконфигурированы в Merchant Center. Вы можете использовать атрибуты продукта includedDestinations или excludedDestinations для управления участием в программе на уровне продукта в рамках фида или через API контента.
Если ваш API-фид подключен к программе, например, «Покупки в Google» (ранее известной как «Действия в сфере покупок»), но вы хотите исключить определенные товары, используйте атрибут excludedDestinations и укажите значение Shopping Actions . При отсутствии ошибок это перезапишет настройки фида по умолчанию в Merchant Center, и этот конкретный товар не будет отображаться в «Покупках в Google» (ранее известной как «Действия в сфере покупок»). И наоборот, если ваш фид не подключен к программе, например, «Покупки», вы можете включить отдельные товары, используя атрибут includedDestinations и значение Shopping_ads , и товар будет отображаться в объявлениях Shopping.
Для получения дополнительной информации об атрибутах продукта includedDestinations и excludedDestinations см. Справочный центр .
Обязательно обновляйте элементы до истечения срока их действия.
Если элемент не изменяется до истечения срока его действия, то есть через 30 дней после последнего обновления или в указанную дату истечения срока действия, если она наступит раньше, обновите элемент, чтобы избежать его деактивации. Если вам необходимо обновить много элементов, поскольку ни один из них не изменился или вы не можете отследить, когда они были обновлены в последний раз, не обновляйте все элементы одновременно, а равномерно распределите нагрузку на несколько дней.
Не удаляйте фид Content API, иначе ваши товары могут исчезнуть.
При первой загрузке товара с channel:online через Content API в Merchant Center появится новый фид под названием Content API . При первой загрузке товара с channel:local через Content API в Merchant Center появится новый фид под названием Content API с подзаголовком Local Products . Убедитесь, что вы случайно не удалили онлайн- или локальный фид Content API. В зависимости от того, какой фид вы удалите, онлайн- или локальные товары, добавленные в Merchant Center через Content API, будут удалены.
Объедините несколько запросов к одному и тому же сервису, используя метод custombatch.
Вместо того чтобы отправлять множество последовательных или параллельных запросов к одному и тому же сервису, создайте один пакетный запрос, содержащий все необходимые запросы. Таким образом, задержка при отправке запросов к конечной точке API возникает только один раз для вызова пакетного запроса, а не для каждого отдельного запроса, что особенно важно при выполнении последовательных запросов.
Не отправляйте несколько обновлений одному и тому же элементу в одном пакете.
Это может привести к неожиданным результатам из-за неопределенности в отношении последовательности обновлений и вызвать ошибку конфликта .
Не отправляйте обновления для неизмененных элементов.
Убедитесь, что вы отправляете запросы только на новые, измененные или удаленные товары, если только срок действия этих товаров не истекает иным образом.
Используйте дополнительные источники данных, если цены и/или наличие товаров быстро меняются.
Если у вас возникают проблемы с поддержанием актуальности информации о цене, наличии или распродажах товаров, рассмотрите возможность использования дополнительных фидов в разделе products для отправки обновлений только по этим атрибутам. Поскольку обновления дополнительных фидов небольшие, вы можете внести гораздо больше обновлений за определенный период, чем полных обновлений товаров, что поможет поддерживать цены и наличие товаров в соответствии с вашими целевыми страницами.
Ещё один способ обновления цен и наличия товаров — использование автоматического обновления информации о товарах . Это можно использовать в дополнение к обновлениям через API, чтобы избежать несоответствий между информацией в Merchant Center и информацией на целевых страницах товаров. Однако следует помнить, что это предназначено для исправления небольших проблем с точностью цен и наличия товаров, поэтому автоматическое обновление информации о товарах не заменяет предоставление корректной информации через API.
Когда следует использовать токен обновления
Токен обновления возвращается в HTTP-заголовке запросов авторизации. Он содержит много другой информации, связанной с аутентификацией, но чаще всего именно токен обновления является тем элементом, который разработчики хотят получить, поскольку он избавляет от необходимости многократно запрашивать у пользователя подтверждение аутентификации, так как токены доступа действуют всего 60 минут, после чего истекают.