Guia do Reconhecedor de produtos

O modelo Reconhecedor de produtos ajuda você a identificar e entender qual produto está na imagem fornecida. A imagem deve conter apenas um item de produto que você quer reconhecer.

Esse modelo pode servir como o principal elemento básico da IA para analisar e interpretar dados de imagens de produtos, que podem ser capturados em lojas de varejo.

Casos de uso do Reconhecedor de tags e do Reconhecedor de produtos

Os modelos Reconhecedor de produtos e Reconhecedor de tags podem servir como os principais blocos de construção de IA para analisar e interpretar os dados de imagem de produtos e tags, que você pode ter capturado em lojas de varejo.

Os modelos de reconhecimento de produtos e de tags incorporam vários recursos principais de modelagem e dados de IA do Google para ajudar os varejistas e/ou parceiros técnicos a resolver problemas importantes na compreensão dos dados de imagens de produtos e etiquetas de preço, incluindo:

  • Reconhecer, ou seja, entender qual produto está na imagem.
  • Reconhecer e analisar a tag (por exemplo, preço ou qualquer outra tag de rótulo de texto) de acordo com o esquema de extração de entidade de par de chave-valor definido pelo usuário.

Em particular, vários modelos de IA do Google diferenciados estão incluídos para oferecer suporte à resolução de problemas desses casos de uso, como

  • Modelo de embedding visual de miniatura do produto, que transforma uma imagem de miniatura do produto em uma representação numérica de espaço de recursos.
  • Modelo de OCR do Google, que extrai todos os textos visíveis na imagem.
  • Modelo de extração de entidades do Google (que pode ser personalizado) que transforma os textos brutos em entidades nomeadas de par de chave-valor definidos pelo usuário.

Além desses modelos de IA do Google, o reconhecedor de produtos também usa o grande banco de dados de informações de produtos do Google. Os dados de produtos nesse banco de dados incluem o GTIN / UPC, a marca, o título, as descrições em vários idiomas, o logotipo e as imagens do produto com várias variações de embalagem. O banco de dados de produtos com o modelo de incorporação visual de miniatura de produto mencionado anteriormente permite que o modelo de reconhecimento de produtos identifique muitos produtos imediatamente.

Os dois principais recursos de IA são os modelos de reconhecimento de produtos e de reconhecimento de tags.

Funcionalidade do Reconhecedor de produtos

Esse modelo reconhece a identidade de produtos individuais no nível do Número global do item comercial (GTIN) ou do Código universal de produto (UPC). Vários modelos de IA do Google diferenciados estão incluídos no Reconhecedor de produtos para resolver problemas nesses casos de uso, como:

  • O modelo de embedding visual do produto, que transforma uma imagem do produto em uma representação numérica do espaço de recursos.
  • A tecnologia de OCR do Google, que extrai todos os textos visíveis na imagem.
  • O banco de dados de produtos do Google usado em combinação com o modelo de incorporação visual da miniatura do produto permite que o modelo de reconhecimento de produtos reconheça muitos produtos imediatamente.

Exemplo de objeto JSON de saída

{
  "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"
          },
        }
      ]
    }
  ]
}

Conceitos da API

Há seis recursos de API oferecidos para ajudar a criar o catálogo de produtos, o gerenciamento de conjuntos de dados de produtos, a criação de índices e a implantação do serviço de reconhecimento de produtos. Elas são descritas da seguinte forma:

Diagrama de conceitos da API

Catálogo: recurso raiz que representa o contêiner de todos os produtos oferecidos pelo varejista.

Product: representa um produto oferecido por um comerciante. Product é um recurso filho de Catalog.

ProductImage: a imagem que representa uma visualização de um produto. ProductImage é um recurso filho de Product.

ProductSet: um contêiner de granularidade mais refinada para organizar e agrupar produtos no mesmo Catalog. Um ProductSet pode conter um ou vários Products, mas não "possui" os Products contidos. Em vez disso, ele mantém um "link" para eles.

ProductRecognitionIndex: contém uma lista de incorporações de imagens usadas para algoritmos de reconhecimento de produtos. É possível criar ProductRecognitionIndexs com base em todo o Catalog ou em um ProductSet (um subconjunto dos Products do Catalog).

