Content API для совместимости с покупками

Вы можете использовать это руководство для интеграции Merchant API с существующей реализацией Content API for Shopping .

Начать

Подробную информацию о Merchant API и его суб-API см. в дизайне Merchant API .

Чтобы начать использовать Merchant API, измените URL-адреса запросов на следующий формат:

https://merchantapi.googleapis.com/{sub-API}/{version}/{resource name}/{service}:{method}

Дополнительную информацию см. в кратком руководстве и справочнике Merchant API.

поддержка gRPC

Merchant API поддерживает gRPC и REST. Вы можете использовать gRPC для Merchant API и REST для Content API for Shopping одновременно.

Клиентские библиотеки Merchant API требуют gRPC.

Дополнительную информацию см. в разделе Использование gRPC .

Совместимость

В этом руководстве описаны общие изменения, применимые ко всему Merchant API. См. следующие руководства для внесения изменений в отдельные функции:

Merchant API предназначен для работы вместе с существующими функциями Content API for Shopping v2.1.

Например, вы можете использовать Merchant Inventories API вместе с существующим Content API for Shopping v2.1 для реализации инвентарей и products . Вы можете использовать Content API для покупок, чтобы загрузить новый местный продукт (который вы продаете в местном магазине), а затем использовать ресурс LocalInventory API Merchant Inventory API для управления информацией об этом продукте в магазине.

Пакетные запросы

Merchant API не поддерживает метод customBatch , представленный в Content API для покупок. Вместо этого см. Отправка пакетных запросов . Если вы используете customBatch и вам нужна эта функция для Merchant API, сообщите нам, почему, в своем отзыве .

Идентификаторы

Чтобы соответствовать принципам улучшения API Google, мы внесли некоторые изменения в идентификаторы ресурсов Merchant API.

имя заменяет идентификатор

Все ресурсы Merchant API используют поле name в качестве уникального идентификатора.

Вот пример того, как использовать поле name в ваших звонках:

POST https://merchantapi.googleapis.com/inventories/v1beta/{parent}/regionalInventories:insert

Это новое поле name возвращается в качестве идентификатора ресурса для всех вызовов чтения и записи в Merchant API.

Значение, возвращаемое в полях name , использует новый формат идентификатора .

Например, реализуйте метод getName() для получения name из ресурса и сохраните выходные данные в виде переменной вместо того, чтобы самостоятельно создавать name из идентификаторов продавца и ресурса.

Новый формат идентификатора

В Merchant API идентификаторы ресурсов имеют следующий формат: channel~language~feedLabel~offerId

Используемые ресурсы Content API : вместо ~ между каждым значением в идентификаторе: channel:language:feedLabel:offerId

Все вызовы Merchant API возвращают новый формат с ~ между значениями идентификатора. Мы рекомендуем сохранить новый формат ответа и использовать его в будущих вызовах.

родительские поля для дочерних ресурсов

В Merchant API все дочерние ресурсы имеют parent поле. Вы можете использовать parent поле, чтобы указать name ресурса, в который нужно вставить дочерний элемент, вместо передачи всего родительского ресурса. Вы также можете использовать parent поле с методами list для вывода списка дочерних ресурсов этого parent .

Например, чтобы составить список местных запасов для данного продукта, укажите name продукта в parent поле метода list . В этом случае данный product является parent для возвращаемых ресурсов LocalInventory .

Типы

Ниже приведены некоторые общие типы, используемые в субAPI Merchant API.

Цена

Вот что изменилось в Price в пакете Merchant Common:

API контента Торговый API
Поле суммы value:string amountMicros:int64
Поле валюты currency:string currencyCode:string

Сумма Price теперь записывается в микро, где 1 миллион микро эквивалентен стандартной единице вашей валюты.

В Content API for Shopping Price представляла собой десятичное число в виде строки.

Имя поля суммы изменилось со value на amountMicros

Имя поля валюты изменилось с currency на currencyCode . Формат остается ISO 4217 .