Opinar sobre los vendedores con la API de Merchant Center

Las opiniones sobre el vendedor ayudan a las personas a encontrar empresas que ofrecen experiencias de alta calidad a los clientes, lo que genera confianza y permite tomar decisiones de compra más fundamentadas. Como resultado, las calificaciones de la tienda pueden ayudar a las empresas a mejorar el rendimiento de los anuncios y de las fichas orgánicas, y dirigir a más clientes calificados a sus páginas de destino.

En esta página, se explica cómo administrar las opiniones sobre el vendedor con la API de Merchant.

Requisitos previos

Google necesita que proporciones información específica. Debes contar con lo siguiente:

Cómo crear una fuente de datos

Usa el método accounts.dataSources.create para crear una fuente de datos de opiniones sobre comercios. Si hay una fuente de datos de opiniones de comercios existente disponible, usa accounts.dataSources.list para recuperar el campo accounts.dataSources.name.

Para hacer referencia a ellas directamente en futuras llamadas a la API, te recomendamos que almacenes el accounts.dataSources.name de las fuentes de datos que crees en tu base de datos local para que el comercio las revise. Para tus fuentes de datos existentes, realiza un reabastecimiento único de tu base de datos local con sus nombres.

El formato de la solicitud es el siguiente:

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

Ejemplo

En el ejemplo, se muestra una solicitud y una respuesta típicas.

Solicitud

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

Respuesta

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

Para obtener más información, consulta Cómo crear una fuente de datos de opiniones sobre productos.

Crea una opinión sobre el comercio

Puedes usar el método accounts.merchantReviews.insert para crear o actualizar una opinión sobre el vendedor. El método accounts.merchantReviews.insert toma un recurso merchantreview y un nombre de fuente de datos como entrada. Si se realiza correctamente, se devuelve la opinión del comercio nueva o actualizada. Para crear una opinión sobre el comercio, se requiere accounts.dataSources.name.

El formato de la solicitud es el siguiente:

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

Estudia el siguiente ejemplo de opinión sobre un comercio como referencia.

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

Después de crear la opinión sobre el comercio, es posible que tarde unos minutos en propagarse.

Ver opiniones sobre el comercio

Para ver una opinión sobre un comercio, usa accounts.merchantReviews.get. Este es de solo lectura. Requiere tu merchantId y el ID de la opinión sobre el comercio como parte del campo de nombre. El método get devuelve el recurso de opinión sobre el comercio correspondiente.

Por ejemplo:

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

Para recuperar un solo producto de una cuenta de Merchant Center determinada, puedes usar el método google.shopping.merchant.accounts.v1.GetProductRequest, como se muestra en el siguiente ejemplo.

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

Enumera las opiniones sobre el comercio

Puedes usar el método accounts.merchantReviews.list para ver todas las opiniones sobre comercios creadas.

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

Borra opiniones sobre el comercio

Para borrar una opinión sobre un comercio, usa accounts.merchantReviews.delete. Al igual que el método accounts.merchantReviews.get, este método requiere el campo de nombre de la opinión sobre el comercio que se devuelve durante la creación.

Por ejemplo:

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

Estado de la revisión del comercio

El recurso de opiniones sobre el comercio contiene el estado similar al de otras APIs, que es la parte integral del recurso y sigue la misma estructura de problemas y destinos.