Endpoint: um posicionamento que carrega todas as configurações necessárias para realizar a inferência de reconhecimento de produto ou de tag. Para o reconhecimento de produtos, é necessário implantar um ProductRecognitionIndex. Para o reconhecimento de tags, é necessário especificar modelos de análise de entidades de tags.

configuração do ambiente

Esta seção descreve como interagir com a API RESTful do Store Vision AI.

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

Todos os métodos create exigem a especificação explícita do nome/ID do recurso a ser criado. Você pode usar um identificador de string significativo, por exemplo, "product-ABC", ou um identificador gerado aleatoriamente, por exemplo, UUID.

Para conceder a uma pessoa o acesso de editor para usar a API Store Vision, execute o seguinte comando de vinculação do IAM:

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

Para conceder acesso de editor a uma conta de serviço, use o comando abaixo:

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

Saiba mais sobre a vinculação do IAM.

Jornada do usuário do Reconhecedor de produtos

  1. Crie um catálogo.
  2. Importe produtos e (opcionalmente) ProductImages para o Catalog.
  3. Visualize e modifique o Product e o ProductImages e, se quiser, crie um ProductSet para organizar a lista de produtos com mais detalhes.
  4. Crie um Index com base em todo o Catalog ou em um ProductSet.
  5. Crie um Endpoint com a configuração de reconhecimento de produto desejada e implante um Index nele.
  6. Realize BatchAnalyze com o recurso ProductRecognition. No back-end, o sistema identifica os produtos de cada imagem de entrada e recupera os K principais produtos semelhantes do índice especificado usando sinais visuais e de texto de OCR.

Gerenciamento de recursos de API (catálogo e Indexset)

Catálogo

Criar catálogo
  • CATALOG_ID=ID do seu catálogo.
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

Exemplo de saída

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": false
}
Extrair operação até a conclusão
  • OPERATION_ID=Sua operação de saída, por exemplo, 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

Exemplo de saída

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

Há dois formatos de importação compatíveis:

  • TXT: cada linha é o gtin de um produto a ser importado
  • JSONL: cada linha é um formato JSON de RetailProductIoFormat. Por exemplo,
{"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"}}}

Consulte a referência da API para mais detalhes sobre RetailProductIoFormat. No momento,é possível importar no máximo 10 mil produtos por operação "ImportProduct".

O "name" em "retailProductImages" só precisa ser exclusivo no escopo do recurso pai "retailProduct". Isso significa que pode haver dois "retailProductImages" com o mesmo "name", desde que pertençam a recursos "retailProduct" diferentes.

  • IMPORT_FILE_URI=URI do Cloud Storage do arquivo de importação. Por exemplo, gs://mybucket/my_import_file.jsonl
  • IMPORT_FORMAT=Seu formato de arquivo de importação, FORMAT_JSONL ou 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"
  }'
Listar catálogo
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

Produto

CreateProduct com GTIN

Aceitamos os formatos GTIN-8, GTIN-13, GTIN-14 e UPC(também conhecido como GTIN-12). Saiba mais sobre o formato do GTIN aqui.

  • PRODUCT_ID=Your product id
  • GTIN=gtin do seu produto, por exemplo, 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 com ID de terceiros
  • PRODUCT_ID=Your product id
  • THIRD_PARTY_ID=ID de terceiros
  • OWNER=A entidade proprietária do identificador de terceiros
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=ID da imagem do produto
  • IMAGE_GCS_URI=URI do Cloud Storage da sua imagem. Por exemplo, 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=ID do conjunto de produtos
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

Há duas maneiras de criar um ProductRecognitionIndex: usando o catálogo, que usa tudo o que está contido nele, ou usando um ProductSet, que usa apenas os produtos e as imagens de produtos associados.

  • INDEX_ID=ID do seu índice
  • COVERAGE_CSV_OUTPUT_DIRECTORY=<Local do Cloud Storage do diretório em que o arquivo de cobertura do índice será gravado
# 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

Criar endpoint
  • ENDPOINT_ID=ID do seu 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?retail_endpoint_id=ENDPOINT_ID -d '{
  "productRecognitionConfig": {
    "recognitionConfidenceThreshold": 0.4
  }
}'
DeployProductRecognitionIndex

