Отзывы о продавцах помогают людям находить компании, предлагающие качественное обслуживание, повышают доверие покупателей и позволяют принимать более взвешенные решения о покупках. Эти рейтинги помогают компаниям повышать эффективность рекламы и бесплатных предложений товаров, привлекая на свои целевые страницы более перспективных покупателей.
В этой статье рассказывается, как управлять отзывами о продавце с помощью Merchant API.
Требования
Google требуется определенная информация. Что вам нужно:
- Активный источник данных об отзывах о продавце в Google Merchant Center.
- Ваш аккаунт должен быть зарегистрирован в программе рейтингов магазинов. Если вы не уверены, зарегистрированы ли вы в программе, проверьте это в Merchant Center. Если вы не зарегистрированы в программе, отправьте запрос.
Как создать источник данных
Чтобы создать источник данных отзывов о продавце, используйте метод accounts.dataSources.create. Если источник данных отзывов о продавце уже существует, используйте метод accounts.dataSources.list, чтобы получить значение поля accounts.dataSources.name.
Чтобы в будущем обращаться к ним напрямую в вызовах API, рекомендуем сохранить accounts.dataSources.name для созданных источников данных в локальной базе данных для проверки продавцом. Для существующих источников данных выполните однократное заполнение локальной базы данных их названиями.
Запрос должен быть оформлен следующим образом:
POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
Пример
В примере показан типичный запрос и ответ.
Запрос
POST https://merchantapi.googleapis.com/datasources/v1/accounts/123/dataSources {"displayName": "test api data source", "merchantReviewDataSource":{} }
Ответ
{
"name": "accounts/123/dataSources/1000000573361824",
"dataSourceId": "1000000573361824",
"displayName": "test api data source",
"merchantReviewDataSource": {},
"input": "API"
}
Подробнее о том, как создать источник данных отзывов о товарах…
Как создать отзыв о продавце
Чтобы создать или изменить отзыв о продавце, используйте метод accounts.merchantReviews.insert. Метод accounts.merchantReviews.insert принимает в качестве входных данных ресурс merchantreview и название источника данных. Если операция прошла успешно, возвращает новый или обновленный отзыв о продавце. Чтобы создать отзыв о продавце, требуется accounts.dataSources.name.
Форма запроса:
POST https://merchantapi.googleapis.com/reviews/v1alpha/{parent=accounts/*/}merchantReviews:insert
Ниже приведен пример отзыва о продавце.
POST https://merchantapi.googleapis.com/reviews/v1alpha/accounts/{ACCOUNT_ID}/merchantReviews:insert?dataSource=accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}
merchantReviewId = 'my_own_review'
merchantReviewAttributes {
merchantId = 'merchant_id'
merchantDisplayName = 'merchant_display_name'
merchantLink = 'publisher_name'
merchantRatingLink = 'https://www.google.com'
minRating = 1
maxRating = 10
rating = 7.9
title = 'Amazing Merchant'
content = 'This is an incredible merchant'
reviewerId = 'reviewer_id'
reviewerUsername = 'reviewer_username'
isAnonymous = false
collectionMethod = 'AFTER_FULFILLMENT'
reviewTime = '2024-04-01T00:00:00Z'
reviewLanguage = 'en'
reviewCountry = 'US'
}
После создания отзыва продавца может пройти несколько минут, прежде чем он будет опубликован.
Как посмотреть отзывы о продавце
Чтобы посмотреть отзыв о продавце, используйте структурированные данные типа accounts.merchantReviews.get.
Это поле доступно только для чтения. В поле названия нужно указать ваш merchantId и идентификатор отзыва о продавце. Метод get возвращает соответствующий ресурс отзыва о продавце.
Пример:
GET https://merchantapi.googleapis.com/reviews/v1alpha/{name=accounts/*/merchantReviews/*}
Чтобы получить информацию об одном товаре из определенного аккаунта Merchant Center, можно использовать метод google.shopping.merchant.accounts.v1.GetProductRequest, как показано в следующем примере.
Java
import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.common.io.BaseEncoding;
import com.google.shopping.merchant.products.v1.GetProductRequest;
import com.google.shopping.merchant.products.v1.Product;
import com.google.shopping.merchant.products.v1.ProductsServiceClient;
import com.google.shopping.merchant.products.v1.ProductsServiceSettings;
import java.nio.charset.StandardCharsets;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;
/** This class demonstrates how to get a single product for a given Merchant Center account */
public class GetProductSample {
// Base64Url encoder/decoder without padding
private static final BaseEncoding BASE64URL_NOPADDING = BaseEncoding.base64Url().omitPadding();
// Encodes a string to base64url without padding
public static String encodeProductId(String productId) {
return BASE64URL_NOPADDING.encode(productId.getBytes(StandardCharsets.UTF_8));
}
public static Product getProduct(Config config, String accountId, String productId)
throws Exception {
// Obtains OAuth token based on the user's configuration.
GoogleCredentials credential = new Authenticator().authenticate();
// Creates service settings using the credentials retrieved above.
ProductsServiceSettings productsServiceSettings =
ProductsServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(credential))
.build();
try (ProductsServiceClient productsServiceClient =
ProductsServiceClient.create(productsServiceSettings)) {
// The name has the format: accounts/{account}/products/{productId}
String name = "accounts/" + accountId + "/products/" + productId;
// The name has the format: accounts/{account}/products/{productId}
GetProductRequest request = GetProductRequest.newBuilder().setName(name).build();
System.out.println("Sending get product request:");
Product response = productsServiceClient.getProduct(request);
System.out.println("Retrieved Product below");
System.out.println(response);
return response;
}
}
public static void main(String[] args) throws Exception {
Config config = Config.load();
String accountId = config.getAccountId().toString();
// The name of the `product`, returned after a `Product.insert` request. We recommend
// having stored this value in your database to use for all future requests.
String productId = "en~GB~sku123"; // Replace with your actual product ID
// Uncomment the following line if the product name contains special characters (such as forward
// slashes) and needs base64url encoding.
// productId = encodeProductId(productId);
getProduct(config, accountId, productId);
}
}
Как посмотреть отзывы о продавце
Чтобы посмотреть все созданные отзывы о продавце, используйте метод accounts.merchantReviews.list.
GET https://merchantapi.googleapis.com/reviews/v1alpha/accounts/{ACCOUNT_ID}/merchantReviews
Как удалить отзывы о продавце
Чтобы удалить отзыв о продавце, используйте структурированные данные типа accounts.merchantReviews.delete.
Как и в случае с методом accounts.merchantReviews.get, для этого метода требуется поле name отзыва, полученного во время создания.
Пример:
DELETE https://merchantapi.googleapis.com/reviews/v1alpha/{name=accounts/*/merchantReviews/*}
Статус отзывов о продавце
Ресурс отзывов о продавце содержит статус, аналогичный статусу в других API. Он является неотъемлемой частью ресурса и имеет ту же структуру, что и проблемы с целевыми страницами.