Переход с Content API v2 на v2.1

В марте 2019 года мы выпустили версию 2.1 Content API for Shopping, а в апреле 2021 года объявили , что поддержка версии 2 прекратится 30 сентября 2021 года. Версия 2 уже недоступна. Пожалуйста, немедленно перейдите на версию 2.1.

Перенесите свое приложение

Переход с версии 2 на версию 2.1 подразумевает обновление URL-адресов конечных точек для вызова новых версий v2.1 и изменение приложений с учетом критических изменений, внесенных в v2.1.

Обновите вызовы API для использования конечных точек версии 2.1.

Чтобы совершать вызовы к v2.1, обновите свои запросы для использования новых конечных точек v2.1.

Например, чтобы вызвать метод products.get с помощью v2, вы должны использовать:

GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId

Для версии 2.1 обновите URL-адрес на:

GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId

Полную информацию о службах и конечных точках v2.1 см. в Справочнике API .

Внесите необходимые изменения

Помимо обновления URL-адресов для вызовов API, вам также необходимо обновить приложение с учётом нескольких критических изменений, внесённых в версии 2.1. Ознакомьтесь со следующими разделами и при необходимости обновите приложение.

1. Обновление интеграции со службой inventory

Служба inventory v2 была удалена, и эквивалентная функциональность доступна в следующих функциях v2.1:

  • Используйте новые дополнительные фиды или products.update для частичных обновлений товаров. Обновления возможны для всех изменяемых полей товаров, включая все поля, ранее обновленные с помощью inventory.set (за исключением полей, эксклюзивных для localinventory ). Подробнее см. в разделе «Миграция на дополнительные фиды» .

  • Используйте новую службу localinventory для получения локальных обновлений продуктов.

2. Обновление звонков в службу accounts

  • Вызовы метода accounts.update в версии 2.1 полностью перезаписывают ресурс accounts , а не только обновляют поля, включённые в запрос. Чтобы избежать удаления полей в ресурсе accounts , обновите запросы на вызовы, включив в них все поля.

  • URL reviewsUrl был удален.

  • Статус ссылки inactive был удален для adsLinks , googleMyBusinessLink и youtubeChannelLinks .

3. Обновление обращений в службу поддержки products

  • Пользовательские атрибуты больше не содержат тип и единицу измерения. Вместо этого единицы измерения добавляются к значению, а типы определяются автоматически.

  • Повторяющееся поле productTypes заменило как productType , так и additionalProductTypes .

  • Повторяющиеся поля includedDestinations и excludedDestinations заменили повторяющиеся поля destinations .

  • Следующие поля, связанные с AdWords, были переименованы:

    • adwordsGrouping -> adsGrouping
    • adwordsLabels -> adsLabels
    • adwordsRedirect -> adsRedirect
  • Следующие поля были удалены:

    • aspects
    • destinations
    • onlineOnly
    • validatedDestinations
    • warnings
  • Параметр includeInvalidInsertedItems был удалён. В версии 2.1 по умолчанию возвращаются все товары.

  • Теперь существует задержка в несколько минут, прежде чем вставленный продукт можно будет получить через products.get или products.list .

  • Возвращаемый offerId больше не гарантирует совпадение с входным offerId . Версия 2.1 обрезает начальные и конечные пробелы в offerId и объединяет несколько пробелов в один. Это изменение не влияет на значения offerId , соответствующие рекомендуемому синтаксису offerId .

  • Цены теперь проверяются перед добавлением товара. В строке значения допускаются только следующие символы: + 9 - , . и цифры (например, 0 ). Запятые больше не принимаются.

  • Ответы на вызов products.insert или products.update содержат только следующие атрибуты:

    • channel
    • contentLanguage
    • id
    • offerId
    • feedLabel
  • Параметр includeAttributes версии 2 устарел. Вместо этого используйте products.get с ProductId для просмотра полной информации о продукте.

4. Обновите вызовы службы productstatuses

  • Атрибут product был удалён вместе с параметром includeAttributes . Чтобы получить атрибуты продукта, соответствующие статусу, используйте сервис products и передайте значение нового поля productId .

  • Параметр includeInvalidInsertedItems был удалён. Теперь возвращается productId каждого товара независимо от того, является ли товар валидным.

  • Поля intention , approvalStatus и approvalPending в destinationStatuses были заменены на status , представляющий собой строку, которая может быть approved , disapproved или pending .

  • dataQualityIssues был заменен на itemLevelIssues .

5. Обновление вызовов службы datafeeds

  • Были заменены следующие целевые поля:

    • contentLanguage -> language
    • targetCountry -> country
    • intendedDestinations -> includedDestinations и excludedDestinations
  • Каналы данных с contentType = "product inventory update" были удалены.

