Hướng dẫn này giả định rằng bạn đã xem Hướng dẫn bắt đầu của chúng tôi và đã thiết lập để đưa ra các yêu cầu được uỷ quyền.
Sau khi thiết lập mọi thứ, bạn có thể gửi yêu cầu đến Google Content API for Shopping. Các mẫu mã sau đây minh hoạ cách gửi một số yêu cầu đơn giản:
- Tạo sản phẩm.
- Lấy danh sách sản phẩm.
- Truy xuất một sản phẩm cụ thể trong danh sách.
- Cập nhật giá của sản phẩm.
Để xem danh sách đầy đủ các phương thức, hãy xem tài liệu tham khảo.
Để biết thêm thông tin, hãy xem trang Các phương pháp hay nhất. Trang này giải thích cách sử dụng API hiệu quả nhất. Trang này cũng giải thích lý do bạn nên sử dụng các yêu cầu theo lô.
Nếu bạn gặp vấn đề với Content API, hãy kiểm tra trang tổng quan trạng thái của Merchant Center để biết tình trạng ngừng hoạt động và trang Hỗ trợ.
Tạo một sản phẩm
Bạn có thể xem thông tin chi tiết về tất cả các thuộc tính mà một sản phẩm có thể có trong Quy cách nguồn cấp dữ liệu sản phẩm. Để tạo một sản phẩm , hãy dùng mã sau:
Giao thức
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);
Lấy danh sách sản phẩm
Để lấy danh sách sản phẩm, hãy dùng mã sau:
Giao thức
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); }
Truy xuất một sản phẩm cụ thể
Để truy xuất một sản phẩm cụ thể khỏi danh sách, hãy sử dụng đoạn mã sau:
Giao thức
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());
Cập nhật tình trạng còn hàng của sản phẩm trực tuyến
Bạn có thể sử dụng Nguồn cấp dữ liệu bổ sung trong tài nguyên Sản phẩm để cập nhật dữ liệu sản phẩm trực tuyến bằng mã sau:
Giao thức
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);
Cập nhật tình trạng còn hàng của sản phẩm tại địa phương
Bạn có thể sử dụng Dịch vụ kho hàng tại địa phương để cập nhật dữ liệu sản phẩm tại địa phương bằng mã sau:
Giao thức
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);