В этом руководстве объясняется, как перенести вашу интеграцию со служб datafeeds и datafeedstatuses из Content API для покупок в подсистему Data sources в Merchant API. Новая подсистема Data sources обеспечивает более прямой контроль над вашими конвейерами данных и упрощает управление источниками данных.
Для получения более подробной информации о новых функциях см. руководство «Управление источниками данных» .
Ключевые отличия
По сравнению с Content API для покупок, Merchant API предлагает ряд преимуществ.
Явное создание источников данных. API больше не создает автоматически источник данных «Content API» при первой загрузке товара. В Merchant API источники данных создаются явно, прежде чем вы сможете загружать в них товары. Это дает вам больше контроля над организацией и управлением конвейерами данных о товарах с самого начала.
Поддержка нескольких источников данных API. В Content API для покупок вы были ограничены одним автоматически создаваемым источником данных «Content API». С Merchant API вы можете создавать и управлять несколькими источниками данных типа ввода
API.Источники данных без указания меток и языка. API для продавцов позволяет создать основной источник данных без указания
feedLabelиcontentLanguage. Этот тип источника данных принимает товары в любой комбинацииfeedLabelиcontentLanguage, что упрощает загрузку товаров для интеграций, не требующих отдельных источников данных для разных регионов.Упрощены целевые объекты данных. Теперь каждый источник данных соответствует одному целевому объекту, определяемому уникальной комбинацией
feedLabelиcontentLanguage. Использование фидов с несколькими целевыми объектами данных устарело в Merchant API.Статус загрузки файла. API продавца отображает статус файловых источников данных с помощью отдельного ресурса
fileUploads, доступного только для чтения. Чтобы получить статус загрузки файла, используйте методfileUploads.getсlatestпсевдонимом.Новые типы источников данных. Ресурс
DataSourceподдерживает больше вертикалей, включая рекламные акции, локальные и региональные запасы, обеспечивая единый способ управления всеми вашими конвейерами данных.Автоматизированные источники данных. С помощью Merchant API теперь можно включить или отключить функцию автоматизированных источников данных для вашей учетной записи, используя метод
autofeedSettings.updateAutofeedSettingsв под-API Accounts. Дополнительную информацию см. в разделе «Настройка параметров автоподачи» .
Запросы
В таблице ниже приведено сравнение форматов URL-адресов запросов между Content API для покупок и 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} ) |
Методы
В этой таблице сравниваются методы из Content API для служб данных о товарных datafeeds и datafeedstatuses с их аналогами в Merchant 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 в Content API для покупок и ресурсами DataSource и FileUpload в Merchant 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 ), что обеспечивает более явную конфигурацию. |