Um endpoint só pode ser implantado com um ProductRecognitionIndex, mas um ProductRecognitionIndex pode ser implantado em vários endpoints.

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

A remoção da implantação só remove o ProductRecognitionIndex implantado do endpoint de chamada atual e não afeta outros endpoints se esse ProductRecognitionIndex também estiver implantado em outros.

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

Análise de inferência em lote (reconhecimento de produtos)

Exemplo de arquivo de entrada em 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 do Cloud Storage do seu arquivo de entrada> cada linha no arquivo de entrada é apenas um URI do Cloud Storage da imagem a ser processada, por exemplo, gs://my-bucket/my-image.jpg
  • OUTPUT_URI_PREFIX=prefixo do URI do Cloud Storage para o arquivo de resultados da saída. Por exemplo, 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
      }
    }
  ],

Há também mais campos que podem ser definidos e configurados no productRecognitionConfig, que é um objeto RetailProductRecognitionConfig. Consulte a descrição do recurso na referência da API para mais detalhes.

Referência da API

Recurso: projects.locations.retailCatalogs

Representação JSON

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

Campos

Nome de

String

Apenas saída. Nome do recurso do RetailCatalog

displayName

String

Opcional. Nome de exibição do RetailCatalog.

createTime

string (formato Carimbo de data/hora)

Apenas saída. Carimbo de data/hora em que este RetailCatalog foi criado.

updateTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora da atualização.

resourceState

enum

Apenas saída. Estado do RetailCatalog.

rótulos

map (key: string, value: string)

Os rótulos com metadados definidos pelo usuário para organizar seu RetailCatalog.

As chaves e os valores de rótulo não podem ter mais de 64 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Caracteres internacionais são permitidos.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de rótulos.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Método: projects.locations.retailCatalogs.create

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Corpo da solicitação

O corpo da solicitação contém uma instância de RetailCatalog.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância recém-criada de RetailCatalog.

Método: projects.locations.retailCatalogs.get

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailCatalog.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de RetailCatalog.

Método: projects.locations.retailCatalogs.list

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar string Opcional. Uma expressão para filtrar os resultados da solicitação.
pageToken string Opcional. Um token que identifica a página de resultados que o servidor vai retornar.
pageSize integer Opcional. Tamanho da página solicitada. O servidor pode retornar menos itens do que o solicitado. Se não for especificado, o servidor vai escolher um padrão adequado.
orderBy string Opcional. Uma lista separada por vírgulas de campos a serem ordenados em ordem crescente. Use "desc" depois de um nome de campo para ordem decrescente.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se não houver falha, o corpo da resposta vai trazer dados com a seguinte estrutura: representação JSON

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

Método: projects.locations.retailCatalogs.delete

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailCatalog.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.

Método: projects.locations.retailCatalogs.importRetailProducts

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Nome do recurso RetailCatalog.

Corpo da solicitação

Representação JSON

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

Campos

gcsSource objeto Obrigatório. O local do Cloud Storage para o conteúdo de entrada. É possível fornecer vários locais de entrada. O conteúdo de todos os locais de entrada será importado em um lote. Extensões de arquivo compatíveis: 1. Um arquivo JSONL. Cada linha é um formato JSON de RetailProductIoFormat.
2. Um arquivo TXT. Cada linha é o GTIN de um produto a ser importado.
formato enum Obrigatório. O formato do arquivo de importação.

Formatar valores ENUM

FORMAT_UNSPECIFIED Não pode ser usado.
FORMAT_TXT Formato TXT.
FORMAT_JSONL Formato JSONL.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.

Recurso: projects.locations.retailProducts

Representação 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
}

Campos

Nome de

String

Apenas saída. Nome do recurso do RetailProductImage

displayName

String

Opcional. Nome de exibição do RetailProductImage.

sourceType

enum

Opcional. Tipo de origem

gcsUri

string

Opcional. Local do Cloud Storage do RetailProductImage. Ele deve ser definido, exceto quando a imagem é fornecida pelo Google, por exemplo, quando o tipo de origem é SOURCE_TYPE_GOOGLE.

resourceState

enum

