Ürün yorumları, müşteriler için Alışveriş deneyiminin önemli bir parçasıdır. Bu puanlar ve yorumlar, müşterilere ürün araştırma ve satın alma kararlarında yardımcı olur. Olumlu ürün yorumları, satıcının ürün sayfalarına daha bilinçli müşteriler çekebilir. Satıcılar, yorum toplayıcılar, yorum siteleri ve Google kullanıcıları bu kaynaklar arasındadır.
Bu sayfada, Merchant API'yi kullanarak ürün yorumlarını nasıl yönetebileceğiniz açıklanmaktadır.
Ön koşullar
Google'ın belirli bilgileri sağlamanız gerekir. Aşağıdakilere sahip olmanız gerekir:
- Google Merchant Center'da etkin bir ürün yorumları feed'i.
- Hesabınız Ürün Puanları programına kayıtlı olmalıdır. Programda kayıtlı olup olmadığınızdan emin değilseniz Merchant Center'ı kontrol edin. Programa kaydolmadıysanız ürün puanları programına kaydolma hakkında daha fazla bilgi edinin.
- Merchant API'yi kullanarak ürünleri incelemek için bu formu kullanarak istek gönderin.
Veri kaynağı oluşturma
Ürün yorumu feed'i oluşturmak için datasource.create
API'yi kullanın. Mevcut bir ürün yorumu feed'i varsa accounts.dataSources.get
kullanarak accounts.dataSources.name
'i alın. İsteğin biçimi aşağıdaki gibidir:
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/{account}/dataSources/{datasource}
Örnek
Örnekte, tipik bir istek ve yanıt gösterilmektedir.
İstek
POST https://merchantapi.googleapis.com/datasources/v1beta/accounts/123/dataSources {"displayName": "test api feed", "productReviewDataSource":{} }
Yanıt
{
"name": "accounts/123/dataSources/1000000573361824",
"dataSourceId": "1000000573361824",
"displayName": "test api feed",
"productReviewDataSource": {},
"input": "API"
}
Daha fazla bilgi için Satıcı Veri Kaynakları API'sine Genel Bakış başlıklı makaleyi inceleyin.
Ürün incelemesi oluşturma
Ürün yorumu oluşturmak veya güncellemek için accounts.productreviews.insert
yöntemini kullanabilirsiniz. accounts.productreviews.insert
yöntemi, giriş olarak bir productreview
kaynağı ve veri kaynağı adı alır. Başarılı olursa yeni veya güncellenmiş productreview
değerini döndürür. Ürün yorumu oluşturmak için datasource.name
hesabınız olmalıdır.
Talebin şekli:
POST https://merchantapi.googleapis.com/reviews/v1beta/{parent=accounts/{ACCOUNT_ID} /}productReviews:insert
Aşağıdaki örnek istek, ürün yorumu oluşturmayı göstermektedir.
POST https://merchantapi.googleapis.com/reviews/v1beta/accounts/{ACCOUNT_ID} /productReviews:insert?dataSource=accounts/{ACCOUNT_ID} /dataSources/{DATASOURCE_ID}
productReviewId = 'my_product_review'
attributes {
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'
}
Ürün incelemesi oluşturulduktan sonra incelemenin yayınlanması birkaç dakika sürebilir.
Birden fazla ürün yorumunu eşzamansız olarak eklemek için kullanabileceğiniz bir örnek aşağıda verilmiştir:
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());
}
}
Ürün yorumunu alma
Bir ürün yorumunu görüntülemek için accounts.productreviews.get
simgesini kullanın. Bu ayar salt okunur.
Ad alanı, accountId
değerinizi ve ürün yorumunun kimliğini gerektirir. GET
yöntemi, ilgili ürün yorumu kaynağını döndürür.
GET https://merchantapi.googleapis.com/reviews/v1beta/{name=accounts/{ACCOUNT_ID} /productReviews/*}
Ürün yorumu almak için kullanabileceğiniz bir örnek aşağıda verilmiştir:
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();
//Modify below with a valid Product Review ID
String productReviewId = "YOUR_PRODUCT_REVIEW_ID";
getProductReview(config.getAccountId().toString(), productReviewId);
}
}
Ürün yorumlarını listeleme
Oluşturulan tüm ürün yorumlarını görüntülemek için productreviews.list
yöntemini kullanabilirsiniz.
GET https://merchantapi.googleapis.com/reviews/v1beta/{parent=accounts/{ACCOUNT_ID} }/productReviews
Bir ürüne ait tüm yorumları listelemek için kullanabileceğiniz örnek aşağıda verilmiştir:
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());
}
}
Ürün yorumlarını silme
Ürün yorumlarını silmek için accounts.productreviews.delete
simgesini kullanın. GET
yöntemine benzer şekilde bu yöntemde de ürün yorumunun ad alanının, oluşturulma sırasında döndürülmesi gerekir.
DELETE https://merchantapi.googleapis.com/reviews/v1beta/{name=accounts/{ACCOUNT_ID} /productReviews/*}
Bir ürün yorumunu silmek için kullanabileceğiniz örnek aşağıda verilmiştir:
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();
//Modify below with a valid Product Review ID
String productReviewId = "YOUR_PRODUCT_REVIEW_ID";
deleteProductReview(config.getAccountId().toString(), productReviewId);
}
}
Ürün yorumu durumu
Ürün incelemesi kaynağı, diğer API'lere benzer bir durum içerir. Bu durum, kaynağın ayrılmaz bir parçasıdır ve aynı sorun ve hedef yapısını izler.