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

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

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

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

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

Для совершения вызовов к версии 2.1 обновите свои запросы, чтобы использовать новые конечные точки версии 2.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

Полную информацию о сервисах и конечных точках версии 2.1 см. в справочнике API .

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

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

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

Сервис inventory версии 2 был удален, и эквивалентная функциональность доступна в следующих функциях версии 2.1:

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

  • Воспользуйтесь новой службой localinventory для обновления информации о товарах на локальном уровне.

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

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

  • Ссылка 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 .

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

  • Ответы на вызовы 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 .

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

  • 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 для покупок» .

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

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

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

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • Сервис orderpayments удален.

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

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

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

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

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

    • Новая служба localinventory позволяет вносить локальные обновления в информацию о товарах (вместо службы inventory в версии 2).

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

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

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

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

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

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

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

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