Apenas saída. Estado do RetailProductImage.

rótulos

map (key: string, value: string)

Os rótulos com metadados definidos pelo usuário para organizar seu RetailProductImage.

As chaves e os valores de rótulo não podem ter mais de 64 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Caracteres internacionais são permitidos.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de rótulos.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora de criação.

updateTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora da atualização.

Apresentação JSON RetailThirdPartyId

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

Campos

ID string ID de terceiros usado pelo varejista ou fabricante (por exemplo, SKU ou MPN).
proprietário string A entidade "proprietária" do identificador de terceiros, por exemplo, o fabricante ou o varejista que vende esse produto.

Método: projects.locations.retailCatalogs.retailProducts.create

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Corpo da solicitação

O corpo da solicitação contém uma instância de RetailProduct.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância recém-criada de RetailProduct.

Método: projects.locations.retailCatalogs.retailProducts.get

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailProduct.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de RetailProduct.

Método: projects.locations.retailCatalogs.retailProducts.list

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar string Opcional. Uma expressão para filtrar os resultados da solicitação.
pageToken string Opcional. Um token que identifica a página de resultados que o servidor vai retornar.
pageSize integer Opcional. Tamanho da página solicitada. O servidor pode retornar menos itens do que o solicitado. Se não for especificado, o servidor vai escolher um padrão adequado.
orderBy string Opcional. Uma lista separada por vírgulas de campos a serem ordenados em ordem crescente. Use "desc" depois de um nome de campo para ordem decrescente.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se não houver falha, o corpo da resposta vai trazer dados com a seguinte estrutura: representação JSON

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

Método: projects.locations.retailCatalogs.retailProducts.delete

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailProduct.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for concluída, o corpo da resposta estará vazio.

Recurso: projects.locations.retailProductImages

Representação JSON

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

Campos

Nome de

String

Apenas saída. Nome do recurso do RetailProductImage

displayName

String

Opcional. Nome de exibição do RetailProductImage.

sourceType

enum

Opcional. Tipo de origem

gcsUri

string

Opcional. Local do Cloud Storage do RetailProductImage. Ele deve ser definido, exceto quando a imagem é fornecida pelo Google, por exemplo, quando o tipo de origem é SOURCE_TYPE_GOOGLE.

resourceState

enum

Apenas saída. Estado do RetailProductImage.

rótulos

map (key: string, value: string)

Os rótulos com metadados definidos pelo usuário para organizar seu RetailProductImage.

As chaves e os valores de rótulo não podem ter mais de 64 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Caracteres internacionais são permitidos.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de rótulos.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora de criação.

updateTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora da atualização.

Valores ENUM de SourceType

SOURCE_TYPE_UNSPECIFIED Fonte de dados desconhecida. Não pode ser usado.
SOURCE_TYPE_FIXED_CAMERA A imagem é capturada por uma câmera fixa.
SOURCE_TYPE_HAND_HELD_CAMERA A imagem é capturada com uma câmera portátil.
SOURCE_TYPE_CRAWLED A imagem é rastreada da Web.
SOURCE_TYPE_SYSTEM_GENERATED A imagem é cortada de uma imagem original com identificação humana.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.create

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Corpo da solicitação

O corpo da solicitação contém uma instância de RetailProductImage.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância recém-criada de RetailProductImage.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.get

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailProductImage.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de RetailProductImage.

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.list

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar string Opcional. Uma expressão para filtrar os resultados da solicitação.
pageToken string Opcional. Um token que identifica a página de resultados que o servidor vai retornar.
pageSize integer Opcional. Tamanho da página solicitada. O servidor pode retornar menos itens do que o solicitado. Se não for especificado, o servidor vai escolher um padrão adequado.
orderBy string Opcional. Uma lista separada por vírgulas de campos a serem ordenados em ordem crescente. Use "desc" depois de um nome de campo para ordem decrescente.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON

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

Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailProductImage.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for concluída, o corpo da resposta estará vazio.

Recurso: projects.locations.retailCatalogs.retailProductSets

Representação JSON

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

Campos

Nome de

String

Apenas saída. Nome do recurso do RetailProductSet

displayName

String

Opcional. Nome de exibição do RetailProductSet.

