ตรวจสอบผลิตภัณฑ์โดยใช้ Merchant API

รีวิวผลิตภัณฑ์เป็นส่วนสำคัญของประสบการณ์การช็อปปิ้งสำหรับลูกค้า คะแนนและรีวิวเหล่านี้ช่วยให้ลูกค้าหาข้อมูลผลิตภัณฑ์ และตัดสินใจซื้อได้ง่ายขึ้น รีวิวผลิตภัณฑ์เชิงบวกจะดึงดูดลูกค้าที่เข้าเกณฑ์ ไปยังหน้าผลิตภัณฑ์ของผู้ขายได้มากขึ้น แหล่งที่มา ได้แก่ ผู้ขาย ผู้รวบรวมข้อมูลรีวิว เว็บไซต์รีวิว และผู้ใช้ Google

หน้านี้อธิบายวิธีจัดการรีวิวผลิตภัณฑ์โดยใช้ Merchant API

ข้อกำหนดเบื้องต้น

Google จำเป็นต้องให้คุณป้อนข้อมูลที่เฉพาะเจาะจง คุณต้องมีสิ่งต่อไปนี้

สร้างแหล่งข้อมูล

ใช้ 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 อื่นๆ ซึ่งเป็น ส่วนสำคัญของแหล่งข้อมูลและมีโครงสร้างปัญหาและปลายทางเดียวกัน