Guida a Product Recognizer

Il modello Product Recognizer ti aiuta a riconoscere e capire quale prodotto è presente nell'immagine fornita. L'immagine deve contenere un solo prodotto che vuoi riconoscere.

Questo modello può fungere da blocco di base dell'AI per analizzare e interpretare i dati delle immagini dei prodotti, che puoi acquisire dai negozi al dettaglio.

Casi d'uso del riconoscimento tag e del riconoscimento dei prodotti

I modelli Product Recognizer e Tag Recognizer possono fungere da elementi di base dell'AI per analizzare e interpretare i dati immagine relativi a prodotti e tag, che potresti aver acquisito dai negozi al dettaglio.

I modelli di riconoscimento dei prodotti e dei tag incorporano diverse funzionalità di modellazione e dati di base di Google AI per aiutare i rivenditori e/o i partner tecnici a risolvere i problemi principali nella comprensione dei dati delle immagini di prodotti ed etichette dei prezzi, tra cui:

  • Riconoscimento, ovvero la comprensione di quale prodotto è presente nell'immagine.
  • Riconoscimento e analisi del tag (ad esempio, il cartellino del prezzo o qualsiasi altro tag di etichetta di testo) in base allo schema di estrazione delle entità della coppia chiave-valore definita dall'utente.

In particolare, sono inclusi diversi modelli di Google AI differenziati per supportare la risoluzione dei problemi di questi casi d'uso, ad esempio

  • Modello di incorporamento visivo delle miniature dei prodotti, che trasforma un'immagine della miniatura del prodotto in una rappresentazione numerica dello spazio delle funzionalità.
  • Il modello OCR di Google, che estrae tutti i testi visibili nell'immagine.
  • Modello di estrazione delle entità di Google (che puoi personalizzare), che trasforma i testi non elaborati in entità denominate coppie chiave-valore definite dall'utente.

Oltre a questi modelli di Google AI, il sistema di riconoscimento dei prodotti sfrutta anche l'ampio database di informazioni sui prodotti di Google. I dati di prodotto in questo database dei prodotti includono l'identità GTIN / UPC del prodotto, il brand del prodotto, il titolo e le descrizioni in varie lingue, il logo del prodotto e le immagini con varie varianti di packaging. Il database dei prodotti con il modello di incorporamento visivo delle miniature dei prodotti menzionato in precedenza consente al modello di riconoscimento dei prodotti di riconoscere immediatamente molti prodotti.

Le due principali funzionalità di AI sono i modelli di riconoscimento dei prodotti e di riconoscimento dei tag.

Funzionalità di riconoscimento dei prodotti

Questo modello riconosce l'identità del singolo prodotto a livello di GTIN (Global Trade Item Number) o UPC (Universal Product Code). Nel Riconoscimento prodotti sono inclusi diversi modelli di Google AI differenziati per consentire la risoluzione di questi casi d'uso, ad esempio:

  • Il modello di incorporamento visivo del prodotto, che trasforma un'immagine del prodotto in una rappresentazione numerica dello spazio delle funzionalità.
  • La tecnologia OCR di Google, che estrae tutti i testi visibili nell'immagine.
  • Il database di prodotti Google utilizzato in combinazione con il modello di incorporamento visivo delle miniature dei prodotti consente al modello di riconoscimento dei prodotti di riconoscere molti prodotti immediatamente.

Esempio di oggetto JSON di output

{
  "imageUri": "gs://test_bucket/test_image.jpg",
  "productRecognitionAnnotations": [
    {
      "detectedText": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage",
      "recognitionResults": [
        {
          "confidence": 0.9420832,
          "productMetadata": {
            "brand": "Bolthouse Farms",
            "gtins": [
              "00071464260804"
              ],
            "locale": "en-US",
            "title": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage, Vanilla Chai Tea - 52 fl oz"
          },
        }
      ]
    }
  ]
}

Concetti delle API

Sono disponibili sei risorse API per facilitare la creazione del catalogo dei prodotti, la gestione dei set di dati dei prodotti, la creazione di indici e il deployment per il servizio di riconoscimento dei prodotti. Sono descritti come segue:

Diagramma del concetto di API

Catalogo: risorsa principale che rappresenta il contenitore di tutti i prodotti offerti dal rivenditore.

Prodotto: rappresenta un prodotto offerto da un commerciante. Product è una risorsa secondaria di Catalog.

ProductImage: l'immagine che rappresenta una visualizzazione di un prodotto. ProductImage è una risorsa secondaria di Product.

