Revisar vendedores usando a API Merchant

As avaliações do vendedor ajudam as pessoas a encontrar empresas que oferecem experiências de alta qualidade para os clientes, o que gera confiança e viabiliza decisões de compra mais fundamentadas. Por outro lado, as classificações da loja ajudam as empresas a melhorar a performance dos anúncios e das listagens orgânicas e atrair clientes mais qualificados para as páginas de destino delas.

Esta página explica como gerenciar as avaliações do vendedor usando a API Merchant.

Pré-requisitos

O Google precisa que você forneça informações específicas. É necessário ter o seguinte:

Criar uma fonte de dados

Use o accounts.dataSources.create para criar uma fonte de dados de avaliações do comerciante. Se uma fonte de dados de avaliações do comerciante já estiver disponível, use accounts.dataSources.list para buscar o accounts.dataSources.name campo.

Para se referir a elas diretamente em chamadas de API futuras, recomendamos armazenar o accounts.dataSources.name das fontes de dados criadas no seu banco de dados local para avaliação do comerciante. Para as fontes de dados atuais, faça um preenchimento único do seu banco de dados local com os nomes delas.

O formato da solicitação é o seguinte:

POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}

Exemplo

O exemplo mostra uma solicitação e resposta típicas.

Solicitação

POST https://merchantapi.googleapis.com/datasources/v1/accounts/123/dataSources {"displayName": "test api data source", "merchantReviewDataSource":{} }

Resposta

{
  "name": "accounts/123/dataSources/1000000573361824",
  "dataSourceId": "1000000573361824",
  "displayName": "test api data source",
  "merchantReviewDataSource": {},
  "input": "API"
}

Para mais informações, consulte Criar uma fonte de dados de avaliações de produtos.

Criar avaliação do comerciante

Você pode usar o accounts.merchantReviews.insert método para criar ou atualizar uma avaliação do vendedor. O método accounts.merchantReviews.insert usa um recurso merchantreview e um nome de fonte de dados como entrada. Ele retorna a avaliação do comerciante nova ou atualizada, se for bem-sucedida. A criação de uma avaliação do comerciante requer accounts.dataSources.name.

O formato da solicitação:

POST https://merchantapi.googleapis.com/reviews/v1alpha/{parent=accounts/*/}merchantReviews:insert

Estude o exemplo de avaliação do comerciante a seguir para referência.

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

Após a criação da avaliação do comerciante, pode levar alguns minutos para que ela seja propagada.

Ver avaliações do comerciante

Para ver uma avaliação do comerciante, use accounts.merchantReviews.get. Ele é somente leitura. Ele exige seu merchantId e o ID da avaliação do comerciante como parte do campo de nome. O método "get" retorna o recurso de avaliação do comerciante correspondente.

Exemplo:

GET https://merchantapi.googleapis.com/reviews/v1alpha/{name=accounts/*/merchantReviews/*}

Para recuperar um único produto de uma determinada conta do Merchant Center, use o google.shopping.merchant.accounts.v1.GetProductRequest método, conforme mostrado no exemplo a seguir.

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 void 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();

    // Calls the API and catches and prints any network failures/errors.
    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);
    } catch (Exception e) {
      System.out.println(e);
    }
  }

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

Listar avaliações do comerciante

Você pode usar o accounts.merchantReviews.list método para ver todas as avaliações do comerciante criadas.

GET https://merchantapi.googleapis.com/reviews/v1alpha/accounts/{ACCOUNT_ID}/merchantReviews

Excluir avaliações do comerciante

Para excluir uma avaliação do comerciante, use accounts.merchantReviews.delete. Semelhante ao método accounts.merchantReviews.get, esse método exige o campo de nome da avaliação do comerciante retornado durante a criação.

Exemplo:

DELETE https://merchantapi.googleapis.com/reviews/v1alpha/{name=accounts/*/merchantReviews/*}

Status da avaliação do comerciante

O recurso de avaliação do comerciante contém o status semelhante a outras APIs, que é a parte integral do recurso e segue a mesma estrutura de problema e destino.