В этом руководстве объясняется, как перенести интеграцию из сервисов datafeeds
и datafeedstatuses
из Content API for Shopping в под-API источников данных в Merchant API. Новый под-API источников данных обеспечивает более прямой контроль над конвейерами данных и упрощает управление источниками данных.
Дополнительную информацию о новых функциях см. в руководстве «Управление источниками данных» .
Ключевые отличия
По сравнению с Content API for Shopping, Merchant API предлагает ряд преимуществ.
Явное создание источника данных. API больше не создаёт автоматически источник данных «Content API» при первой добавлении товара. В Merchant API вы явно создаёте источники данных до того, как сможете загрузить в них товары. Это даёт вам больше контроля над организацией и управлением конвейерами данных о товарах с самого начала.
Поддержка нескольких источников данных API. В Content API for Shopping вы были ограничены одним автоматически создаваемым источником данных «Content API». С помощью Merchant API вы можете создавать и управлять несколькими источниками данных типа
API
input.Источники данных без метки и языка. API Merchant позволяет создать основной источник данных без указания свойств
feedLabel
иcontentLanguage
. Этот тип источника данных принимает товары в любой комбинации свойствfeedLabel
иcontentLanguage
, что упрощает загрузку товаров для интеграций, не требующих отдельных источников данных для разных регионов.Упрощенные целевые данные. Каждый источник данных теперь соответствует одной целевой базе, определяемой уникальной комбинацией свойств
feedLabel
иcontentLanguage
. Многоцелевые фиды данных устарели в Merchant API.Выделенный статус загрузки файлов. API продавца отображает статус файловых источников данных с помощью отдельного ресурса
fileUploads
, доступного только для чтения. Чтобы получить статус загрузки файла, используйте методfileUploads.get
сlatest
псевдонимом.Новые типы источников данных. Ресурс
DataSource
поддерживает больше вертикалей, включая акции, локальный и региональный инвентарь, обеспечивая унифицированный способ управления всеми вашими потоками данных.Автоматизированные источники данных. С помощью API Merchant вы теперь можете включать и отключать функцию автоматизированных источников данных для своего аккаунта, используя метод
autofeedSettings.updateAutofeedSettings
в подAPI Accounts. Подробнее см. в разделе «Настройка параметров автоподачи» .
Запросы
В следующей таблице сравниваются форматы URL-адресов запроса между Content API for Shopping и Merchant API.
Запросить описание | API контента для покупок | API торговца |
---|---|---|
Создать источник данных | POST https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds | POST https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources |
Получить источник данных | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
Список источников данных | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources |
Обновить источник данных | PUT https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | PATCH https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
Удалить источник данных | DELETE https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | DELETE https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
Получить источник данных | POST https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} /fetchNow | POST https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} :fetch |
Получить статус источника данных | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeedstatuses/ {DATAFEED_ID} | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} /fileUploads/latest |
Список статусов источников данных | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeedstatuses | Недоступно. Используйте dataSources.list и fileUploads.get для каждого файлового источника данных. |
Идентификаторы
API продавца использует в качестве идентификатора строковое имя ресурса.
Описание идентификатора | API контента для покупок | API торговца |
---|---|---|
Идентификатор источника данных | datafeedId (числовой) | name (строка, формат: accounts/{account}/dataSources/{datasource} ) |
Методы
В этой таблице сравниваются методы из API контента для сервисов datafeeds
и datafeedstatuses
покупок с их эквивалентами в API торговца.
API контента для метода покупок | Метод API торговца | Наличие и примечания |
---|---|---|
datafeeds.custombatch | Нет в наличии | Вместо этого используйте отдельные вызовы API. |
datafeeds.delete | dataSources.delete | Доступный. |
datafeeds.fetchnow | dataSources.fetch | Доступно. Этот метод теперь работает только для источников данных с файловым входом. |
datafeeds.get | dataSources.get | Доступный. |
datafeeds.insert | dataSources.create | Доступный. |
datafeeds.list | dataSources.list | Доступный. |
datafeeds.update | dataSources.update | Доступно. Использует семантику PATCH вместо PUT . |
datafeedstatuses.custombatch | Нет в наличии | Вместо этого используйте отдельные вызовы API. Подробнее см. в разделе «Отправка нескольких запросов одновременно» . |
datafeedstatuses.get | fileUploads.get | Доступно для файловых источников данных. Используйте псевдоним latest для получения статуса последней загрузки. Для других типов источников данных информация о статусе является частью ресурса DataSource . |
datafeedstatuses.list | Нет в наличии | Чтобы получить статус нескольких источников данных, сначала перечислите все источники данных с помощью dataSources.list . Затем вызовите fileUploads.get с latest псевдонимом для каждого файлового источника данных. |
Подробные изменения полей
В этой таблице показаны изменения на уровне полей между ресурсами Datafeed
и DatafeedStatus
в API контента для покупок и ресурсами DataSource
и FileUpload
в API торговца.
API контента для покупок | API торговца | Описание |
---|---|---|
Datafeed | DataSource | Основной ресурс для настройки источника данных. |
id | name | Идентификатор ресурса. Изменён с числового идентификатора на строковое имя ресурса. |
name | displayName | Имя источника данных, видимое пользователю. |
attributeLanguage | primaryProductDataSource.contentLanguage | Двухбуквенный код языка ISO 639-1 элементов в источнике данных. |
fileName | fileInput.fileName | Имя загруженного файла. Это поле теперь вложено в fileInput . |
fetchSchedule | fileInput.fetchSettings | Расписание для загрузки файлового источника данных. Теперь оно вложено в fileInput . |
fetchSchedule.paused | fileInput.fetchSettings.enabled | Логика обратная. paused: true эквивалентно enabled: false . |
format | Нет в наличии | Поля fileEncoding , columnDelimiter и quotingMode удалены. Теперь они определяются автоматически. |
targets | primaryProductDataSource.feedLabel , primaryProductDataSource.contentLanguage , primaryProductDataSource.countries | Поле «Повторяющиеся targets удалено. Теперь каждый источник данных имеет одну цель, определяемую этими полями, что отражает прекращение поддержки каналов с несколькими целями данных. |
DatafeedStatus | FileUpload | Статус загрузки файла теперь является отдельным ресурсом, доступным только для чтения. |
datafeedId | name | Идентификатор загрузки файла, ссылающийся на его родительский источник данных. |
processingStatus | processingState | Статус обработки загрузки. Строковые значения ( success , failure , in progress ) заменяются перечислением ( SUCCEEDED , FAILED , IN_PROGRESS ). |
errors , warnings | issues | Ошибки и предупреждения объединены в один список issues . У каждой проблемы есть поле severity ( ERROR или WARNING ). |
lastUploadDate | uploadTime | Временная метка последней загрузки. Формат изменен со строки на объект Timestamp . |
country , language , feedLabel | Непригодный | Эти поля больше не входят в ресурс статуса. Они являются частью ресурса DataSource . |
targets[].included_destinations , targets[].excluded_destinations | primaryProductDataSource.destinations | Два отдельных списка для включённых и исключённых пунктов назначения заменены одним списком destinations . Каждый элемент в новом списке представляет собой объект, определяющий пункт назначения и его состояние ( ENABLED или DISABLED ), обеспечивая более точную настройку. |