تُعد مراجعات المنتجات جزءًا مهمًا من تجربة التسوق بالنسبة إلى العملاء، إذ تساعدهم في البحث عن المنتجات واتخاذ قرارات الشراء، كما أنّ المراجعات الإيجابية للمنتجات يمكن أن تجذب المزيد من العملاء المؤهّلين إلى صفحات المنتجات الخاصة بالبائع. وتشمل المصادر البائعين وخدمات تجميع المراجعات ومواقع نشر المراجعات ومستخدمي Google.
توضّح هذه الصفحة كيفية إدارة مراجعات المنتجات باستخدام Merchant API.
المتطلبات الأساسية
يجب أن تقدّم إلى Google معلومات محدّدة. يجب توفّر ما يلي:
- خلاصة نشطة لمراجعات المنتجات في Google Merchant Center
- يجب أن يكون حسابك مسجّلاً في برنامج "تقييمات المنتج". يمكنك التحقّق من الأهلية آليًا باستخدام واجهة برمجة التطبيقات الفرعية الخاصة بالبرامج أو من خلال Merchant Center. إذا لم تكن مؤهَّلاً، يمكنك الاطّلاع على مزيد من المعلومات حول التسجيل في برنامج "تقييمات المنتج".
- لمراجعة المنتجات باستخدام Merchant API، أرسِل طلبًا لإضافتك إلى القائمة المسموح بها في نموذج دعم Shopping API ضمن "ما هي المشكلة أو السؤال؟".
إنشاء مصدر بيانات
استخدِم طريقة datasource.create لإنشاء خلاصة لمراجعات المنتجات. إذا كانت تتوفّر خلاصة حالية لمراجعات التجار أو المنتجات، استخدِم accounts.dataSources.list لجلب 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'
}
بعد إنشاء مراجعة المنتج، قد يستغرق نشرها بضع دقائق.
في ما يلي نموذج يمكنك استخدامه لإدراج مراجعات متعدّدة للمنتج بشكل غير متزامن:
جافا
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/*}
في ما يلي نموذج يمكنك استخدامه لاسترداد مراجعة منتج:
جافا
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، تتطلّب هذه الطريقة حقل الاسم الخاص بمراجعة المنتج الذي تم إرجاعه أثناء عملية الإنشاء.
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);
}
}
حالة مراجعات المنتجات
يحتوي مصدر مراجعة المنتج على الحالة المشابهة لواجهات برمجة التطبيقات الأخرى، وهي جزء لا يتجزأ من المصدر وتتّبع بنية المشكلة والوجهة نفسها.