ProductSet: un contenitore con granularità più fine per organizzare e raggruppare i prodotti nello stesso Catalog. Un ProductSet può contenere uno o più Product, ma non "possiede" i Product contenuti, bensì mantiene un "collegamento" a questi.

ProductRecognitionIndex: contiene un elenco di incorporamenti di immagini utilizzati per gli algoritmi di riconoscimento dei prodotti. ProductRecognitionIndex può essere creato dall'intero Catalog o da un ProductSet (un sottoinsieme dei Product di Catalog).

Endpoint: un posizionamento che contiene tutte le configurazioni necessarie per eseguire l'inferenza del riconoscimento dei prodotti o del riconoscimento dei tag. Per il riconoscimento dei prodotti, è necessario eseguire il deployment di un ProductRecognitionIndex. Per il riconoscimento dei tag, è necessario specificare i modelli di analisi delle entità dei tag.

Configurazione dell'ambiente

Questa sezione descrive come interagire con l'API RESTful Store Vision AI.

API_ENDPOINT=visionai.googleapis.com
PROJECT_ID=your project ID

Tutti i metodi create richiedono la specifica esplicita del nome/ID della risorsa da creare. Puoi utilizzare una stringa significativa identificatore, ad esempio "product-ABC" o un identificatore generato in modo casuale, ad esempio UUID.

Per concedere a una persona con ruolo l'accesso di editor per utilizzare l'API Store Vision, esegui il seguente comando di binding IAM:

gcloud projects add-iam-policy-binding PROJECT_ID --member='user:USER_ACCOUNT' --role='roles/visionai.editor'

Per concedere a un account di servizio l'accesso come editor, utilizza il comando riportato di seguito:

gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:SERVICE_ACCOUNT' --role='roles/visionai.editor'

Scopri di più sul binding IAM.

Percorso dell'utente del riconoscimento dei prodotti

  1. Crea un catalogo.
  2. Importa i prodotti e (facoltativamente) ProductImages in Catalog.
  3. Visualizza e modifica Product e ProductImages e, se vuoi, crea un ProductSet per organizzare l'elenco dei prodotti in modo più granulare.
  4. Crea un Index, dall'intero Catalog o da un ProductSet.
  5. Crea un Endpoint con la configurazione di riconoscimento dei prodotti desiderata e vi esegue il deployment di un Index.
  6. Esegui BatchAnalyze con la funzionalità ProductRecognition. Nel backend, il sistema identificherà i prodotti da ogni immagine di input e recupererà i primi K prodotti simili dall'indice specificato utilizzando sia segnali visivi che di testo OCR.

Gestione delle risorse API (catalogo e Indexset)

Catalogo

Crea catalogo
  • CATALOG_ID=Your catalog id.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs?retail_catalog_id=CATALOG_ID

Output di esempio

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": false
}
Pull Operation until done
  • OPERATION_ID=Your output operation, for example, operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID

Output di esempio

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": true
}
ImportProduct

Esistono due formati di importazione supportati:

  • TXT: ogni riga è il GTIN di un prodotto da importare
  • JSONL: ogni riga è un formato JSON di RetailProductIoFormat, ad esempio:
{"retailProduct":{"name":"00040094314034","gtins":["00040094314034"]},"retailProductImages":[{"name":"1","gcsUri":"gs://shelfchecking-integration-test-data/products-data/00040094314034/1.jpg"}]}
{"retailProduct": {"name":"00123", "thirdPartyIds": {"id": "test-id", "owner": "test-owner"}}}

Per ulteriori dettagli su RetailProductIoFormat, consulta il riferimento API. Al momento supportiamo l'importazione di un massimo di 10.000 prodotti per operazione ImportProduct.

Tieni presente inoltre che "name" all'interno di "retailProductImages" deve essere univoco solo nell'ambito della risorsa "retailProduct" principale, il che significa che potrebbero esistere due "retailProductImages" con lo stesso "name" purché appartengano a una risorsa "retailProduct" diversa.

  • IMPORT_FILE_URI=Your import file URI Cloud Storage, for example, gs://mybucket/my_import_file.jsonl
  • IMPORT_FORMAT=Your import file format, either FORMAT_JSONL or FORMAT_TXT
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID:importRetailProducts \
  -d '{
    "gcs_source": {
      "uris": "IMPORT_FILE_URI"
    },
    "format": "IMPORT_FORMAT"
  }'
Elenco cataloghi
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs
GetCatalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
DeleteCatalog
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID

