На этой странице объясняется, как вы можете загружать свои продукты и управлять ими программно. Используя API торговых продуктов, вы можете вставлять или обновлять продукт в источнике данных, получать продукт из своей учетной записи и удалять продукт из источника данных.
API торговых продуктов содержит два ресурса.
-
productInputs
представляет входные части ваших продуктов. -
products
представляют собой обработанные продукты, созданные из входных частей.
productInputs
может быть первичным и дополнительным, в зависимости от того, загружается ли он в основной или дополнительный источник данных . Каждый product
будет создан из одного основного productInput
и любого количества дополнительных productInputs
.
Вы можете использовать API торговых продуктов для создания каталогов интернет-магазинов или локальных магазинов. Это продукты, которые могут появляться в нескольких местах покупок . Вы можете использовать ресурс productInputs
после того, как создадите свою учетную запись Merchant Center, настроите свой первый источник данных и будете готовы загрузить первоначальный набор продуктов через API.
Хотя продавцы имеют возможность загружать продукты с помощью файла PrimaryProductDataSource , создание и удаление продуктов с помощью Merchant API дает несколько преимуществ. Эти преимущества включают более быстрое время отклика и возможность обновлять продукты в режиме реального времени без необходимости управлять большими файлами. Прежде чем изменения продукта, внесенные вызовами API, отобразятся в базе данных Покупок, может пройти до нескольких часов.
Предварительные условия
Если у вас нет источника данных, создайте его с помощью Merchant DataSources API или Merchant Center.
Если у вас уже есть источник данных, который вы создали с помощью пользовательского интерфейса Merchant Center или API, вы можете использовать API Merchant Products API для добавления своих продуктов. Если вы используете Content API for Shopping для добавления продуктов, обратитесь к руководству по миграции, чтобы понять, как начать работу с API Merchant Products API.
Вы несете ответственность за соблюдение правил в отношении товарной рекламы и размещения бесплатных объявлений . Товарная реклама оставляет за собой право обеспечивать соблюдение этих политик и реагировать соответствующим образом, если мы обнаружим контент или поведение, нарушающее эти политики.
Ресурсы
Ресурс products
позволяет получать информацию о продуктах из базы данных покупок .
Ресурс productInput
представляет входные данные, которые вы отправляете для продукта. Он также предоставляет методы, позволяющие обновлять или удалять информацию о продукте по одному или сразу по нескольким в пакетном режиме . Ресурс productInput
должен иметь следующие поля:
-
channel
: канал продукта. -
offerId
: уникальный идентификатор продукта. -
contentLanguage
: двухбуквенный код языка ISO 639-1 для продукта. -
feedLabel
: метка фида для продукта.
Загрузите информацию о продукте в свой аккаунт
Чтобы загрузить данные о продукте в свою учетную запись, используйте метод accounts.productInputs.insert
. Необходимо передать уникальный идентификатор основного или дополнительного источника данных .
В следующем образце запроса показано, как вы можете использовать метод accounts.productInputs.insert
для загрузки входных данных о продукте в свой торговый аккаунт. В запросе задаются цена доставки и регион, а также пользовательские атрибуты, такие как дата изготовления и размер.
POST https://merchantapi.googleapis.com/products/v1beta/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE}
{
"name": "{PRODUCT_TITLE}",
"versionNumber": {VERSION_NUMBER},
"contentLanguage": "{CONTENT_LANGUAGE}",
"feedLabel": "{FEED_LABEL}",
"offerId": "{OFFER_ID}",
"channel": "ONLINE",
"attributes": {
"availability": "in stock",
"imageLink": "{IMAGE_LINK}",
"link": "{PRODUCT_LINK}",
"brand": "{BRAND_NAME}",
"price": {
"currencyCode": "{CURRENCY_CODE}",
"amountMicros": {PRICE}
},
"color": "red",
"productWeight": {
"value": 320,
"unit": "g"
},
"adult": false,
"shipping": [
{
"country": "GB",
"price": {
"amountMicros": {SHIPPING_COST},
"currencyCode": "{CURRENCY_CODE_SHIPPING}"
},
"postalCode": "{SHIPPING_POSTALCODE}",
"service": "",
"region": "{SHIPPING_REGION}",
"maxHandlingTime": "{MAX_HANDLING_TIME}",
"minHandlingTime": "{MIN_HANDLING_TIME}",
"maxTransitTime": "{MAX_TRANSIT_TIME}",
"minTransitTime": "{MIN_TRANSIT_TIME}"
}
],
"gender": "Female"
},
"customAttributes": [
{
"name": "size",
"value": "Large"
},
{
"name": "Date of Manufacturing",
"value": "2024-05-05"
}
]
}
Замените следующее:
- {ACCOUNT_ID} – уникальный идентификатор вашего аккаунта Merchant Center.
- {DATASOURCE} : уникальный идентификатор источника данных. Он должен быть в формате
accounts/
{ACCOUNT_ID}/dataSources/
{DATASOURCE_ID} . - {PRODUCT_TITLE} : название продукта.
- {VERSION_NUMBER} : номер версии продукта. Необязательный.
- {CONTENT_LANGUAGE} : двухбуквенный код языка продукта по стандарту ISO 639-1 . Необходимый.
- {FEED_LABEL} : код территории CLDR для региона, в котором вы хотите продавать продукт. Если значение, указанное для
feedLabel
, недопустимо, полеtargetCountry
не заполняется. - {OFFER_ID} : уникальный идентификатор продукта. Необходимый.
- {IMAGE_LINK} : ссылка на изображение продукта на вашем веб-сайте. Необязательный.
- {PRODUCT_LINK} : ссылка на продукт на вашем веб-сайте. Необязательный.
- {CURRENCY_CODE} : валюта цены с использованием трехбуквенных сокращений в соответствии со стандартом ISO 4217 . Необязательный.
- {PRICE} : цена продукта, представленная числом в микронах. Необязательный.
- {SHIPPING_COST} : фиксированная цена доставки, представленная в виде числа. Необязательный.
- {SHIPPING_POSTALCODE} : диапазон почтовых индексов, к которому применяется стоимость доставки. Необязательный.
- {MAX_HANDLING_TIME} : максимальное время обработки в рабочих днях между получением заказа и его отправкой. Необязательный.
- {MIN_HANDLING_TIME} : минимальное время обработки в рабочих днях между получением заказа и его отправкой. Значение 0 означает, что заказ доставляется в тот же день, когда он был получен. Необязательный.
- {MAX_TRANSIT_TIME} : максимальное время доставки в рабочих днях между отправкой заказа и доставкой. Необязательный.
- {MIN_TRANSIT_TIME} : минимальное время доставки в рабочих днях между отправкой заказа и доставкой. Значение 0 означает, что заказ доставляется в тот же день, когда он был отправлен. Необязательный.
Если запрос выполнен успешно, вы увидите следующий ответ:
{
"name": "{PRODUCT_NAME}",
"product": "{PRODUCT_ID}",
"channel": "ONLINE",
"offerId": "{OFFER_ID}",
"contentLanguage": "{CONTENT_LANGUAGE}",
"feedLabel": "{FEED_LABEL}",
"versionNumber": "{VERSION_NUMBER}",
"attributes": {
"link": "{PRODUCT_LINK}",
"imageLink": "{IMAGE_LINK}",
"adult": false,
"availability": "in stock",
"brand": "{BRAND_NAME}",
"color": "red",
"gender": "Female",
"price": {
"amountMicros": "{PRICE}",
"currencyCode": "{CURRENCY_CODE}"
},
"shipping": [
{
"price": {
"amountMicros": "{SHIPPING_COST}",
"currencyCode": "{CURRENCY_CODE}"
},
"country": "{SHIPPING_COUNTRY}",
"region": "{SHIPPING_REGION}",
"postalCode": "{SHIPPING_POSTALCODE}",
"minHandlingTime": "{MIN_HANDLING_TIME}",
"maxHandlingTime": "{MAX_HANDLING_TIME}",
"minTransitTime": "{MIN_TRANSIT_TIME}",
"maxTransitTime": "{MAX_TRANSIT_TIME}"
}
],
"productWeight": {
"value": 320,
"unit": "g"
}
},
"customAttributes": [
{
"name": "Size",
"value": "Large"
},
{
"name": "Date of Manufacturing",
"value": "2024-05-05"
}
]
}
Получите обработанный продукт из своей учетной записи
Чтобы получить обработанный продукт из вашей учетной записи, используйте метод accounts.products.get
. После вставки обработанный продукт может появиться через несколько минут.
Вы можете получить имя ресурса обработанного продукта из поля product
в ответе accounts.productInputs.insert
Удалить информацию о продукте из своей учетной записи
Чтобы удалить ввод продукта из вашей учетной записи, используйте метод accounts.productInputs.delete
. Для удаления продукта с помощью Merchant Products API необходимо передать уникальный идентификатор основного или дополнительного источника данных, которому принадлежит продукт.
Перечислите продукты из вашего аккаунта
Чтобы перечислить обработанные продукты в вашей учетной записи, используйте метод accounts.products.list
.