รีวิวผลิตภัณฑ์เป็นส่วนสำคัญของประสบการณ์การช็อปปิ้งสำหรับลูกค้า คะแนนและรีวิวเหล่านี้ช่วยให้ลูกค้าหาข้อมูลผลิตภัณฑ์ และตัดสินใจซื้อได้ง่ายขึ้น รีวิวผลิตภัณฑ์ในเชิงบวกจะเพิ่มลูกค้าที่เข้าเกณฑ์ไปยังหน้าผลิตภัณฑ์ของผู้ขายได้มากขึ้น แหล่งที่มา ได้แก่ ผู้ขาย ผู้รวบรวมข้อมูลรีวิว เว็บไซต์รีวิว และผู้ใช้ Google
หน้านี้อธิบายวิธีจัดการรีวิวผลิตภัณฑ์โดยใช้ Merchant API
ข้อกำหนดเบื้องต้น
Google จำเป็นต้องให้คุณป้อนข้อมูลที่เฉพาะเจาะจง คุณต้องมีสิ่งต่อไปนี้
- ฟีดรีวิวผลิตภัณฑ์ที่ใช้งานอยู่ใน Google Merchant Center
 - บัญชีของคุณต้องลงทะเบียนในโปรแกรมการให้คะแนนผลิตภัณฑ์ หากไม่แน่ใจว่าได้ลงทะเบียนแล้วหรือไม่ ให้ตรวจสอบใน Merchant Center หากคุณไม่ได้ลงทะเบียน โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการลงทะเบียนเข้าร่วมโปรแกรม การให้คะแนนผลิตภัณฑ์
 - หากต้องการตรวจสอบผลิตภัณฑ์โดยใช้ Merchant API ให้ส่งคำขอโดยใช้แบบฟอร์ม นี้
 
สร้างแหล่งข้อมูล
ใช้ datasource.create API เพื่อสร้างฟีดรีวิวผลิตภัณฑ์ หากมีฟีดรีวิวผลิตภัณฑ์อยู่แล้ว ให้ใช้ accounts.dataSources.get เพื่อดึงข้อมูล accounts.dataSources.name รูปแบบของคำขอมีดังนี้
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/{account}/dataSources/{datasource}
ตัวอย่าง
ตัวอย่างแสดงคำขอและการตอบกลับทั่วไป
คำขอ
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/123/dataSources {"displayName": "test api feed", "productReviewDataSource":{} }
การตอบกลับ
{
  "name": "accounts/123/dataSources/1000000573361824",
  "dataSourceId": "1000000573361824",
  "displayName": "test api feed",
  "productReviewDataSource": {},
  "input": "API"
}
ดูข้อมูลเพิ่มเติมได้ที่สร้างแหล่งข้อมูลรีวิวผลิตภัณฑ์
สร้างรีวิวผลิตภัณฑ์
คุณสามารถใช้เมธอด accounts.productreviews.insert เพื่อสร้างหรืออัปเดต
รีวิวผลิตภัณฑ์ accounts.productreviews.insertเมธอดproductreviewรับทรัพยากรและชื่อแหล่งข้อมูลเป็นอินพุต โดยจะแสดง productreview ใหม่หรือที่อัปเดตแล้ว หากสำเร็จ หากต้องการสร้างรีวิวผลิตภัณฑ์ คุณต้องมีdatasource.name
รูปแบบของคำขอ:
POST https://merchantapi.googleapis.com/reviews/v1alpha/{parent=accounts/{ACCOUNT_ID}/}productReviews:insert
คำขอตัวอย่างต่อไปนี้แสดงวิธีสร้างรีวิวผลิตภัณฑ์
POST https://merchantapi.googleapis.com/reviews/v1alpha/accounts/{ACCOUNT_ID}/productReviews:insert?dataSource=accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
  productReviewId = 'my_product_review'
  productReviewAttributes {
    aggregatorName = 'aggregator_name'
    subclientName = 'subclient_name'
    publisherName = 'publisher_name'
    publisherFavicon = 'https://www.google.com/favicon.ico'
    reviewerId = 'reviewer_id'
    reviewerIsAnonymous = false
    reviewerUsername = 'reviewer_username'
    reviewLanguage = 'en'
    reviewCountry = 'US'
    reviewTime = '2024-04-01T00:00:00Z'
    title = 'Incredible product'
    content = 'This is an incredible product.'
    pros = ['pro1', 'pro2']
    cons = ['con1', 'con2']
    reviewLink = {
      type = 'SINGLETON'
      link = 'https://www.google.com'
    }
    reviewerImageLink = 'https://www.google.com/reviewer.png'
    minRating = 1
    maxRating = 10
    rating = 8.5
    productName = 'product_name'
    productLink = 'https://www.google.com/product'
    asins = ['asin1', 'asin2']
    gtins = ['gtin1', 'gtin2']
    mpns = ['mpn1', 'mpn2']
    skus = ['sku1', 'sku2']
    brands = ['brand1', 'brand2']
    isSpam = false
    collectionMethod = 'POST_FULFILLMENT'
    transactionId = 'transaction_id'
  }
