Questa documentazione di Recommendations AI fa riferimento alla console Recommendations. Ti consigliamo di passare alla console per la vendita al dettaglio e di utilizzare la documentazione sulla vendita al dettaglio, che documenta Recommendations AI, la console di Retail e la Ricerca al dettaglio.

Se utilizzi la versione v1beta di Recommendations AI, esegui la migrazione alla versione API Retail.

Prima di iniziare

In questa pagina vengono descritti i passaggi da eseguire prima di utilizzare Recommendations AI.

Configura il progetto

Devi creare un progetto Google Cloud per accedere a Recommendations AI. Per configurare un progetto, procedi nel seguente modo:

  1. Vai alla pagina Gestisci risorse di Google Cloud Console.

    VAI ALLA PAGINA GESTISCI RISORSE

  2. Nel menu a discesa nella parte superiore della pagina, seleziona l'organizzazione in cui vuoi creare un progetto.

  3. Fai clic su Crea progetto.

  4. Nella finestra Nuovo progetto visualizzata, inserisci un nome per il progetto e seleziona un account di fatturazione come appropriato.

  5. Se vuoi aggiungere il progetto a una cartella, inserisci il nome della cartella nella casella Posizione.

  6. Dopo avere inserito i dettagli del nuovo progetto, fai clic su Crea.

Accetta i Termini per l'utilizzo dei dati di Discovery Services

Se hai abilitato Recommendations AI su un progetto Google Cloud prima che i termini di utilizzo dei dati di Discovery Service entrassero in vigore il 4 aprile 2022, devi accettare i termini per continuare a utilizzare Recommendations AI con il progetto in questione.

Per accettare i termini di utilizzo dei dati di Discovery Services per un progetto, completa i seguenti passaggi:

  1. Vai alla dashboard di Recommendations AI:

    DASHBOARD DI AI SUGGERIMENTI

  2. Fai clic su Vai ai termini nel banner nella parte superiore di Google Cloud Console.

  3. Nella pagina Termini di utilizzo dei dati, leggi i relativi termini e fai clic su Accetta se accetti i termini.

Configurare l'autenticazione per l'applicazione

Per accedere all'API Retail devi configurare entrambi i metodi di autenticazione seguenti:

  • Account di servizio: le applicazioni utilizzano un account di servizio per autenticare le chiamate a Product.

  • Chiave API: le applicazioni utilizzano una chiave API per le chiamate alle API user event logging.

Crea un account di servizio

  1. Vai alla pagina Credenziali di Google Cloud Console.

  2. Seleziona il progetto per cui stai creando le credenziali (il progetto potrebbe essere già selezionato).

  3. Fai clic su Crea credenziali, quindi seleziona Chiave account di servizio.

  4. Compila i seguenti campi:

    Campo Valore
    Account di servizio Nuovo account di servizio
    Nome account di servizio enter a name for your service account
    Ruolo Account di servizio > Service Account Token Creator
    Recommendations AI > Recommendations AI Editor
    Tipo di chiave JSON
  5. Fai clic su Crea per creare l'account di servizio.

    Il file JSON contenente la chiave pubblica/privata per il nuovo account di servizio viene scaricato automaticamente sul computer. Questo file JSON è l'unica copia della chiave per il tuo account di servizio. Assicurati di conservarlo in una posizione sicura. Il file della chiave JSON deve essere archiviato in una posizione accessibile dalla tua applicazione (vedi your-service-account-json-key-file in Autenticazione tramite un account di servizio (OAuth 2.0).

Aggiungi l'account di servizio al tuo ambiente locale

Se vuoi effettuare chiamate all'API Retail utilizzando lo strumento a riga di comando cURL, devi rendere disponibile il tuo account di servizio nel tuo ambiente locale. cURL utilizza il comando gcloud auth application-default print-access-token per ottenere un token di accesso per il tuo account di servizio tramite Google Cloud Cloud SDK. Per scaricare e installare l'SDK, consulta la sezione Cloud SDK. Se utilizzi Cloud Shell, l'SDK è già installato.

La variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS non continuerà a esistere se chiudi la finestra di comando. Per assicurarti che la variabile sia impostata sul percorso del file dell'account di servizio quando apri una nuova finestra di comando, imposta il valore in uno script shell di inizializzazione.

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

Crea una chiave API

  1. Vai alla pagina Credenziali di Google Cloud Console.

  2. Nel menu a discesa del progetto nella parte superiore della pagina di Google Cloud Console, seleziona il progetto in modo da selezionarlo già.

  3. Fai clic su Crea credenziali e seleziona Chiave API. Non aggiungere restrizioni per i referrer. Alcune impostazioni sulla privacy dell'utente sono note per non passare l'URL del referrer.

    • Prendi nota della chiave API generata, che utilizzerai per chiamare il logging degli eventi utente.
  4. Per maggiore sicurezza, aggiungi una limitazione HTTP alla tua chiave API per limitare l'accesso al servizio Retail all'indirizzo https://retail.googleapis.com/*.

Esempi

Autenticazione con un account di servizio (OAuth 2.0)

Ecco un esempio in Java di autenticazione OAuth 2.0 tramite account di servizio. Istruzioni più dettagliate sono disponibili nella documentazione sull'autenticazione. Google offre librerie client in 7 lingue che puoi utilizzare per implementare l'autenticazione OAuth2 nella tua applicazione. Se preferisci implementare direttamente il protocollo HTTP/REST, segui le istruzioni per l'autenticazione REST.

Nell'esempio, sostituisci your-service-account-json-key-file con il percorso del file della chiave JSON dell'account di servizio.

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