Esta es la documentación solo de Recomendaciones IA. Para probar Retail Search y la consola unificada de venta minorista en la fase restringida de Google Analytics, comuníquese con el equipo de Ventas de Cloud. Si no planea usar Retail Search, permanezca en la consola de Recomendaciones hasta nuevo aviso.

Si usas la versión v1beta de Recomendaciones IA, migra a la versión minorista de la API.

Antes de comenzar

En esta página, se describen los pasos que debes seguir antes de usar Recomendaciones IA.

Configure su proyecto

Debes crear un proyecto de Google Cloud para acceder a Recomendaciones IA. Para configurar un proyecto, sigue estos pasos:

  1. Ve a la página de administración de recursos de Cloud Console.

    IR A LA PÁGINA ADMINISTRAR RECURSOS

  2. En el menú desplegable en la parte superior de la página, selecciona la organización en la que deseas crear un proyecto.

  3. Haz clic en Crear proyecto.

  4. En la ventana Proyecto nuevo que aparece, ingresa un nombre de proyecto y selecciona una cuenta de facturación según corresponda.

  5. Si deseas agregar el proyecto a una carpeta, ingresa el nombre de la carpeta en la casilla Ubicación.

  6. Cuando hayas terminado de ingresar los detalles del proyecto nuevo, haz clic en Crear.

  7. Habilita la API de Venta minorista para tu proyecto de Google Cloud.

    HABILITAR LA API DE VENTA MINORISTA

    Haz clic en el botón HABILITAR en Google Cloud Console para habilitar la API.

Configura la autenticación para tu aplicación

Debes configurar ambos métodos de autenticación a continuación para acceder a la API de venta minorista:

  • Cuenta de servicio: Las aplicaciones usan una cuenta de servicio para autenticar llamadas a Product.

  • Clave de API: Las aplicaciones usan una clave de API para llamar a las API de registro de eventos del usuario.

Cree una cuenta de servicio

  1. Ve a la página Credenciales de Cloud Console.

  2. Selecciona el proyecto para el que creas credenciales (es posible que el proyecto ya esté seleccionado).

  3. Haz clic en Crear credenciales y selecciona Clave de cuenta de servicio.

  4. Complete los siguientes campos:

    Campo Valor
    Cuenta de servicio Nueva cuenta de servicio
    Nombre de la cuenta de servicio enter a name for your service account
    Función Cuentas de servicio > Creador de tokens de la cuenta de servicio
    Recomendaciones IA > Editor de Recomendaciones IA
    Tipo de clave JSON
  5. Haz clic en Crear para crear la cuenta de servicio.

    El archivo JSON que contiene la clave pública/privada para la nueva cuenta de servicio se descarga de forma automática en tu computadora. Este archivo JSON es la única copia de la clave para tu cuenta de servicio. Asegúrate de almacenarla en una ubicación segura. El archivo de claves JSON debe almacenarse en una ubicación a la que se pueda acceder desde tu aplicación. Consulta your-service-account-json-key-file en Autentica mediante una cuenta de servicio (OAuth 2.0).

Agrega la cuenta de servicio a tu entorno local

Si deseas realizar llamadas a la API de venta minorista mediante la herramienta de línea de comandos de cURL, deberás hacer que tu cuenta de servicio esté disponible en tu entorno local. cURL usa el comando gcloud auth application-default print-access-token a fin de obtener un token de acceso para la cuenta de servicio mediante el SDK de Cloud de Google Cloud. Para descargar y, luego, instalar el SDK, consulta SDK de Cloud.

  export GOOGLE_APPLICATION_CREDENTIALS=path-to-service-account-json-key-file

