Panduan ini mengasumsikan bahwa Anda telah mempelajari panduan Memulai dan siap untuk membuat permintaan yang sah.
Setelah menyiapkan semuanya, Anda dapat mengirim permintaan ke Google Content API for Shopping. Contoh kode berikut menunjukkan cara mengirim beberapa permintaan sederhana:
- Membuat produk.
- Mendapatkan daftar produk.
- Ambil produk tertentu dari daftar.
- Perbarui harga produk.
Untuk mengetahui daftar lengkap metode, lihat dokumentasi referensi.
Untuk informasi selengkapnya, lihat halaman Praktik Terbaik, yang menjelaskan cara terbaik menggunakan API. Halaman ini juga menjelaskan alasan permintaan batch direkomendasikan.
Jika Anda mengalami masalah dengan Content API, periksa dasbor status Merchant Center untuk penonaktifan, dan halaman Forum. Jika Anda masih memerlukan bantuan, hubungi dukungan.
Membuat produk
Anda dapat menemukan detail lengkap tentang semua atribut yang dapat dimiliki produk di Spesifikasi Feed Produk. Untuk membuat produk, gunakan kode berikut:
Protocol
POST /content/v2.1/YOUR_MERCHANT_ID/products { "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": "GB", "feedLabel": "GB", "channel": "online", "availability": "in stock", "condition": "new", "googleProductCategory": "Media > Books", "gtin": "9780007350896", "price": { "value": "2.50", "currency": "GBP" }, "shipping": [{ "country": "GB", "service": "Standard shipping", "price": { "value": "0.99", "currency": "GBP" } }], "shippingWeight": { "value": "200", "unit": "grams" } }
Java
Product product = new Product(); product.setOfferId("book123"); product.setTitle("A Tale of Two Cities"); product.setDescription("A classic novel about the French Revolution"); product.setLink("http://my-book-shop.com/tale-of-two-cities.html"); product.setImageLink("http://my-book-shop.com/tale-of-two-cities.jpg"); product.setContentLanguage("en"); product.setTargetCountry("GB"); product.setChannel("online"); product.setAvailability("in stock"); product.setCondition("new"); product.setGoogleProductCategory("Media > Books"); product.setGtin("9780007350896"); Price price = new Price(); price.setValue("2.50"); price.setCurrency("GBP"); product.setPrice(price); Price shippingPrice = new Price(); shippingPrice.setValue("0.99"); shippingPrice.setCurrency("GBP"); ProductShipping shipping = new ProductShipping(); shipping.setPrice(shippingPrice); shipping.setCountry("GB"); shipping.setService("Standard shipping"); ArrayListshippingList = new ArrayList (); shippingList.add(shipping); product.setShipping(shippingList); Product result = service.products().insert(merchantId, product).execute();
PHP
$product = new Google_Service_ShoppingContent_Product(); $product->setOfferId('book123'); $product->setTitle('A Tale of Two Cities'); $product->setDescription('A classic novel about the French Revolution'); $product->setLink('http://my-book-shop.com/tale-of-two-cities.html'); $product->setImageLink('http://my-book-shop.com/tale-of-two-cities.jpg'); $product->setContentLanguage('en'); $product->setTargetCountry('GB'); $product->setChannel('online'); $product->setAvailability('in stock'); $product->setCondition('new'); $product->setGoogleProductCategory('Media > Books'); $product->setGtin('9780007350896'); $price = new Google_Service_ShoppingContent_Price(); $price->setValue('2.50'); $price->setCurrency('GBP'); $shipping_price = new Google_Service_ShoppingContent_Price(); $shipping_price->setValue('0.99'); $shipping_price->setCurrency('GBP'); $shipping = new Google_Service_ShoppingContent_ProductShipping(); $shipping->setPrice($shipping_price); $shipping->setCountry('GB'); $shipping->setService('Standard shipping'); $shipping_weight = new Google_Service_ShoppingContent_ProductShippingWeight(); $shipping_weight->setValue(200); $shipping_weight->setUnit('grams'); $product->setPrice($price); $product->setShipping(array($shipping)); $product->setShippingWeight($shipping_weight); $result = $service->products->insert($merchant_id, $product);
Dapatkan daftar produk
Untuk mendapatkan daftar produk, gunakan kode berikut:
Protocol
GET /content/v2.1/YOUR_MERCHANT_ID/products
Java
List productsList = service.products().list(merchantId); ProductsListResponse page = productsList.execute(); while ((page.getResources() != null) && !page.getResources().isEmpty()) { for (Product product : page.getResources()) { System.out.printf("%s %s%n", product.getId(), product.getTitle()); } if (page.getNextPageToken() == null) { break; } productsList.setPageToken(page.getNextPageToken()); page = productsList.execute(); }
PHP
$products = $service->products->listProducts($merchantId); $parameters = array(); while (!empty($products->getResources()) { foreach ($products->getResources() as $product) { printf("%s %s\n", $product->getId(), $product->getTitle()); } if (!empty($products->getNextPageToken()) { break; } $parameters['pageToken'] = $products->nextPageToken; $products = $service->products->listProducts($merchantId, $parameters); }
Mengambil produk tertentu
Untuk mengambil produk tertentu dari daftar, gunakan kode berikut:
Protocol
GET /content/v2.1/YOUR_MERCHANT_ID/products/online:en:GB:book123
Java
Product product = service.products() .get(merchantId, "online:en:GB:book123") .execute(); System.out.printf("%s %s\n", product.getId(), product.getTitle());
PHP
$product = $service->products->get($merchant_id, 'online:en:GB:book123'); printf("%s %s\n", $product->getId(), $product->getTitle());
Perbarui ketersediaan produk online
Anda dapat menggunakan Feed Tambahan di resource Produk untuk memperbarui data produk online dengan kode berikut:
Protocol
POST /content/v2.1/YOUR_MERCHANT_ID/products?YOUR_SUPPLEMENTAL_FEED_ID { "offerId": "book123", "contentLanguage": "en", "targetCountry": "GB", "feedLabel": "GB", "channel": "online", "availability": "out of stock" }
Java
Product product = new Product(); // Mandatory Fields product.setOfferId("book123"); product.setContentLanguage("en"); product.setTargetCountry("GB"); product.setChannel("online"); // Optional Fields to Update product.setAvailability("out of stock"); // Your unique supplemental feedId feedId=123456789 Product result = service.products().insert(merchantId, product, feedId).execute();
PHP
$product = new Google_Service_ShoppingContent_Product(); // Mandatory Fields $product->setOfferId('book123'); $product->setContentLanguage('en'); $product->setTargetCountry('GB'); $product->setChannel('online'); // Optional Fields to Update $product->setAvailability('out of stock'); // Your unique supplemental feedId $feedId=123456789 $result = $service->products->insert($merchant_id, $product, $feedId);
Memperbarui ketersediaan produk lokal
Anda dapat menggunakan Layanan Inventaris Lokal untuk memperbarui data produk lokal dengan kode berikut:
Protocol
POST /content/v2.1/YOUR_MERCHANT_ID/localinventory/online/products/online:en:GB:book123 { "availability": "out of stock" }
Java
Product product = new Product(); // Mandatory Fields product.setOfferId("book123"); product.setContentLanguage("en"); product.setTargetCountry("GB"); product.setChannel("online"); // Optional Fields to Update product.setAvailability("out of stock"); Product result = service.localinventory().insert(merchantId, product).execute();
PHP
$product = new Google_Service_ShoppingContent_Product(); // Mandatory Fields $product->setOfferId('book123'); $product->setContentLanguage('en'); $product->setTargetCountry('GB'); $product->setChannel('online'); // Optional Fields to Update $product->setAvailability('out of stock'); $result = $service->localinventory->insert($merchant_id, $product);