retailProductIds []

String

Apenas saída. IDs de recursos de produtos pertencentes a este RetailProductSet. Os produtos em um RetailProductSet precisam estar no mesmo catálogo.

resourceState

enum

Apenas saída. Estado do RetailProductSet.

rótulos

map (key: string, value: string)

Os rótulos com metadados definidos pelo usuário para organizar seu RetailProductSet.

As chaves e os valores de rótulo não podem ter mais de 64 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Caracteres internacionais são permitidos.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de rótulos.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora de criação.

updateTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora da atualização.

Método: projects.locations.retailCatalogs.retailProductSets.create

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Corpo da solicitação

O corpo da solicitação contém uma instância de RetailProductSet.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância recém-criada de RetailProductSet.

Método: projects.locations.retailCatalogs.retailProductSets.get

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador de RetailProductSet.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância de "RetailProductSet".

Método: projects.locations.retailCatalogs.retailProductSets.list

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar string Opcional. Uma expressão para filtrar os resultados da solicitação.
pageToken string Opcional. Um token que identifica a página de resultados que o servidor vai retornar.
pageSize integer Opcional. Tamanho da página solicitada. O servidor pode retornar menos itens do que o solicitado. Se não for especificado, o servidor vai escolher um padrão adequado.
orderBy string Opcional. Uma lista separada por vírgulas de campos a serem ordenados em ordem crescente. Use "desc" depois de um nome de campo para ordem decrescente.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON

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

Método: projects.locations.retailCatalogs.retailProductSets.delete

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador de RetailProductSet.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for concluída, o corpo da resposta estará vazio.

Método: projects.locations.retailCatalogs.retailProductSets.add

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Nome do recurso RetailProductSet.

Corpo da solicitação

Representação JSON

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

Campos


productIds[ ]

string

ID do recurso dos RetailProducts a serem adicionados. Todos precisam pertencer ao mesmo RetailCatalog que o RetailProductSet de destino especificado. É possível especificar até 200 IDs de RetailProducts em uma solicitação. Não pode ser usado com productFilter.

productFilter

string

Um filtro padrão que será aplicado a todos os RetailProducts no RetailCatalog principal. Selecione os itens que atendem às condições do filtro e adicione-os ao RetailProductSet. Não pode ser usado com "product_ids". Filtros compatíveis: https://google.aip.dev/160

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.

Método: projects.locations.retailCatalogs.retailProductSets.remove

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Nome do recurso RetailProductSet.

Corpo da solicitação

Representação JSON

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

Campos


productIds[ ]

string

IDs de recursos dos RetailProducts a serem removidos. Se os RetailProducts especificados não pertencerem a este RetailProductSet, eles serão ignorados. É possível especificar até 200 IDs de RetailProducts em uma solicitação. Não pode ser usado com "products_filter".

productFilter

string

Um filtro padrão que será aplicado a todos os RetailProducts no RetailProductSet especificado. Selecione os itens que atendem às condições do filtro e remova-os do RetailProductSet. Não pode ser usado com "product_ids". Filtros compatíveis:https://google.aip.dev/160

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.

Recurso: projects.locations.retailCatalogs.retailProductRecognitionIndexes

Representação JSON

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

Campos

Nome de

String

Apenas saída. Nome do recurso RetailProductRecognitionIndex.

displayName

String

Opcional. Nome de exibição do RetailProductRecognitionIndex.

descrição

String

Opcional. A descrição do RetailProductRecognitionIndex.

retailProductSet[]

string

Opcional. O nome do recurso RetailProductSet a ser usado para criar este recurso. Se definido, o RetailProductRecognitionIndex vai conter apenas produtos no RetailProductSet especificado. Se não for definido, todos os produtos no catálogo principal serão usados.

resourceState

enum

Apenas saída. Estado do RetailProductRecognitionIndex.

rótulos

map (key: string, value: string)

Os rótulos com metadados definidos pelo usuário para organizar seu RetailProductRecognitionIndex.

As chaves e os valores de rótulo não podem ter mais de 64 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Caracteres internacionais são permitidos.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de rótulos.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora de criação.

updateTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora da atualização.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Corpo da solicitação