Crear una clave de API

  1. Ve a la página Credenciales de Cloud Console.

  2. En el menú desplegable del proyecto en la parte superior de la página de Google Cloud Console, selecciona tu proyecto (es posible que el proyecto ya esté seleccionado).

  3. Haz clic en Crear credenciales y selecciona Clave de API. No agregues ninguna restricción del referente. Se sabe que algunas configuraciones de privacidad del usuario no pasan la URL del referente.

    • Toma nota de la clave de API generada, que usarás cuando llames al registro de eventos del usuario.
  4. Para obtener mayor seguridad, agrega una restricción de HTTP a tu clave de API a fin de restringir el acceso al servicio de venta minorista en https://retail.googleapis.com/*.

Ejemplos

Autentica mediante una cuenta de servicio (OAuth 2.0)

Aquí hay un ejemplo de Java de autenticación de OAuth 2.0 con una cuenta de servicio. Puedes encontrar instrucciones más detalladas en la documentación de autenticación. Google tiene bibliotecas cliente en 7 idiomas que puedes usar para implementar la autenticación de OAuth2 en tu aplicación. Si prefieres implementar HTTP/REST directamente, sigue las instrucciones de autenticación de REST.

En el ejemplo, reemplaza your-service-account-json-key-file por la ruta de acceso al archivo de claves JSON de tu cuenta de servicio.

// Simple Java example of using Google Cloud OAuth client library.
//
// Please see here for the list of libraries in different languages:
// https://developers.google.com/identity/protocols/OAuth2#libraries
//
// The following example depends on the google api client library.
//
// Maven:
//    <dependency>
//      <groupId>com.google.api-client</groupId>
//      <artifactId>google-api-client</artifactId>
//      <version>1.22.0</version>
//    </dependency>
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.json.JsonHttpContent;
import com.google.api.client.json.GenericJson;
import com.google.api.client.json.jackson2.JacksonFactory;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class RetailApiSample {
  public static final String CREATE_PRODUCT_URL =
     "https://retail.googleapis.com/v2/projects/[PROJECT_NUMBER]/locations/global/catalogs/default_catalog/branches/0/products";

  public static GoogleCredential authorize() throws Exception {
    return GoogleCredential.fromStream(new FileInputStream("your-service-account-json-key-file"))
        .createScoped(Collections.singleton("https://www.googleapis.com/auth/cloud-platform"))
        .setExpirationTimeMilliseconds(new Long(3600 * 1000));;
  }

  // Build an example product.
  public static GenericJson getProduct() {
    GenericJson categories = new GenericJson()
        .set("categories", Arrays.asList("Electronics > Computers", "Laptops"));
    GenericJson priceInfo = new GenericJson
        .set("currency_code", "USD")
        .set("price", 800.00)
        .set("original_price", 1000.00);

    return new GenericJson()
        .set("name", "projects/[PROJECT_NUMBER]/locations/global/catalogs/default_catalog/branches/0/products/[ProductName]")
        .set("title", "Sample Laptop")
        .set("description", "Indisputably the most fantastic laptop ever created.")
        .set("categories", categories)
        .set("price_info", priceInfo)
        .set("availability", "IN_STOCK")
        .set("available_quantity", 1219);
  }

  public static void main(String[] args) {
    try {
      GoogleCredential credential = RetailApiSample.authorize();

      HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
      HttpRequestFactory requestFactory = httpTransport.createRequestFactory();
      HttpRequest request = requestFactory.buildPostRequest(new GenericUrl(CREATE_PRODUCT_URL),
          new JsonHttpContent(new JacksonFactory(), RetailApiSample.getProduct()));
      credential.initialize(request);
      HttpResponse response = request.execute();
      System.out.println("Response content: " + response.parseAsString());
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Autentica mediante una clave de API

En este ejemplo, se muestra cómo autenticar mediante una clave de API desde la línea de comandos mediante el comando curl. Reemplaza api-key por la clave de API que creaste en la sección anterior.

URL="https://retail.googleapis.com/v2/projects/[PROJECT_ID]/locations/global/catalogs/default_catalog/userEvents:write?key=api-key"

DATA='{
  "user_attributes": {
    ...
  },
  "user_event_detail": {
    ...
  }
}'

echo $URL
curl -H 'Content-Type: application/json' -X POST -d "${DATA}"  $URL