Prodotto

CreateProduct con GTIN

Supportiamo i formati GTIN-8, GTIN-13, GTIN-14 e UPC(noto anche come GTIN-12). Scopri di più sul formato GTIN qui.

  • PRODUCT_ID=Your product id
  • GTIN=gtin del tuo prodotto, ad esempio 50735854797459, 00040094314034
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
  -d '{"gtins": "GTIN"}'
CreateProduct con ID di terze parti
  • PRODUCT_ID=Your product id
  • THIRD_PARTY_ID=ID di terze parti
  • OWNER=The entity that owns the third party identifier
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '
  {
    "third_party_ids": {
      "id": "THIRD_PARTY_ID",
      "owner": "OWNER",
    }
  }'
ListProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts
GetProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
DeleteProduct
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID

ProductImage

CreateProductImage
  • PRODUCT_IMAGE_ID=Your product image id
  • IMAGE_GCS_URI=Your image Cloud Storage uri, for example, gs://mybucket/my_img.jpg
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages?retail_product_image_id=PRODUCT_IMAGE_ID \
  -d '{
    "source_type": "SOURCE_TYPE_HAND_HELD_CAMERA",
    "gcs_uri": "IMAGE_GCS_URI"
  }'
ListProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages
GetProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
DeleteProductImage
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID

ProductSet

CreateProductSet
  • PRODUCT_SET_ID=Your product set id
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets?retail_product_set_id=PRODUCT_SET_ID
ListProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets
GetProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
AddProductsToProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:add \
  -d '{"product_ids": "PRODUCT_ID"}'
RemoveProductsFromProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:remove \
  -d '{"product_ids": "PRODUCT_ID"}'
DeleteProductSet
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID

ProductRecognitionIndex

Create ProductRecognitionIndex

Esistono due modi per creare un ProductRecognitionIndex: dal catalogo, che utilizzerà tutto ciò che contiene, oppure da un ProductSet, che utilizzerà solo i prodotti e le immagini dei prodotti associati.

  • INDEX_ID=Your index id
  • COVERAGE_CSV_OUTPUT_DIRECTORY=<Percorso di Cloud Storage della directory in cui verrà scritto il file di copertura dell'indice
# Create from Catalog
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID
# Create from Catalog and output index coverage CSV file to a Cloud Storage directory.
# This API method is especially useful when you want to understand the
# actual number of images used to construct the index per imported GTIN, and
# the image can be sourced from the Google Product database, your own importing,
# and other means (such as with the Google Data Labeling service.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID&coverage_output.output_uri_prefix=COVERAGE_CSV_OUTPUT_DIRECTORY"
# Create from ProductSet, by adding the following to the previous Curl command
-d '{"retail_product_set": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductSets/PRODUCT_SET_ID"}'
Get ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
List ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes
Delete ProductRecognitionIndex
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID

Endpoint

Crea endpoint
  • ENDPOINT_ID=Your endpoint id
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints?retail_endpoint_id=ENDPOINT_ID -d '{
  "productRecognitionConfig": {
    "recognitionConfidenceThreshold": 0.4
  }
}'
DeployProductRecognitionIndex

È possibile eseguire il deployment di un endpoint solo con un indice ProductRecognitionIndex, ma un indice ProductRecognitionIndex può essere eseguito il deployment su più endpoint.

curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:deployRetailProductRecognitionIndex \
  -d '{
    "retail_product_recognition_index": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductRecognitionIndexes/INDEX_ID"
  }'
GetEndpoint
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID
ListEndpoints
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints
UndeployProductRecognitionIndex

L'annullamento del deployment rimuoverà solo ProductRecognitionIndex dall'endpoint di chiamata corrente e non influirà sugli altri endpoint se ProductRecognitionIndex viene eseguito il deployment anche su altri.

curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:undeployRetailProductRecognitionIndex
DeleteEndpoint
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID

Inferenza di analisi batch (riconoscimento dei prodotti)

File di input di esempio in gs://my-bucket/input-file.csv:

