মার্চেন্ট এপিআই ব্যবহার করে পণ্যের পর্যালোচনা করুন, মার্চেন্ট এপিআই ব্যবহার করে পণ্যের পর্যালোচনা করুন

গ্রাহকদের কেনাকাটার অভিজ্ঞতার একটি গুরুত্বপূর্ণ অংশ হলো পণ্যের রিভিউ । এই রেটিং এবং রিভিউগুলো গ্রাহকদের পণ্য সম্পর্কে গবেষণা এবং কেনার সিদ্ধান্ত নিতে সাহায্য করে। ইতিবাচক পণ্যের রিভিউ একজন বিক্রেতার পণ্যের পেজে আরও বেশি যোগ্য গ্রাহক নিয়ে আসতে পারে। এর উৎসগুলোর মধ্যে রয়েছে বিক্রেতা, রিভিউ অ্যাগ্রিগেটর, রিভিউ সাইট এবং গুগল ব্যবহারকারীরা।

এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে কীভাবে আপনি মার্চেন্ট এপিআই ব্যবহার করে পণ্যের রিভিউ পরিচালনা করতে পারেন।

পূর্বশর্ত

গুগলের আপনার কাছ থেকে নির্দিষ্ট কিছু তথ্য প্রয়োজন। আপনার নিম্নলিখিত বিষয়গুলো অবশ্যই থাকতে হবে:

  • গুগল মার্চেন্ট সেন্টারে একটি সক্রিয় পণ্য পর্যালোচনা ফিড।
  • আপনার অ্যাকাউন্টটি অবশ্যই প্রোডাক্ট রেটিং প্রোগ্রামে নথিভুক্ত থাকতে হবে। আপনি প্রোগ্রাম সাব-এপিআই ব্যবহার করে প্রোগ্রাম্যাটিকভাবে অথবা মার্চেন্ট সেন্টারের মাধ্যমে যোগ্যতা যাচাই করতে পারেন। আপনি যোগ্য না হলে, প্রোডাক্ট রেটিং প্রোগ্রামে নথিভুক্ত হওয়ার বিষয়ে আরও জানুন।
  • মার্চেন্ট এপিআই ব্যবহার করে পণ্য পর্যালোচনা করতে, আমাদের অনুরোধ ফর্মটি ব্যবহার করে একটি অনুরোধ জমা দিন।

একটি ডেটা সোর্স তৈরি করুন

প্রোডাক্ট রিভিউ ফিড তৈরি করতে datasource.create মেথডটি ব্যবহার করুন। যদি আগে থেকে কোনো প্রোডাক্ট রিভিউ ফিড থাকে, তাহলে accounts.dataSources.name ফিডটি আনার জন্য accounts.dataSources.get ব্যবহার করুন। রিকোয়েস্টের ফর্মটি নিম্নরূপ:

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'
  }

পণ্যের রিভিউ তৈরি করার পর, রিভিউটি ছড়িয়ে পড়তে কয়েক মিনিট সময় লাগতে পারে।

এখানে একটি নমুনা দেওয়া হল যা আপনি অ্যাসিঙ্ক্রোনাসভাবে একাধিক পণ্যের পর্যালোচনা যুক্ত করতে ব্যবহার করতে পারেন:

জাভা

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 ব্যবহার করুন। এটি শুধুমাত্র পঠনযোগ্য (read-only)। এর জন্য name ফিল্ডের অংশ হিসেবে আপনার accountId এবং পণ্যের রিভিউটির ID প্রয়োজন। GET মেথডটি সংশ্লিষ্ট পণ্যের রিভিউ রিসোর্সটি ফেরত দেয়।

GET https://merchantapi.googleapis.com/reviews/v1/{name=accounts/{ACCOUNT_ID}/productReviews/*}

পণ্যের রিভিউ খুঁজে বের করার জন্য এখানে একটি নমুনা দেওয়া হলো:

জাভা

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

একটি পণ্যের সমস্ত রিভিউ তালিকাভুক্ত করার জন্য এখানে একটি নমুনা দেওয়া হলো:

জাভা

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 মেথডের মতোই, এই মেথডটির জন্যও প্রোডাক্ট রিভিউ তৈরির সময় প্রাপ্ত name ফিল্ডটির প্রয়োজন হয়।

DELETE https://merchantapi.googleapis.com/reviews/v1/{name=accounts/{ACCOUNT_ID}/productReviews/*}

পণ্যের রিভিউ মুছে ফেলার জন্য এখানে একটি নমুনা দেওয়া হলো:

জাভা

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);
  }
}

পণ্য পর্যালোচনার অবস্থা

প্রোডাক্ট রিভিউ রিসোর্সটিতে অন্যান্য এপিআই-এর মতোই স্ট্যাটাস থাকে, যা রিসোর্সটির একটি অবিচ্ছেদ্য অংশ এবং একই ইস্যু ও ডেস্টিনেশন কাঠামো অনুসরণ করে।