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 puedes 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 accounts.dataSources.create para crear un feed de opiniones sobre el comercio. Si hay un feed de opiniones sobre el comercio existente disponible, usa accounts.dataSources.get para recuperar el campo dataSource.name.

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 feed", "merchantReviewDataSource":{} }

Respuesta

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

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

Cómo crear una opinión sobre el comercio

Puedes usar el accounts.merchantReviews.insert método 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, muestra la opinión sobre el comercio nueva o actualizada. Para crear una opinión sobre el comercio, se requiere datasource.name.

El formato de la solicitud es el siguiente:

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

Estudia la siguiente opinión sobre el 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 opinión sobre el comercio, es posible que tarde unos minutos en propagarse.

Cómo ver las opiniones sobre el comercio

Para ver una opinión sobre el comercio, usa accounts.merchantReviews.get. Es de solo lectura. Requiere tu merchantId y el ID de la opinión sobre el comercio como parte del campo name. El método get muestra 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 para una cuenta de Merchant Center determinada, puedes usar el google.shopping.merchant.accounts.v1.GetProductRequest método, 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 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);
  }
}

Cómo enumerar las opiniones sobre el comercio

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

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

Cómo borrar las opiniones sobre el comercio

Para borrar una opinión sobre el comercio, usa accounts.merchantReviews.delete. Al igual que el método accounts.merchantReviews.get, este método requiere el campo name de la opinión sobre el comercio que se muestra 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 opinión sobre el comercio contiene el estado similar a otras APIs, que es la parte integral del recurso y sigue la misma estructura de problema y destino.