gs://my-bucket/my-image1.jpg
gs://my-bucket/my-image2.jpg
gs://my-bucket/my-image3.jpg
  • INPUT_FILE_URI=URI Cloud Storage del file di input> ogni riga del file di input è un URI Cloud Storage dell'immagine da elaborare, ad esempio gs://my-bucket/my-image.jpg
  • OUTPUT_URI_PREFIX=Cloud Storage uri prefix for output results file, for example, gs://my-bucket/my-output-dir
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:batchAnalyze -d '{
  "gcsSource": {
    "uris": ["INPUT_FILE_URI"]
  },
  "features": [
    {
      "type": "TYPE_PRODUCT_RECOGNITION",
     }
  ],
  "outputGcsDestination": {
    "outputUriPrefix": "OUTPUT_URI_PREFIX"
  }
}'
"features": [
    {
      "type": "TYPE_PRODUCT_RECOGNITION",
      "productRecognitionConfig": {
        "recognitionConfidenceThreshold": 0.4
      }
    }
  ],

Sono disponibili anche altri campi che puoi impostare e configurare in productRecognitionConfig, che è un oggetto RetailProductRecognitionConfig. Per ulteriori dettagli, consulta la descrizione della risorsa nel riferimento API.

Riferimento API

Risorsa: projects.locations.retailCatalogs

Rappresentazione JSON

{
  "name": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "resourceState": enum(RetailResourceState),
  "labels": {
    string: string,
    ...
  }
}

Campi


name

Stringa

Solo output. Nome risorsa di RetailCatalog

displayName

Stringa

(Facoltativo) Nome visualizzato di RetailCatalog.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione di questo RetailCatalog.

updateTime

string (Timestamp format)

Solo output. Il timestamp dell'aggiornamento.

resourceState

enum

Solo output. Stato di RetailCatalog.

etichette

map (key: string, value: string)

Le etichette con i metadati definiti dall'utente per organizzare il catalogo Retail.

I valori e le chiavi di etichetta non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, consulta la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Metodo: projects.locations.retailCatalogs.create

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailCatalog.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailCatalog appena creata.

Metodo: projects.locations.retailCatalogs.get

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}

Parametri del percorso

nome string Obbligatorio. Identificatore RetailCatalog.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailCatalog.

Metodo: projects.locations.retailCatalogs.list

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi da ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordine decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura: Rappresentazione JSON

{
  "retailCatalogs": [
    {
      object (RetailCatalog)
    }
  ],
  "nextPageToken": string
}

Metodo: projects.locations.retailCatalogs.delete

Richiesta HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}

Parametri del percorso

nome string Obbligatorio. Identificatore RetailCatalog.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Metodo: projects.locations.retailCatalogs.importRetailProducts

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}:importRetailProducts

Parametri del percorso

nome string Obbligatorio. Nome della risorsa RetailCatalog.

Corpo della richiesta

Rappresentazione JSON

{
  "gcsSource": { object(GcsSource) },
  "format": enum(Format)
}

Campi

gcsSource oggetto Obbligatorio. Il percorso Cloud Storage dei contenuti di input. È possibile fornire più posizioni di input. I contenuti di tutte le posizioni di input verranno importati in un unico batch. Estensioni dei file supportate: 1. Un file JSONL. Ogni riga è un formato JSON di RetailProductIoFormat.
2. Un file TXT. Ogni riga è il GTIN di un prodotto da importare.
formato enum Obbligatorio. Il formato del file di importazione.

Formattare i valori ENUM

FORMAT_UNSPECIFIED Non deve essere utilizzato.
FORMAT_TXT Formato TXT.
FORMAT_JSONL Formato JSONL.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Risorsa: projects.locations.retailProducts

Rappresentazione JSON

