Ресурс products
обеспечивает большую гибкость и контроль над более чем 60 атрибутами продукта. Существует ряд полей, которые являются обязательными и должны быть включены, чтобы их можно было одобрить для отображения в Google Shopping. Существует ряд необязательных полей, которые могут стать обязательными в зависимости от различных условий, таких как местоположение, тип продукта, варианты продукта и наборы продуктов. Более подробную информацию о более чем 60 дополнительных параметрах, которые можно настроить для продуктов, см. в Спецификациях данных о продукте .
Ресурс products
позволяет insert
, get
, update
и delete
по одному продукту за раз, а также list
все продукты в базе данных торгового центра.
Ресурс productstatuses
можно использовать для проверки статуса утверждения или отклонения конкретного продукта для пункта назначения. Дополнительную информацию о том, какие продукты могут иметь проблемы с качеством данных и в чем заключаются эти проблемы, можно найти в руководстве по состоянию продукта .
В наших примерах API мы используем три продукта: две футболки Google и кепку Google. Мы используем минимальный набор данных о продуктах, показанный в таблице ниже, для вызовов ресурсов products
для вставки, получения, обновления, перечисления и удаления отдельных продуктов и партий продуктов.
Мы рекомендуем настраивать информацию о доставке и налогах на уровне учетной записи , а не на уровне продукта.
Для субаккаунтов торговых площадок с несколькими продавцами все продукты должны включать поле external_seller_id
. Дополнительные сведения см. в разделе «Идентификаторы продуктов» .
идентификатор | онлайн:en:US:1111111111 | онлайн: en: США: 2222222222 | онлайн: en: США: 3333333333 |
---|---|---|---|
идентификатор предложения | 1111111111 | 2222222222 | 3333333333 |
заголовок | Черная футболка Google | Зеленая футболка Google | Саржевая кепка Google |
описание | Черная футболка Google | Футболка Google из 100 % хлопка. | Классическая кепка Google |
идентификатор группы товаров | google_tee | google_tee | |
связь | http://my.site.com/blacktee | http://my.site.com/greentee | http://my.site.com/blackhat |
состояние | Новый | Новый | Новый |
цена | 21,99 долларов США | 21,99 долларов США | 10,99 долларов США |
доступность | В наличии | В наличии | В наличии |
изображениеСсылка | https://shop.example.com/ | https://shop.example.com/ | https://shop.example.com/ |
Гтин | 9504000059422 | 9504000059446 | 9504000059452 |
MPN | 00638NIC | 00638АНГ | 00638ABC |
бренд | |||
Категория продукта Google | Одежда и аксессуары > Одежда | Одежда и аксессуары > Одежда | Одежда и аксессуары > Аксессуары для одежды > Головные уборы |
цвет | черный | зеленый | черный |
размер | л | М | М |
возрастная_группа | взрослый | взрослый | взрослый |
пол | мужской | мужской | унисекс |
включенное_назначение | Торговые действия, товарные объявления | Торговые действия, товарные объявления | Покупки |
продукты.вставка
Чтобы вставить один продукт, используйте следующий URL-адрес запроса, указав идентификатор продавца и образец тела JSON. Вставка создает новый продукт. Если для данного продукта существуют значения атрибутов channel
, contentLanguage
, offerId
и feedLabel
, этот метод обновляет эту запись и заменяет все данные из предыдущих вызовов API для данного продукта.
Товары, исключенные из всех направлений более 7 дней, автоматически удаляются.
В показанном примере к доступным продуктам добавляется новая «Черная футболка Google».
POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
Пример вызова тела запроса для products.insert
:
{
"kind": "content#product",
"offerId": "1111111111",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
}
Продукт также может иметь настраиваемые атрибуты, установленные в теле JSON. Например, мы можем установить purchase_quantity_limit
для одного продукта, чтобы ограничить количество товаров, которые клиент может заказать:
"customAttributes": [
{
"name": "purchase_quantity_limit",
"value": "4"
}
]
Обратите внимание, что пользовательский атрибут purchase_quantity_limit
устанавливает лимит покупок на заказ клиента в определении продукта и также поддерживается фидами. Атрибут в настоящее время находится на стадии бета-тестирования, пока не будет полностью поддерживаться API. Продавец может добавить любой дополнительный пользовательский атрибут, но это не приводит к какой-либо конкретной обработке API.
Успешный вызов возвращает код HTTP 200
и тело ответа, содержащее вставленный ресурс продукта с заполненными только id
, offerId
, contentLanguage
, feedLabel
и channel
:
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online"
}
продукты.получить
Чтобы получить информацию о конкретном товаре в базе данных Merchant Center, используйте products.get
. Прежде чем новый добавленный продукт станет доступен посредством этого вызова, может пройти несколько минут.
Используйте следующий URL-адрес и параметры HTTP-запроса, свой идентификатор продавца и идентификатор продукта (формат REST ID) для продукта, который вы хотите получить:
GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Успешный вызов возвращает HTTP 200
и «ресурс продукта» в теле ответа. Вот пример данных о продукте, полученных из продукта с online:en:US:1111111111
:
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"source": "api",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
}
продукты.обновление
Чтобы обновить один продукт, используйте следующий URL-адрес запроса с методом PATCH, указав свой идентификатор продавца, идентификатор продукта и тело JSON, содержащее данные, которые вы хотите обновить для продукта. В отличие от products.insert
, который требует предоставления всех применимых полей, products.update
требует от вас указать только те поля, которые вы хотите изменить.
Чтобы добавить или изменить атрибут, укажите поле с новым значением в теле JSON. В показанном примере title
и description
существующей «Черной футболки Google» будут обновлены данными о продукте, указанными в теле запроса, при этом все остальные поля останутся нетронутыми.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Пример вызова тела запроса для products.update
:
{
"title": "Google Tee Black Limited Edition",
"description": "The Limited Edition Tee is available in unisex sizing and features a retail fit."
}
С помощью запроса products.update
можно обновлять только поля верхнего уровня. Если вы хотите обновить вложенные поля, вам необходимо предоставить весь объект верхнего уровня.
В показанном примере будет обновлен объект salePrice
верхнего уровня, включая вложенные поля существующего продукта, данными о продукте, указанными в теле запроса, оставляя все остальные поля нетронутыми.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
{
"salePrice": {
"value": "17.99",
"currency": "USD"
}
}
Чтобы выбрать определенные поля для обновления без внесения изменений в другие, включенные в тело запроса, вы можете указать updateMask
. Этот параметр строки запроса должен представлять собой список полей, разделенных запятыми, которые вы хотите изменить. updateMask
полезен, когда вы хотите утверждать, что будут обновляться только именованные поля. Отсутствие указания updateMask
эквивалентно пометке всех полей запроса для обновления, как показано в примере выше.
В показанном примере будут обновлены только description
и availability
существующей «Черной футболки Google» с соответствующими данными о продукте, указанными в теле запроса, при этом все остальные поля, включая title
, останутся нетронутыми.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=description,availability
Пример вызова тела запроса для products.update
:
{
"title": "Google Tee Black",
"description": "This Limited Edition is out of print.",
"availability": "out of stock"
}
Если поле указано в списке updateMask
, но не в теле запроса, это поле будет удалено из ресурса Product
, если оно существует.
В показанном примере будет использоваться updateMask
для удаления значения поля salePrice
.
PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=salePrice
Образец тела запроса не должен включать поле salePrice
, чтобы его можно было удалить. Вы также можете не указывать тело или оставить его пустым. Другие поля останутся нетронутыми, если они не отображаются в updateMask
.
Чтобы использовать updateMask
в запросе products.custombatch
, updateMask
должен быть указан в теле запроса.
В показанном примере price
и availability
существующей «Черной футболки Google» будут обновлены с использованием products.custombatch
с данными о продукте, указанными в записи пакета, при этом все остальные поля, включая title
и description
останутся нетронутыми.
POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
"entries": [{
"batchId": 1,
"merchantId": "MERCHANT_ID",
"productId": "online:en:US:1111111111",
"method": "update",
"product": {
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"availability": "in stock",
"price": {
"value": "19.99",
"currency": "USD"
}
},
"updateMask": "availability,price"
}]
}
продукты.удалить
Чтобы удалить один продукт, используйте products.delete
с примером URL-адреса HTTP-запроса, идентификатора продавца и идентификатора продукта (в формате REST ID, например online:en:US:1111111111
) для продукта, который вы хотите удалить:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
Успешный ответ возвращает HTTP Status 204
без тела ответа.
продукты.список
products.list
перечислены все продукты, которые есть у продавца в базе данных торгового центра. Используйте следующий URL-адрес запроса:
GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products
Успешный вызов возвращает данные HTTP 200
и JSON для продуктов в ключе «resources».
Возвращаются следующие три примера продуктов:
{
"kind": "content#productsListResponse",
"resources": [
{
"kind": "content#product",
"id": "online:en:US:1111111111",
"offerId": "1111111111",
"source": "api",
"title": "Google Tee Black",
"description": "The Black Google Tee is available in unisex sizing.",
"link": "http://my.site.com/blacktee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531656",
"itemGroupId": "google_tee",
"mpn": "608802531656",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Large"
]
},
{
"kind": "content#product",
"id": "online:en:US:2222222222",
"offerId": "2222222222",
"source": "api",
"title": "Google Tee Green",
"description": "100% cotton jersey fabric sets this Google t-shirt above the crowd.
Features the google logo across the chest. Unisex sizing.",
"link": "http://my.site.com/greentee/",
"imageLink": "https://shop.example.com/.../images/GGOEGXXX0906.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-25T13:00:00-08:00",
"brand": "Google",
"color": "green",
"condition": "new",
"gender": "male",
"googleProductCategory": "1604",
"gtin": "608802531649",
"itemGroupId": "google_tee",
"mpn": "608802531649",
"price": {
"value": "21.99",
"currency": "USD"
},
"sizes": [
"Medium"
]
},
{
"kind": "content#product",
"id": "online:en:US:3333333333",
"offerId": "3333333333",
"source": "api",
"title": "Google Twill Cap",
"description": "Classic urban styling distinguishes this Google cap.
Retains its shape, even when not being worn.",
"link": "http://my.site.com/blackhat/",
"imageLink": "https://shop.example.com/.../images/GGOEGHPB071610.jpg",
"contentLanguage": "en",
"targetCountry": "US",
"feedLabel": "US",
"channel": "online",
"ageGroup": "adult",
"availability": "in stock",
"availabilityDate": "2019-01-07T13:00:00-08:00",
"brand": "Google",
"color": "black",
"condition": "new",
"gender": "male",
"googleProductCategory": "173",
"gtin": "689355417246",
"mpn": "689355417246",
"price": {
"value": "10.99",
"currency": "USD"
},
"sizes": [
"Medium"
]
}
]
}