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 tener 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 disponible una fuente de datos de opiniones de comercios existente, usa accounts.dataSources.list para recuperar el campo accounts.dataSources.name.

Para hacer referencia a ellos 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 la revisión del comercio. Para tus fuentes de datos existentes, realiza un reabastecimiento único de tu base de datos local con sus nombres.

La forma de la solicitud es la 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 la operación se realiza correctamente, devuelve la opinión del comercio nueva o actualizada. Para crear una opinión sobre el comercio, se requiere accounts.dataSources.name.

Forma de la solicitud:

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

Estudia la siguiente opinión de un comercio de muestra 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 revisión del comercio, es posible que esta tarde unos minutos en propagarse.

Cómo ver las opiniones sobre el comercio

Para ver una opinión sobre un comercio, usa accounts.merchantReviews.get. Este campo es de solo lectura. Requiere tu merchantId y el ID de la opinión del comercio como parte del campo de nombre. El método get devuelve el recurso de revisión del 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 el comercio, usa accounts.merchantReviews.delete. De manera similar al método accounts.merchantReviews.get, este método requiere el campo name de la revisión del comercio que se devolvió durante la creación.

Por ejemplo:

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

Estado de la opinión sobre el comercio

El recurso de revisión del comercio contiene el estado similar a otras APIs, que es la parte integral del recurso y sigue la misma estructura de problema y destino.