Миграция источников данных

В этом руководстве объясняется, как перенести вашу интеграцию со служб 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 ), что обеспечивает более явную конфигурацию.