O corpo da solicitação contém uma instância de RetailProductRecognitionIndex.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância recém-criada de RetailProductRecognitionIndex.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailProductRecognitionIndex.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância de RetailProductRecognitionIndex.

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar string Opcional. Uma expressão para filtrar os resultados da solicitação.
pageToken string Opcional. Um token que identifica a página de resultados que o servidor vai retornar.
pageSize integer Opcional. Tamanho da página solicitada. O servidor pode retornar menos itens do que o solicitado. Se não for especificado, o servidor vai escolher um padrão adequado.
orderBy string Opcional. Uma lista separada por vírgulas de campos a serem ordenados em ordem crescente. Use "desc" depois de um nome de campo para ordem decrescente.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON

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

Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador de ProductRecognitionIndex.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.

Recurso: projects.locations.retailEndpoints

Representação 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
}

Campos

Nome de

String

Apenas saída. Nome do recurso RetailEndpoint.

displayName

String

Opcional. Nome de exibição do RetailEndpoint.

descrição

String

Opcional. A descrição do RetailEndpoint.

deployedProductRecognitionIndex

String

Apenas saída. Nome do recurso do ProductRecognitionIndex implantado neste RetailEndpoint.

productRecognitionConfig
Objeto

Opcional. Configuração para reconhecimento de produtos.

tagRecognitionConfig
Objeto

Opcional. Configuração para reconhecimento de tag.

resourceState

enum

Apenas saída. Estado do RetailProductRecognitionIndex.

rótulos

map (key: string, value: string)

Os rótulos com metadados definidos pelo usuário para organizar seu RetailProductRecognitionIndex.

As chaves e os valores de rótulo não podem ter mais de 64 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Caracteres internacionais são permitidos.

Consulte https://goo.gl/xmQnxf para mais informações e exemplos de rótulos.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora de criação.

updateTime

string (formato Carimbo de data/hora)

Apenas saída. O carimbo de data/hora da atualização.

RetailProductRecognitionConfig

Representação JSON

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

Campos

|

productDetectionModel string Obrigatório. Modelo a ser usado para detectar produtos em imagens de entrada. Valores aceitos: "builtin/stable" (o padrão) ou nome do recurso do modelo da Vertex AI.
detectionConfidenceThreshold float Opcional. Limite de confiança para filtrar resultados de detecção. Se não for definido, um valor padrão do sistema será usado.
recognitionConfidenceThreshold float Opcional. Limite de confiança para filtrar resultados de reconhecimento. Se não for definido, um valor padrão do sistema será usado.
additionalConfig objeto (formato Struct) Opcional. Configurações adicionais para reconhecimento de produtos.

RetailTagRecognitionConfig

Representação JSON

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

Campos

tagDetectionModel string Obrigatório. Modelo usado para detectar tags em imagens de entrada. Valores aceitos: recurso de modelo da Vertex AI.
tagParsingModel string Obrigatório. Modelo para analisar texto em tags detectadas. Valores aceitos: recurso de modelo da Vertex AI.
detectionConfidenceThreshold float Opcional. Limite de confiança para filtrar resultados de detecção. Se não for definido, um valor padrão do sistema será usado.
parsingConfidenceThreshold float Opcional. Limite de confiança para filtrar resultados da análise de texto. Se não for definido, um valor padrão do sistema será usado.
additionalConfig objeto (formato Struct) Opcional. Configurações adicionais para reconhecimento de tags.

Método: projects.locations.retailEndpoints.create

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Corpo da solicitação

O corpo da solicitação contém uma instância de RetailEndpoint.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta vai conter uma instância recém-criada de RetailEndpoint.

Método: projects.locations.retailEndpoints.get

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailEndpoint.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de RetailEndpoint.

Método: projects.locations.retailEndpoints.list

Solicitação HTTP

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

Parâmetros de caminho

primária string Obrigatório. Identificador principal.

Parâmetros de consulta

filtrar string Opcional. Uma expressão para filtrar os resultados da solicitação.
pageToken string Opcional. Um token que identifica a página de resultados que o servidor vai retornar.
pageSize integer Opcional. Tamanho da página solicitada. O servidor pode retornar menos itens do que o solicitado. Se não for especificado, o servidor vai escolher um padrão adequado.
orderBy string Opcional. Uma lista separada por vírgulas de campos a serem ordenados em ordem crescente. Use "desc" depois de um nome de campo para ordem decrescente.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON

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