หลังจากสร้างรีวิวผลิตภัณฑ์แล้ว ระบบอาจใช้เวลาสักครู่ในการเผยแพร่รีวิว
ต่อไปนี้คือตัวอย่างที่คุณใช้เพื่อแทรกรีวิวผลิตภัณฑ์หลายรายการแบบไม่พร้อมกันได้
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest;
import com.google.shopping.merchant.reviews.v1beta.ProductReview;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceClient;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceClient.ListProductReviewsPagedResponse;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to list all the product reviews in a given account. */
public class ListProductReviewsSample {
  public static void listProductReviews(String accountId) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();
    ProductReviewsServiceSettings productReviewsServiceSettings =
        ProductReviewsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();
    try (ProductReviewsServiceClient productReviewsServiceClient =
        ProductReviewsServiceClient.create(productReviewsServiceSettings)) {
      ListProductReviewsRequest request =
          ListProductReviewsRequest.newBuilder()
              .setParent(String.format("accounts/%s", accountId))
              .build();
      System.out.println("Sending list product reviews request:");
      ListProductReviewsPagedResponse response =
          productReviewsServiceClient.listProductReviews(request);
      int count = 0;
      // Iterates over all rows in all pages and prints all product reviews.
      for (ProductReview element : response.iterateAll()) {
        System.out.println(element);
        count++;
      }
      System.out.print("The following count of elements were returned: ");
      System.out.println(count);
    } catch (Exception e) {
      System.out.println(e);
    }
  }
  public static void main(String[] args) throws Exception {
    Config config = Config.load();
    listProductReviews(config.getAccountId().toString());
  }
}
ดึงข้อมูลรีวิวผลิตภัณฑ์
หากต้องการดูรีวิวผลิตภัณฑ์ ให้ใช้ accounts.productreviews.get ช่องนี้เป็นแบบอ่านอย่างเดียว
โดยต้องระบุ accountId และรหัสของรีวิวผลิตภัณฑ์เป็นส่วนหนึ่งของ
ฟิลด์ชื่อ GET เมธอดจะแสดงผลทรัพยากรรีวิวผลิตภัณฑ์ที่เกี่ยวข้อง
GET https://merchantapi.googleapis.com/reviews/v1/{name=accounts/{ACCOUNT_ID}/productReviews/*}
นี่คือตัวอย่างที่คุณใช้เพื่อดึงข้อมูลรีวิวผลิตภัณฑ์ได้
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.reviews.v1beta.GetProductReviewRequest;
import com.google.shopping.merchant.reviews.v1beta.ProductReview;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceClient;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to get a product review. */
public class GetProductReviewSample {
  public static void getProductReview(String accountId, String productReviewId) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();
    ProductReviewsServiceSettings productReviewsServiceSettings =
        ProductReviewsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();
    try (ProductReviewsServiceClient productReviewsServiceClient =
        ProductReviewsServiceClient.create(productReviewsServiceSettings)) {
      GetProductReviewRequest request =
          GetProductReviewRequest.newBuilder()
              .setName(String.format("accounts/%s/productReviews/%s", accountId, productReviewId))
              .build();
      System.out.println("Sending get product review request:");
      ProductReview response = productReviewsServiceClient.getProductReview(request);
      System.out.println("Product review retrieved successfully:");
      System.out.println(response.getName());
    } catch (Exception e) {
      System.out.println(e);
    }
  }
  public static void main(String[] args) throws Exception {
    Config config = Config.load();
    String productReviewId = "YOUR_PRODUCT_REVIEW_ID";
    getProductReview(config.getAccountId().toString(), productReviewId);
  }
}
แสดงรีวิวผลิตภัณฑ์
คุณสามารถใช้productreviews.listเพื่อดูรีวิวผลิตภัณฑ์ทั้งหมดที่สร้างขึ้นได้
GET https://merchantapi.googleapis.com/reviews/v1/{parent=accounts/{ACCOUNT_ID}}/productReviews
ต่อไปนี้คือตัวอย่างที่คุณใช้เพื่อแสดงรีวิวทั้งหมดของผลิตภัณฑ์ได้
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.reviews.v1beta.ListProductReviewsRequest;
import com.google.shopping.merchant.reviews.v1beta.ProductReview;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceClient;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceClient.ListProductReviewsPagedResponse;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to list all the product reviews in a given account. */
public class ListProductReviewsSample {
  public static void listProductReviews(String accountId) throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();
    ProductReviewsServiceSettings productReviewsServiceSettings =
        ProductReviewsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();
    try (ProductReviewsServiceClient productReviewsServiceClient =
        ProductReviewsServiceClient.create(productReviewsServiceSettings)) {
      ListProductReviewsRequest request =
          ListProductReviewsRequest.newBuilder()
              .setParent(String.format("accounts/%s", accountId))
              .build();
      System.out.println("Sending list product reviews request:");
      ListProductReviewsPagedResponse response =
          productReviewsServiceClient.listProductReviews(request);
      int count = 0;
      // Iterates over all rows in all pages and prints all product reviews.
      for (ProductReview element : response.iterateAll()) {
        System.out.println(element);
        count++;
      }
      System.out.print("The following count of elements were returned: ");
      System.out.println(count);
    } catch (Exception e) {
      System.out.println(e);
    }
  }
  public static void main(String[] args) throws Exception {
    Config config = Config.load();
    listProductReviews(config.getAccountId().toString());
  }
}
ลบรีวิวผลิตภัณฑ์
หากต้องการลบรีวิวผลิตภัณฑ์ ให้ใช้ accounts.productreviews.delete วิธีนี้คล้ายกับ
GET ต้องใช้ช่องชื่อของรีวิวผลิตภัณฑ์ที่แสดงผล
ระหว่างการสร้าง
DELETE https://merchantapi.googleapis.com/reviews/v1/{name=accounts/{ACCOUNT_ID}/productReviews/*}
ตัวอย่างที่คุณใช้เพื่อลบรีวิวผลิตภัณฑ์มีดังนี้
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.reviews.v1beta.DeleteProductReviewRequest;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceClient;
import com.google.shopping.merchant.reviews.v1beta.ProductReviewsServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to delete a product review. */
public class DeleteProductReviewSample {
  public static void deleteProductReview(String accountId, String productReviewId)
      throws Exception {
    GoogleCredentials credential = new Authenticator().authenticate();
    ProductReviewsServiceSettings productReviewsServiceSettings =
        ProductReviewsServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();
    try (ProductReviewsServiceClient productReviewsServiceClient =
        ProductReviewsServiceClient.create(productReviewsServiceSettings)) {
      DeleteProductReviewRequest request =
          DeleteProductReviewRequest.newBuilder()
              .setName(String.format("accounts/%s/productReviews/%s", accountId, productReviewId))
              .build();
      System.out.println("Sending delete product review request:");
      productReviewsServiceClient.deleteProductReview(request);
      System.out.println("Product review deleted successfully");
    } catch (Exception e) {
      System.out.println(e);
    }
  }
  public static void main(String[] args) throws Exception {
    Config config = Config.load();
    String productReviewId = "YOUR_PRODUCT_REVIEW_ID";
    deleteProductReview(config.getAccountId().toString(), productReviewId);
  }
}
สถานะรีวิวผลิตภัณฑ์
แหล่งข้อมูลรีวิวผลิตภัณฑ์มีสถานะคล้ายกับ API อื่นๆ ซึ่งเป็น ส่วนสำคัญของแหล่งข้อมูลและมีโครงสร้างปัญหาและปลายทางเดียวกัน