Ресурс products
обеспечивает высокую гибкость и контроль над более чем 60 атрибутами товаров. Существует ряд обязательных полей, которые необходимо заполнить для отображения в Google Покупках. Существует ряд необязательных полей, которые могут стать обязательными в зависимости от различных условий, таких как местоположение, тип товара, варианты товара и комплектация. Подробнее о более чем 60 дополнительных параметрах, которые можно настроить для товаров, см. в Спецификациях данных о товарах .
Ресурс products
позволяет вам insert
, get
, update
и delete
один продукт за раз, а также list
всех продуктов в базе данных торгового центра.
Ресурс productstatuses
можно использовать для проверки статуса одобрения или отклонения конкретного товара для определённого пункта назначения. Подробнее о том, какие товары могут иметь проблемы с качеством данных и в чём заключаются эти проблемы, см. в руководстве по статусу товара.
В наших примерах API мы используем три товара: две футболки Google и кепку Google. Мы используем минимальный набор данных о товарах, представленный в таблице ниже, для выполнения вызовов ресурсов products
для вставки, получения, обновления, перечисления и удаления отдельных товаров и партий товаров.
Мы рекомендуем настраивать информацию о доставке и налогах на уровне учетной записи , а не на уровне продукта.
Для субаккаунтов с несколькими продавцами в Marketplaces все товары должны содержать поле external_seller_id
. Подробнее см. в разделе «Идентификаторы товаров» .
![]() | ![]() | ![]() | |
идентификатор | онлайн:en:US:1111111111 | онлайн:en:US:2222222222 | онлайн:en:US:3333333333 |
offerId | 1111111111 | 2222222222 | 3333333333 |
заголовок | Черная футболка Google | Футболка Google зеленая | Кепка Google Twill |
описание | Черная футболка 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 долларов США |
доступность | В наличии | В наличии | В наличии |
imageLink | https://shop.example.com/ | https://shop.example.com/ | https://shop.example.com/ |
гтин | 9504000059422 | 9504000059446 | 9504000059452 |
mpn | 00638NIC | 00638ANG | 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"
}
products.get
Чтобы получить информацию о конкретном товаре из базы данных 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
существующей футболки «Black Google Tee» с использованием соответствующих данных о продукте, предоставленных в теле запроса, а все остальные поля, включая 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
существующей футболки «Black Google Tee» с использованием 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
Список products.list
содержит список всех товаров, имеющихся в базе данных Merchant Center. Используйте следующий 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"
]
}
]
}