Método: projects.locations.retailEndpoints.delete

Solicitação HTTP

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

Parâmetros de caminho

nome string Obrigatório. Identificador RetailEndpoint.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for concluída, o corpo da resposta estará vazio.

Método: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex

Solicitação HTTP

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

Parâmetros de caminho

retailEndpoint string Obrigatório. Nome do recurso do recurso RetailEndpoint em que o RetailProductRecognitionIndex é implantado.

Corpo da solicitação

Representação JSON

{
  "retailProductRecognitionIndex": string,
}

Campos

retailProductRecognitionIndex string Obrigatório. O nome do recurso de RetailProductRecognitionIndex a ser implantado.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.

Método: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

Solicitação HTTP

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

Parâmetros de caminho

retailEndpoint string Obrigatório. Nome do recurso RetailEndpoint em que o cancelamento da implantação vai atuar.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.

Método: projects.locations.retailEndpoints.batchAnalyze

Solicitação HTTP

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

Parâmetros de caminho

retailEndpoint string Obrigatório. Nome do recurso do RetailEndpoint para atender à solicitação de inferência.

Corpo da solicitação

Representação 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
}

Campos

gcsSource string Obrigatório. O local do Cloud Storage para o conteúdo de entrada. É possível fornecer vários locais de entrada. O conteúdo de todos os locais de entrada será processado em um lote. Conteúdo aceito: um arquivo TXT em que cada linha é o caminho completo para uma imagem. Uma solicitação pode ter no máximo 50 mil imagens.
outputGcsDestination string Opcional. O local do Cloud Storage do diretório em que a saída precisa ser gravada.
corpus string Opcional. Nome do recurso do corpus do banco de imagens. Não compatível no momento.
bigqueryTable string Opcional. Nome do recurso da tabela do BigQuery para exportações de anotações. No formato "projects/*/datasets/*/tables/*". Se definido, as anotações geradas pela inferência de ML também serão exportadas para a tabela do BigQuery especificada. Não compatível no momento.
features[] Objeto Obrigatório. O tipo de inferência de ML a ser realizada.

Recurso

Representação JSON

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

Campos

tipo enum Obrigatório. O tipo de recurso.
productRecognitionConfig objeto Opcional. Substituições por solicitação para o recurso de reconhecimento de produto. Ele só é efetivo se o tipo estiver definido como TYPE_PRODUCT_RECOGNITION.
tagRecognitionConfig objeto Opcional. Substituições por solicitação para o recurso de reconhecimento de tag. Ele só é válido se o tipo for definido como TYPE_TAG_RECOGNITION.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.

Tipos

GcsSource

Representação JSON

{
  "uris": [string]
}

Campos

uris[] string Obrigatório. Referências a caminhos do Cloud Storage.

Tipo

Valores ENUM

TYPE_UNSPECIFIED O valor padrão. Não pode ser usado.
TYPE_PRODUCT_RECOGNITION Reconhecimento de produtos. Precisa ser usado em um RetailEndpoint com RetailProductRecognitionIndex implantado.
TYPE_TAG_RECOGNITION Detecção e análise de tags. Precisa ser usado em um RetailEndpoint com RetailTagRecognitionConfig.

RetailProductIoFormat

Representação JSON

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

Campos

retailProduct objeto Obrigatório. RetailProduct para importar
retailProductImages[ ] objeto Opcional. RetailProductImages do RetailProduct especificado a serem importados.

RetailResourceState

Valores ENUM

RETAIL_RESOURCE_STATE_UNSPECIFIED O valor padrão. Não pode ser usado.
RETAIL_RESOURCE_STATE_CREATING Estado "Criando".
RETAIL_RESOURCE_STATE_CREATED Estado criado.
RETAIL_RESOURCE_STATE_UPDATING Atualizando o estado.
RETAIL_RESOURCE_STATE_DELETED Estado excluído.
RETAIL_RESOURCE_STATE_ERROR Erro de estado.