Как получать отзывы о продавцах с помощью Merchant API

Отзывы о продавцах помогают людям находить компании, предлагающие качественное обслуживание, повышают доверие покупателей и позволяют принимать более взвешенные решения о покупках. Эти рейтинги помогают компаниям повышать эффективность рекламы и бесплатных предложений товаров, привлекая на свои целевые страницы более перспективных покупателей.

В этой статье рассказывается, как управлять отзывами о продавце с помощью 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. Он является неотъемлемой частью ресурса и имеет ту же структуру, что и проблемы с целевыми страницами.