Bắt đầu yêu cầu

Hướng dẫn này giả định rằng bạn đã giải quyết hướng dẫn Bắt đầu và thiết lập để đưa ra yêu cầu được uỷ quyền.

Sau khi thiết lập xong mọi thứ, bạn có thể gửi yêu cầu đến Google Content API for Shopping. Mã sau đây các mẫu minh hoạ cách gửi một vài yêu cầu đơn giản:

  • Tạo một sản phẩm.
  • Nhận danh sách sản phẩm.
  • Lấy một sản phẩm cụ thể từ danh sách.
  • Hãy cập nhật giá của sản phẩm.

Để biết 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. Bài viết này giải thích cách tốt nhất để sử dụng API đó. Trang này cũng giải thích lý do bạn nên yêu cầu hàng loạt.

Nếu bạn gặp vấn đề về Content API, hãy xem Trang tổng quan về trạng thái của Merchant Center để nắm được thông tin về những sự cố ngừng dịch vụ, và Hỗ trợ.

Tạo một sản phẩm

Bạn có thể xem toàn bộ 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 sử 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");

ArrayList shippingList = 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);

Nhận danh sách sản phẩm

Để lấy danh sách sản phẩm, hãy sử 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 đối tượng cụ thể sản phẩm trong danh sách, hãy sử dụng 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 bán trên mạng

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 với những thông tin sau mã:

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 cửa hàng đị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 cửa hàng đị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);