6. Обновление вызовов orders и сервисов TestOrders .

  • В версии 2.1 вызовы не должны включать налоговые данные, поскольку они рассчитываются автоматически. Если заказ выполнен в штате, где действует Закон о справедливости рынка (MFA) или аналогичный закон, вызовы с указанием налоговых данных завершаются ошибкой. Если заказ выполнен в штате, где MFA не действует, налог рассчитывается на основе настроек, настроенных в Merchant Center. Если налог не настроен, рассчитанный налог равен 0.

  • Поля InStoreRefundLineItem и ReturnRefundLineItem amountPretax и amountTax были заменены на priceAmount и taxAmount соответственно. priceAmount может быть указана до вычета налога или после вычета налога в зависимости от места заказа.

  • Поля ShipLineItem carrier , shipmentId и trackingId в запросе были перенесены в shipmentInfos .

  • billingAddress и predefinedBillingAddress теперь являются полями верхнего уровня в orders и TestOrder соответственно.

  • customer.explicitMarketingPreference был заменен на customer.marketingRightsInfo .

  • Поле netAmount разделено на netPriceAmount и netTaxAmount .

  • shippingOption был заменен на lineItems[].shippingDetails .

  • Поля CancelLineItem amount , amountPretax и amountTax из запроса удалены. Сумма возврата теперь рассчитывается автоматически.

  • CustomBatch был удален.

  • Refund удалён. Вместо него используйте refundOrder или refundItem .

  • Поле paymentMethod было удалено.

  • Методы v2 orders.returnlineitem и orders.refund заменены на orderreturns.creatOrderReturn и orderreturns.process .

  • Поля customer.email , channelType и lineItem.product.channel были удалены.

  • Поле promotions было удалено из сервиса TestOrder , а его формат был изменен в Order .

7. Обновление вызовов службы orderinvoice

  • Поля amountPretax и amountTax заменены на priceAmount и taxAmount соответственно. Поле priceAmount может содержать сумму до или после уплаты налога в зависимости от места заказа.

  • Удалены остатки (продавец, клиент, Google) в полях, связанных с invoiceSummary и рекламными начислениями.

8. Удалить функциональность, не включенную в версию 2.1.

В версии 2.1 из Content API было удалено несколько других функций. Ознакомьтесь со следующим списком и при необходимости обновите приложение:

  • XML больше не поддерживается. Подробнее о переходе на JSON см. в статье «Прекращение поддержки XML в Content API for Shopping» .

  • Параметр dryRun был удалён. Это изменение применяется ко всем вызовам API.

  • Все методы HTTP BATCH удалены. Вместо них используйте customBatch .

  • Метод patch был удален из следующих сервисов:

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • Служба orderpayments была удалена.

Проверьте свою миграцию

Дополнительную информацию о тестировании изменений в приложениях после перехода на версию 2.1 см. в статье «Тестирование использования Content API для покупок» . Если у вас возникнут проблемы при тестировании обновлений, свяжитесь с нами .

Дополнительные изменения в версии 2.1

Помимо изменений, требующих обновлений, версия 2.1 также вносит несколько новых функций и некритических изменений:

  • Новые услуги:

    • Новая служба localinventory позволяет вам выполнять локальные обновления продуктов (вместо службы inventory в v2).

    • Новая служба orderreturns упрощает управление службой «Купить в Google» (ранее известной как Shopping Actions), позволяя обрабатывать возвраты без необходимости использования службы orders .

  • Дополнительные каналы позволяют вам выполнять частичные обновления продуктов.

  • Дополнительные изменения в обслуживании products :

    • Запросы products.insert больше не выдают некритические предупреждения или ошибки. Это позволяет добавлять товары и вносить последующие обновления для решения проблем с помощью правил фидов в Merchant Center, как и в случае с фидами, управляемыми вне Content API.

    • Добавлен products.update , позволяющий обновлять выбранный набор полей товаров. Подробнее о возможном использовании см. в руководстве .

    • Недопустимые значения следующих атрибутов больше не вызывают ошибок вставки и возвращаются как часть itemLevelIssues службой productstatus :

      • ageGroup
      • availability
      • condition
      • energyEfficiencyClass
      • gender
      • maxEnergyEfficiencyClass
      • minEnergyEfficiencyClass
      • sizeSystem
      • sizeType
    • Пользовательские атрибуты теперь являются рекурсивными, что устраняет необходимость в пользовательских группах.

    • Пользовательские атрибуты теперь имеют поле groupValues в дополнение к исходному полю value . Необходимо задать только одно из полей.