Служба торгового контента

Служба контента для покупок позволяет использовать API Google Content для скрипта «Покупки в приложениях». Этот API позволяет пользователям Google Merchant Center загружать и управлять своими товарными листингами, а также управлять своими аккаунтами Merchant Center.

Подробную информацию об этом сервисе см. в справочной документации по API Google Content for Shopping. Как и все расширенные сервисы в Apps Script, сервис контента Shopping использует те же объекты, методы и параметры, что и общедоступный API.

Ссылка

Подробную информацию об этом сервисе см. в справочной документации по API Google Content for Shopping. Как и все расширенные сервисы в Apps Script, расширенный сервис Таблиц использует те же объекты, методы и параметры, что и общедоступный API. Подробнее см. в разделе «Как определяются сигнатуры методов» .

Чтобы сообщить о проблемах и получить другую поддержку, см. руководство по поддержке Google Content API for Shopping .

Пример кода

Теперь мы покажем, как использовать некоторые функции сервиса Shopping Content Service.

Вставьте продукт

В этом примере показано, как добавить один продукт в заданный счет торгового центра.

advanced/shoppingContent.gs
/**  * Inserts a product into the products list. Logs the API response.  */ function productInsert() {   const merchantId = 123456; // Replace this with your Merchant Center ID.   // Create a product resource and insert it   const productResource = {     'offerId': 'book123',     'title': 'A Tale of Two Cities',     'description': 'A classic novel about the French Revolution',     'link': 'http://my-book-shop.com/tale-of-two-cities.html',     'imageLink': 'http://my-book-shop.com/tale-of-two-cities.jpg',     'contentLanguage': 'en',     'targetCountry': 'US',     'channel': 'online',     'availability': 'in stock',     'condition': 'new',     'googleProductCategory': 'Media > Books',     'productType': 'Media > Books',     'gtin': '9780007350896',     'price': {       'value': '2.50',       'currency': 'USD'     },     'shipping': [{       'country': 'US',       'service': 'Standard shipping',       'price': {         'value': '0.99',         'currency': 'USD'       }     }],     'shippingWeight': {       'value': '2',       'unit': 'pounds'     }   };    try {     response = ShoppingContent.Products.insert(productResource, merchantId);     // RESTful insert returns the JSON object as a response.     console.log(response);   } catch (e) {     // TODO (Developer) - Handle exceptions     console.log('Failed with error: $s', e.error);   } }

Список продуктов

В этом примере показано, как составить список ваших продуктов для определенной учетной записи торгового центра.

advanced/shoppingContent.gs
/**  * Lists the products for a given merchant.  */ function productList() {   const merchantId = 123456; // Replace this with your Merchant Center ID.   let pageToken;   let pageNum = 1;   const maxResults = 10;   try {     do {       const products = ShoppingContent.Products.list(merchantId, {         pageToken: pageToken,         maxResults: maxResults       });       console.log('Page ' + pageNum);       if (products.resources) {         for (let i = 0; i < products.resources.length; i++) {           console.log('Item [' + i + '] ==> ' + products.resources[i]);         }       } else {         console.log('No more products in account ' + merchantId);       }       pageToken = products.nextPageToken;       pageNum++;     } while (pageToken);   } catch (e) {     // TODO (Developer) - Handle exceptions     console.log('Failed with error: $s', e.error);   } }

Пакетные вставки продуктов

В этом примере Products.custombatch используется для вставки трех товаров одновременно.

advanced/shoppingContent.gs
/**  * Batch updates products. Logs the response.  * @param  {object} productResource1 The first product resource.  * @param  {object} productResource2 The second product resource.  * @param  {object} productResource3 The third product resource.  */ function custombatch(productResource1, productResource2, productResource3) {   const merchantId = 123456; // Replace this with your Merchant Center ID.   custombatchResource = {     'entries': [       {         'batchId': 1,         'merchantId': merchantId,         'method': 'insert',         'productId': 'book124',         'product': productResource1       },       {         'batchId': 2,         'merchantId': merchantId,         'method': 'insert',         'productId': 'book125',         'product': productResource2       },       {         'batchId': 3,         'merchantId': merchantId,         'method': 'insert',         'productId': 'book126',         'product': productResource3       }     ]   };   try {     const response = ShoppingContent.Products.custombatch(custombatchResource);     console.log(response);   } catch (e) {     // TODO (Developer) - Handle exceptions     console.log('Failed with error: $s', e.error);   } }

Обновление налогов на уровне счета

Этот пример кода использует Accounttax для обновления налоговой информации на уровне аккаунта Merchant Center. Подробнее о налогах и доставке на уровне аккаунта см. в нашем руководстве по API.

advanced/shoppingContent.gs
/**  * Updates content account tax information.  * Logs the API response.  */ function updateAccountTax() {   // Replace this with your Merchant Center ID.   const merchantId = 123456;    // Replace this with the account that you are updating taxes for.   const accountId = 123456;    try {     const accounttax = ShoppingContent.Accounttax.get(merchantId, accountId);     console.log(accounttax);      const taxInfo = {       accountId: accountId,       rules: [         {           'useGlobalRate': true,           'locationId': 21135,           'shippingTaxed': true,           'country': 'US'         },         {           'ratePercent': 3,           'locationId': 21136,           'country': 'US'         },         {           'ratePercent': 2,           'locationId': 21160,           'shippingTaxed': true,           'country': 'US'         }       ]     };      console.log(ShoppingContent.Accounttax         .update(taxInfo, merchantId, accountId));   } catch (e) {     // TODO (Developer) - Handle exceptions     console.log('Failed with error: $s', e.error);   } }