{
  "name": string,
  "gtins": [string],
  "normalizedGtins": [string],
  "thirdPartyIds": [ { object(ThirdPartyId) }],
  "locale": string,
  "brand": string,
  "title": string,
  "productUri": string,
  "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campi


name

Stringa

Solo output. Nome della risorsa RetailProductImage

displayName

Stringa

(Facoltativo) Nome visualizzato di RetailProductImage.

sourceType

enum

(Facoltativo) Tipo di origine

gcsUri

stringa

(Facoltativo) Percorso Cloud Storage di RetailProductImage. Deve essere impostato, tranne quando l'immagine viene fornita da Google, ad esempio quando il tipo di origine è SOURCE_TYPE_GOOGLE.

resourceState

enum

Solo output. Stato di RetailProductImage.

etichette

map (key: string, value: string)

Le etichette con metadati definiti dall'utente per organizzare RetailProductImage.

I valori e le chiavi di etichetta non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Solo output. Timestamp creazione.

updateTime

string (Timestamp format)

Solo output. Il timestamp dell'aggiornamento.

RetailThirdPartyId Presentazione JSON

{
  "id": string,
  "owner": string
}

Campi

id string ID di terze parti utilizzato dal rivenditore o dal produttore (ad esempio, SKU o MPN).
proprietario string L'entità "proprietaria" dell'identificatore di terze parti, ad esempio il produttore o il rivenditore che vende questo prodotto.

Metodo: projects.locations.retailCatalogs.retailProducts.create

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailProduct.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProduct appena creata.

Metodo: projects.locations.retailCatalogs.retailProducts.get

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProduct.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProduct.

Metodo: projects.locations.retailCatalogs.retailProducts.list

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi da ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordine decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura: Rappresentazione JSON

{
  "retailProducts": [
    {
      object (RetailProducts)
    }
  ],
  "nextPageToken": string
}

Metodo: projects.locations.retailCatalogs.retailProducts.delete

Richiesta HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProduct.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Risorsa: projects.locations.retailProductImages

Rappresentazione JSON

{
  "name": string,
  "displayName": string,
  "sourceType": enum(SourceType),
  "gcsUri": string,
  "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campi


name

Stringa

Solo output. Nome della risorsa RetailProductImage

displayName

Stringa

(Facoltativo) Nome visualizzato di RetailProductImage.

sourceType

enum

(Facoltativo) Tipo di origine

gcsUri

stringa

(Facoltativo) Percorso Cloud Storage di RetailProductImage. Deve essere impostato, tranne quando l'immagine viene fornita da Google, ad esempio quando il tipo di origine è SOURCE_TYPE_GOOGLE.

resourceState

enum

Solo output. Stato di RetailProductImage.

etichette

map (key: string, value: string)

Le etichette con metadati definiti dall'utente per organizzare RetailProductImage.

I valori e le chiavi di etichetta non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Solo output. Timestamp creazione.

updateTime

string (Timestamp format)

Solo output. Il timestamp dell'aggiornamento.

Valori ENUM SourceType

SOURCE_TYPE_UNSPECIFIED Origine dati sconosciuta. Non deve essere utilizzato.
SOURCE_TYPE_FIXED_CAMERA L'immagine viene acquisita da una videocamera fissa.
SOURCE_TYPE_HAND_HELD_CAMERA L'immagine viene acquisita da una videocamera portatile.
SOURCE_TYPE_CRAWLED L'immagine viene sottoposta a scansione dal web.
SOURCE_TYPE_SYSTEM_GENERATED L'immagine è ritagliata da un'immagine originale con etichettatura umana.

Metodo: projects.locations.retailCatalogs.retailProducts.retailProductImages.create

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailProductImage.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductImage appena creata.

Metodo: projects.locations.retailCatalogs.retailProducts.retailProductImages.get

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProductImage.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductImage.

Metodo: projects.locations.retailCatalogs.retailProducts.retailProductImages.list

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi da ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordine decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON

{
  "retailProductImages": [
    {
      object (RetailProductImages)
    }
  ],
  "nextPageToken": string
}

Metodo: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete

Richiesta HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProductImage.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Risorsa: projects.locations.retailCatalogs.retailProductSets

Rappresentazione JSON

{
  "name": string,
  "displayName": string,
  "retailProductIds": [string],
  "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campi


name

Stringa

Solo output. Nome risorsa del RetailProductSet

displayName

Stringa

(Facoltativo) Nome visualizzato di RetailProductSet.

retailProductIds []

Stringa

Solo output. ID risorsa dei prodotti appartenenti a questo RetailProductSet. I prodotti in un RetailProductSet devono trovarsi nello stesso catalogo.

resourceState

enum

Solo output. Stato di RetailProductSet.

etichette

map (key: string, value: string)

Le etichette con metadati definiti dall'utente per organizzare il tuo RetailProductSet.

I valori e le chiavi di etichetta non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Solo output. Timestamp creazione.

updateTime

string (Timestamp format)

Solo output. Il timestamp dell'aggiornamento.

Metodo: projects.locations.retailCatalogs.retailProductSets.create

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailProductSet.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductSet appena creata.

Metodo: projects.locations.retailCatalogs.retailProductSets.get

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProductSet.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductSet.

Metodo: projects.locations.retailCatalogs.retailProductSets.list

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi da ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordine decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON

{
  "retailProductSets": [
    {
      object (RetailProductSets)
    }
  ],
  "nextPageToken": string
}

Metodo: projects.locations.retailCatalogs.retailProductSets.delete

Richiesta HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProductSet.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Metodo: projects.locations.retailCatalogs.retailProductSets.add

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:remove

Parametri del percorso

nome string Obbligatorio. Nome della risorsa RetailProductSet.

Corpo della richiesta

Rappresentazione JSON

{
  "productIds": [string],
  "productFilter": string
}

Campi


productIds[ ]

stringa

ID risorsa dei RetailProducts da aggiungere. Devono appartenere tutti allo stesso RetailCatalog del RetailProductSet di destinazione specificato. È possibile specificare fino a 200 ID RetailProducts in una richiesta. Non può essere utilizzato insieme a productFilter.

productFilter

stringa

Un filtro standard che verrà applicato a tutti i RetailProduct nel RetailCatalog principale, seleziona gli elementi che soddisfano le condizioni del filtro e aggiungili al RetailProductSet. Non può essere utilizzato insieme a product_ids. Filtri supportati: https://google.aip.dev/160

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Metodo: projects.locations.retailCatalogs.retailProductSets.remove

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:add

Parametri del percorso

nome string Obbligatorio. Nome della risorsa RetailProductSet.

Corpo della richiesta

Rappresentazione JSON

{
  "productIds": [string],
  "productFilter": string
}

Campi


productIds[ ]

stringa

ID risorsa dei RetailProducts da rimuovere. Se RetailProducts specificato non appartiene a questo RetailProductSet, verrà ignorato. È possibile specificare fino a 200 ID RetailProducts in una richiesta. Non può essere utilizzato insieme a products_filter.

productFilter

stringa

Un filtro standard che verrà applicato a tutti i RetailProduct nel RetailProductSet specificato, seleziona gli elementi che soddisfano le condizioni del filtro e rimuovili dal RetailProductSet. Non può essere utilizzato insieme a product_ids. Filtri supportati:https://google.aip.dev/160

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Risorsa: projects.locations.retailCatalogs.retailProductRecognitionIndexes

Rappresentazione JSON

{
  "name": string,
  "displayName": string,
  "description": string,
  "retailProductSet": [string],
   "resourceState": enum(RetailResourceState),
   "labels": {
    string: string,
    ...
    }
   "createTime": string,
   "updateTime": string
}

Campi


name

Stringa

Solo output. Nome della risorsa RetailProductRecognitionIndex.

displayName

Stringa

(Facoltativo) Nome visualizzato di RetailProductRecognitionIndex.

descrizione

Stringa

(Facoltativo) La descrizione di RetailProductRecognitionIndex.

retailProductSet[]

stringa

(Facoltativo) Il nome della risorsa RetailProductSet da utilizzare per creare questa risorsa. Se impostato, RetailProductRecognitionIndex conterrà solo i prodotti nel RetailProductSet specificato. Se non viene impostato, verranno utilizzati tutti i prodotti del catalogo principale.

resourceState

enum

Solo output. Stato di RetailProductRecognitionIndex.

etichette

map (key: string, value: string)

Le etichette con metadati definiti dall'utente per organizzare l'indice RetailProductRecognition.

I valori e le chiavi di etichetta non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Solo output. Timestamp creazione.

updateTime

string (Timestamp format)

Solo output. Il timestamp dell'aggiornamento.

Metodo: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailProductRecognitionIndex.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductRecognitionIndex appena creata.

Metodo: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*

Parametri del percorso

nome string Obbligatorio. Identificatore RetailProductRecognitionIndex.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailProductRecognitionIndex.

Metodo: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi da ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordine decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON

{
  "retailProductRecognitionIndexes": [
    {
      object (RetailProductRecognitionIndex)
    }
  ],
  "nextPageToken": string
}

Metodo: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete

Richiesta HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*

Parametri del percorso

nome string Obbligatorio. Identificatore ProductRecognitionIndex.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Risorsa: projects.locations.retailEndpoints

Rappresentazione JSON

{
  "name": string,
  "displayName": string,
  "description": string,
  "deployedProductRecognitionIndex": string,
  "resourceState": enum(RetailResourceState),
  "productRecognitionConfig": { object(RetailProductRecognitionConfig) },
  "tagRecognitionConfig": { object(RetailTagRecognitionConfig) },
  "labels": {
    string: string,
    ...
   }
  "createTime": string,
  "updateTime": string
}

Campi


name

Stringa

Solo output. Nome della risorsa RetailEndpoint.

displayName

Stringa

(Facoltativo) Nome visualizzato di RetailEndpoint.

descrizione

Stringa

(Facoltativo) La descrizione di RetailEndpoint.

deployedProductRecognitionIndex

Stringa

Solo output. Nome della risorsa di ProductRecognitionIndex di cui è stato eseguito il deployment in questo RetailEndpoint.

productRecognitionConfig

oggetto

(Facoltativo) Configurazione per il riconoscimento del prodotto.

tagRecognitionConfig

oggetto

(Facoltativo) Configurazione per il riconoscimento dei tag.

resourceState

enum

Solo output. Stato di RetailProductRecognitionIndex.

etichette

map (key: string, value: string)

Le etichette con metadati definiti dall'utente per organizzare l'indice RetailProductRecognition.

I valori e le chiavi di etichetta non devono superare i 64 caratteri (punti di codice Unicode) e possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Sono consentiti caratteri internazionali.

Per ulteriori informazioni ed esempi di etichette, visita la pagina https://goo.gl/xmQnxf.

Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Solo output. Timestamp creazione.

updateTime

string (Timestamp format)

Solo output. Il timestamp dell'aggiornamento.

RetailProductRecognitionConfig

Rappresentazione JSON

{
  "productDetectionModel": string,
  "detectionConfidenceThreshold": float,
  "recognitionConfidenceThreshold": float,
  "additionalConfig": { object }
}

Campi

|

productDetectionModel string Obbligatorio. Modello da utilizzare per rilevare i prodotti nelle immagini di input. Valori supportati: "builtin/stable" (il valore predefinito) o il nome della risorsa del modello Vertex AI.
detectionConfidenceThreshold float Facoltativo. Soglia di confidenza per filtrare i risultati del rilevamento. Se non viene impostato, verrà utilizzato un valore predefinito del sistema.
recognitionConfidenceThreshold float Facoltativo. Soglia di confidenza per filtrare i risultati del riconoscimento. Se non viene impostato, verrà utilizzato un valore predefinito del sistema.
additionalConfig oggetto (formato Struct) Facoltativo. Configurazioni aggiuntive per il riconoscimento dei prodotti.

RetailTagRecognitionConfig

Rappresentazione JSON

{
  "tagDetectionModel": string,
  "tagParsingModel": string,
  "detectionConfidenceThreshold": float,
  "parsingConfidenceThreshold": float,
  "additionalConfig": { object }
}

Campi

tagDetectionModel string Obbligatorio. Modello da utilizzare per rilevare i tag nelle immagini di input. Valori supportati: risorsa modello Vertex AI.
tagParsingModel string Obbligatorio. Modello per analizzare il testo sui tag rilevati. Valori supportati: risorsa modello Vertex AI.
detectionConfidenceThreshold float Facoltativo. Soglia di confidenza per filtrare i risultati del rilevamento. Se non viene impostato, verrà utilizzato un valore predefinito del sistema.
parsingConfidenceThreshold float Facoltativo. Soglia di confidenza per filtrare i risultati dell'analisi del testo. Se non viene impostato, verrà utilizzato un valore predefinito del sistema.
additionalConfig oggetto (formato Struct) Facoltativo. Configurazioni aggiuntive per il riconoscimento dei tag.

Metodo: projects.locations.retailEndpoints.create

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Corpo della richiesta

Il corpo della richiesta contiene un'istanza di RetailEndpoint.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailEndpoint appena creata.

Metodo: projects.locations.retailEndpoints.get

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*}

Parametri del percorso

nome string Obbligatorio. Identificatore RetailEndpoint.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di RetailEndpoint.

Metodo: projects.locations.retailEndpoints.list

Richiesta HTTP

GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints

Parametri del percorso

genitore string Obbligatorio. Identificatore principale.

Parametri di query

filtro string Facoltativo. Un'espressione per filtrare i risultati della richiesta.
pageToken string Facoltativo. Un token che identifica una pagina di risultati che il server deve restituire.
pageSize integer Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato.
orderBy string Facoltativo. Un elenco separato da virgole di campi da ordinare in ordine crescente. Utilizza "desc" dopo il nome di un campo per l'ordine decrescente.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON

{
  "retailEndpoints": [
    {
      object (RetailEndpoint)
    }
  ],
  "nextPageToken": string
}

Metodo: projects.locations.retailEndpoints.delete

Richiesta HTTP

DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*

Parametri del percorso

nome string Obbligatorio. Identificatore RetailEndpoint.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta è vuoto.

Metodo: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:deployRetailProductRecognitionIndex

Parametri del percorso

retailEndpoint string Obbligatorio. Nome della risorsa RetailEndpoint in cui viene eseguito il deployment di RetailProductRecognitionIndex.

Corpo della richiesta

Rappresentazione JSON

{
  "retailProductRecognitionIndex": string,
}

Campi

retailProductRecognitionIndex string Obbligatorio. Il nome della risorsa di RetailProductRecognitionIndex di cui eseguire il deployment.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Metodo: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:undeployRetailProductRecognitionIndex

Parametri del percorso

retailEndpoint string Obbligatorio. Nome della risorsa RetailEndpoint su cui verrà eseguito l'annullamento del deployment.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Metodo: projects.locations.retailEndpoints.batchAnalyze

Richiesta HTTP

POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:batchAnalyze

Parametri del percorso

retailEndpoint string Obbligatorio. Nome della risorsa RetailEndpoint per gestire la richiesta di inferenza.

Corpo della richiesta

Rappresentazione JSON

{
  "gcsSource": string,
  "features": { object(Feature) },
  // Union field output can be only one of the following:
  "outputGcsDestination": string,
  "corpus": string,
  // End of list of possible types for union field output.
  "bigqueryTable": string
}

Campi

gcsSource string Obbligatorio. Il percorso Cloud Storage dei contenuti di input. È possibile fornire più posizioni di input. I contenuti di tutte le località di input verranno elaborati in un unico batch. Contenuti supportati: un file TXT in cui ogni riga è il percorso completo di un'immagine. In una richiesta è possibile supportare un massimo di 50.000 immagini.
outputGcsDestination string Facoltativo. Il percorso Cloud Storage della directory in cui scrivere l'output.
corpus string Facoltativo. Nome della risorsa del corpus del warehouse di immagini. Non ancora supportato.
bigqueryTable string Facoltativo. Nome della risorsa della tabella BigQuery per le esportazioni di annotazioni. Nel formato "projects/*/datasets/*/tables/*". Se impostate, anche le annotazioni generate dall'inferenza ML verranno esportate nella tabella BigQuery specificata. Non ancora supportato.
features[] Oggetto Obbligatorio. Il tipo di inferenza ML da eseguire.

Funzionalità

Rappresentazione JSON

{
  "type": enum(Type),
  "productRecognitionConfig": object(RetailProductRecognitionConfig),
  "tagRecognitionConfig": object(RetailTagRecognitionConfig)
}

Campi

tipo enum Obbligatorio. Il tipo di funzionalità.
productRecognitionConfig oggetto Facoltativo. Override per richiesta per la funzionalità di riconoscimento dei prodotti. È efficace solo se il tipo è impostato su TYPE_PRODUCT_RECOGNITION.
tagRecognitionConfig oggetto Facoltativo. Override per richiesta per la funzionalità di riconoscimento dei tag. È efficace solo se il tipo è impostato su TYPE_TAG_RECOGNITION.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Tipi

GcsSource

Rappresentazione JSON

{
  "uris": [string]
}

Campi

uris[] string Obbligatorio. Riferimenti a un percorso Cloud Storage.

Tipo

Valori ENUM

TYPE_UNSPECIFIED Il valore predefinito. Non deve essere utilizzato.
TYPE_PRODUCT_RECOGNITION Riconoscimento dei prodotti. Deve essere utilizzato su un RetailEndpoint con RetailProductRecognitionIndex implementato.
TYPE_TAG_RECOGNITION Rilevamento e analisi dei tag. Deve essere utilizzato su un RetailEndpoint con RetailTagRecognitionConfig.

RetailProductIoFormat

Rappresentazione JSON

{
  "retailProduct": { object(RetailProduct) },
  "retailProductImages": [ { object(RetailProductImage) }]
}

Campi

retailProduct oggetto Obbligatorio. RetailProduct da importare
retailProductImages[ ] oggetto (Facoltativo) RetailProductImages del RetailProduct specificato da importare.

RetailResourceState

Valori ENUM

RETAIL_RESOURCE_STATE_UNSPECIFIED Il valore predefinito. Non deve essere utilizzato.
RETAIL_RESOURCE_STATE_CREATING Stato: creazione in corso.
RETAIL_RESOURCE_STATE_CREATED Stato creato.
RETAIL_RESOURCE_STATE_UPDATING Aggiornamento dello stato.
RETAIL_RESOURCE_STATE_DELETED Stato eliminato.
RETAIL_RESOURCE_STATE_ERROR Errore di stato.