Это руководство поможет вам перейти с версии Merchant API v1beta на v1 , первую версию, доступную для общего использования. Версия v1 содержит ряд обновлений и изменений, которые могут потребовать обновления кода. Эти изменения призваны упростить API и улучшить управление вашей учетной записью Merchant Center.
Ключевые отличия
Вот наиболее важные изменения, о которых следует помнить при переходе с v1beta на v1 :
- Одноразовая регистрация как минимум одного разработчика API для использования Merchant API: Вам потребуется вызвать метод
registerGcp(только один раз для каждого проекта Google Cloud, используемого для аутентификации), чтобы указать свои контактные данные, что позволит вам использовать API и получать обновления и объявления, связанные с Merchant API. Вы не сможете использовать API версийv1илиv1alphaпока этот шаг не будет выполнен. Инструкции см. в разделе «Регистрация разработчика» . Кодировка названия продукта : поля
ProductInput.nameиProduct.nameподдерживают кодировку base64url без дополнения (RFC 4648, раздел 5) . Следуйте этим рекомендациям:- Перед кодированием строка должна соответствовать формату
contentLanguage~feedLabel~offerId. Кодировка обязательна , если название вашего товара содержит символы, используемые API продавца или зарезервированные в URL-адресе символы, такие как:
% . + / : ~ , ( * ! ) & ? = @ # $Если название вашего продукта соответствует формату
contentLanguage~feedLabel~offerIdи не содержит символов, используемых Merchant API или зарезервированных в URL-адресе символов, вы можете использовать обычный формат без кодирования.Для обеспечения согласованного и корректного анализа мы рекомендуем использовать кодировку base64url без дополнения для всех названий товаров.
- Перед кодированием строка должна соответствовать формату
Удаление налоговой информации на уровне продукта:
taxesиtaxCategory.Product.attributesпереименовано : ПолеProduct.attributesпереименовано вProduct.productAttributes.Удаление информации о налогах на уровне продукта: поля
taxesиtaxCategoryбыли удалены из объектаProduct.productAttributes. Дополнительную информацию о налогах см. в справочной статье Google Merchant Center .Изменения в поле GTIN: Поле
gtinв объектеProduct.productAttributesпереименовано вgtins, чтобы лучше отразить возможность хранения нескольких значений. Полеgtinв объектеOrderTrackingSignals.lineItemDetailsтеперь являетсяarrayи также переименовано вgtins.Удаление поля «Канал»: Поле
channelудалено из товаров, полей ввода данных о товарах и источников данных. Введено новое логическое полеlegacyLocal, позволяющее четко обозначать товары, продаваемые исключительно в физических магазинах. Примечание: ПолеlegacyLocalявляется вспомогательным полем, призванным облегчить миграцию, и в конечном итоге будет устарело, как только методы онлайн- и локального маркетинга станут полностью ориентированы на единый источник данных о товарах. Дополнительную информацию см. в таблице в следующем разделе.Новые поля для региональных и локальных характеристик запасов :
- Все поля объекта
RegionalInventoryкромеname,accountиregion, теперь заключены в новый объект под названиемregionalInventoryAttributes. Например, атрибутRegionalInventory.priceтеперь находится в объектеRegionalInventory.regionalInventoryAttributes.price. - Все поля
LocalInventoryкромеname,accountиstoreCode, теперь заключены в новый объект под названиемlocalInventoryAttributes. Например, атрибутLocalInventory.priceтеперь находится в объектеLocalInventory.localInventoryAttributes.price.
- Все поля объекта
Удаление поля
customAttributesиз региональных и локальных инвентарных списков: ПолеcustomAttributesбыло удалено из ресурсовRegionalInventoryиLocalInventory.Улучшено создание учетных записей: из запроса
CreateAndConfigureAccountRequestудалено избыточное полеusers. Используйте поле "Единственныйuserдля связывания первоначального пользователя с новой учетной записью.Некоторые типы атрибутов были изменены со строк на перечисления: некоторые поля в ресурсах
ProductиInventoryс определенным коротким списком значений были изменены соstringтипа на типenumдля улучшения проверки данных (например, полеProduct.ProductAttributes.conditionтеперь являетсяenum).Метод обновления политики возврата в режиме онлайн удален: метод
onlineReturnPolicy.updateудален вv1Вместо него создавайте политику возврата в режиме онлайн, используя методonlineReturnPolicy.create.
Как осуществить миграцию
Выпуск v1beta API для продавцов планируется завершить 28 февраля 2026 года. Более подробную информацию о графике прекращения поддержки см. в руководстве по версионированию API для продавцов .
Первым шагом при миграции является одноразовая регистрация разработчика (см. раздел «Регистрация разработчика »). Перед началом работы любых методов
v1необходимо вызвать методregisterGcpдля каждого проекта Google Cloud, используемого для аутентификации.Независимо от способа вызова API (с помощью REST, gRPC или клиентских библиотек ), миграция может осуществляться поэтапно. Это означает, что вы можете обновлять и мигрировать свой код по одному API за раз (например, перенести API
Productsнаv1, сохранив APIAccountsнаv1beta), не обновляя всю интеграцию сразу.
Подробные изменения полей
В этой таблице представлено подробное сравнение полей, изменившихся между версиями v1beta и v1 .
| v1beta | v1 | Описание |
|---|---|---|
ProductInput.name | ProductInput.name | Поддерживается и является обязательной Unpadded base64url encoding для названий товаров, содержащих символы, используемые API продавца или зарезервированные в URL-адресе символы. |
Product.name | Product.name | Поддерживается и является обязательной Unpadded base64url encoding для названий товаров, содержащих символы, используемые API продавца или зарезервированные в URL-адресе символы. |
Product.gtin | Product.gtins | Поле для GTIN-кодов переименовано. |
Product.taxes | Удаленный | Поле taxes удалено. |
Product.taxCategory | Удаленный | Поле taxCategory удалено. |
Product.channel | Удаленный | Поле channel удалено. Для локальных сценариев используйте поле legacyLocal . |
Product.attributes | Product.productAttributes | Поле attributes переименовано в productAttributes . |
availability , condition , gender , includedDestinations и excludedDestinations в полях Product представлены в виде strings (или array strings ). | Теперь эти поля представляют собой enums (или array enums ). | Поля с заданным коротким списком значений были изменены со string типа на enum . |
price , salePrice , salePriceEffectiveDate и availability в RegionalInventory | Перемещено в RegionalInventory.regionalInventoryAttributes | Эти поля были перемещены в раздел regionalInventoryAttributes . |
Поле RegionalInventory.availability имеет string | RegionalInventory.regionalInventoryAttributes.availability теперь является перечислением enums | Доступность: тип данных изменен со string на enum . |
price , salePrice , salePriceEffectiveDate , availability , quantity , pickupMethod , pickupSla и instoreProductLocation в LocalInventory | Перемещено в LocalInventory.localInventoryAttributes | Эти поля были перемещены в раздел localInventoryAttributes . |
Поле LocalInventory.availability имеет string | Теперь LocalInventory.localInventoryAttributes.availability является enums | Доступность: тип данных изменен со string на enum . |
LocalInventory.customAttributes | Удаленный | Поддержка пользовательских атрибутов для локального инвентаря больше не предусмотрена. |
RegionalInventory.customAttributes | Удаленный | Поддержка пользовательских атрибутов для региональных складских запасов прекращена. |
ProductInput.channel | Удаленный | Поле channel удалено. Для локальных сценариев используйте поле legacyLocal . |
DataSource.channel | Удаленный | Поле channel удалено. Для локальных сценариев используйте поле legacyLocal . |
| Нет в наличии | ProductInput.legacyLocal | Введено новое логическое поле, указывающее на то, что продукт может быть ориентирован только на локальные маркетинговые методы. Идентификатор ресурса продукта будет иметь префикс "local~". |
| Нет в наличии | Product.legacyLocal | Добавлено новое логическое поле, указывающее на то, что товар продается только в местных магазинах и недоступен для онлайн-покупки. |
| Нет в наличии | DataSource.legacyLocal | Добавлено новое логическое поле, указывающее на то, что источник данных содержит товары, продаваемые только в местных магазинах. |
OrderTrackingSignals.LineItemDetails.gtin | OrderTrackingSignals.LineItemDetails.gtins | Поле gtin было переименовано в gtins и теперь представляет собой массив строк (вместо одной строки). |
CreateAndConfigureAccountRequest.users | Удаленный | Поле users удалено. Используйте поле user , чтобы добавить первоначального администратора к учетной записи. |