O modelo de reconhecimento de produtos ajuda a reconhecer e entender quais produtos estão na imagem fornecida ou na prateleira.
Esse modelo pode servir como o principal bloco de construção de IA para analisar e interpretar dados de imagens de produtos em lojas de varejo. Por exemplo, você pode usar esse modelo em imagens de prateleiras capturadas por câmeras locais ou dispositivos móveis.
Casos de uso do identificador de tags e do identificador de produtos
O modelo de reconhecimento de produtos e os modelos de reconhecimento de tags podem servir como os principais blocos de construção de IA para analisar e interpretar os dados de imagem em relação a produtos e tags encontrados em lojas de varejo, como as imagens de leitura de prateleiras capturadas pelas câmeras instaladas ou dispositivos móveis / plataformas.
Os modelos de reconhecimento de produto e de tag incorporam vários recursos principais de modelagem e dados de IA do Google para ajudar os varejistas e/ou parceiros técnicos a resolver os principais problemas na compreensão da prateleira de varejo, incluindo:
- Detectar, reconhecer e entender quais produtos estão na imagem ou na prateleira.
- Detectar, reconhecer e analisar as tags (tag de preço, por exemplo, 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 são incluídos na solução de verificação de prateleiras para ajudar na solução de problemas desses casos de uso, como
- Modelos de detecção de produtos (pré-treinados pelo Google, mas que ainda podem ser personalizados).
- Modelo de embedding visual de miniaturas de produtos, que transforma uma imagem de miniatura de produto em uma representação numérica do espaço de recursos.
- Modelo de OCR do Google, que extrai todos os textos visíveis na imagem.
- Modelo de extração de entidade do Google (que você pode personalizar), que transforma os textos brutos em entidades nomeadas de pares de chave-valor definidos pelo usuário.
Além desses modelos de IA do Google, a solução de verificação de prateleira também aproveita o grande banco de dados de informações de produtos do Google. Os dados do produto neste banco de dados incluem a identidade GTIN / UPC do produto, a marca do produto, o título e descrições em vários idiomas, o logotipo do produto e imagens com várias variações de embalagem. O banco de dados de produtos com o modelo de incorporação visual de miniaturas de produtos mencionado anteriormente permite que o modelo de reconhecimento de produtos reconheça muitos produtos imediatamente.
Por exemplo, considerando uma imagem de prateleira capturada como esta, a solução de verificação de prateleiras tem como objetivo:
- Detectar e localizar todas as caixas de itens de produtos (visíveis, não muito obstruídas) na imagem e reconhecer a identidade do produto de cada caixa de item de produto no nível do GTIN / UPC.
- Detectar e localizar todas as caixas de tag (visíveis) na imagem, reconhecer todas as strings de texto na tag e tentar analisar o texto no esquema de extração de entidade de par de chave-valor definido pelo usuário, como a descrição do item do produto, o valor do preço.
Os dois principais recursos de IA para ativar essas soluções são o modelo de reconhecimento de produtos e o modelo de reconhecimento de tags. Vamos fornecer mais detalhes nas próximas seções. Para cada uma dessas duas APIs que fornecem principalmente os serviços de inferência de imagens, há um ou mais componentes que podem ser personalizados. Primeiro, vamos descrever o caminho de inferência do uso da API e, em seguida, fornecer uma breve descrição de como os componentes envolvidos podem ser personalizados, seja por alguma configuração do usuário ou por algum treinamento de modelo que você realiza.
Funcionalidade do Reconhecedor de produtos
Esse modelo reconhece a identidade do produto individual 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 são incluídos no Product Recognizer para melhorar a solução de problemas desses 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 de miniaturas de produtos 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 catálogo de produtos, gerenciamento de conjuntos de dados de produtos, criação de índices e implantação do serviço de reconhecimento de produtos. Eles são descritos da seguinte forma:
Catálogo: recurso raiz que representa o contêiner de todos os produtos oferecidos pelo varejista.
Produto: 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
.
Conjunto de produtos: um contêiner de granularidade mais refinada para organizar e agrupar produtos no
mesmo Catalog
. Um ProductSet
pode conter um ou muitos Product
s, mas não "possui" os Product
s que contém, mas mantém um "link" para eles.
ProductRecognitionIndex: contém uma lista de embeddings de imagem usados para algoritmos
de reconhecimento de produtos. O ProductRecognitionIndex
pode ser criado a partir de todo o
Catalog
ou de um ProductSet
(um subconjunto dos Product
s do
Catalog
).
Endpoint: uma posição 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 especificar o modelo de detecção de produtos e implantar um
ProductRecognitionIndex
. Para o reconhecimento de tags, é necessário especificar os modelos de análise de entidade e de detecção de tags.
Configuração do ambiente
Esta seção descreve como interagir com a API RESTful da 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 função de 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 o 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 Product Recognizer
- Crie um catálogo.
- Importe produtos e (opcionalmente)
ProductImages
para oCatalog
. - Visualize e modifique o
Product
e oProductImages
e, opcionalmente, crie umProductSet
para organizar a lista de produtos com mais detalhes. - Crie um
Index
, seja de todo oCatalog
ou de umProductSet
. - Cria um
Endpoint
com a configuração de reconhecimento de produto desejada e implanta umIndex
nele. - Execute
BatchAnalyze
com o recursoProductRecognition
. No back-end, o sistema vai identificar os produtos de cada imagem de entrada e recuperar os principais produtos semelhantes do índice especificado usando sinais visuais e de texto OCR.
Gerenciamento de recursos de API (Catalog e Indexset)
Catálogo
Criar catálogo
- CATALOG_ID=o ID do 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
}
Operação de pull 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 o RetailProductIoFormat. No momento,aceitamos a importação de até 10.000 produtos por operação ImportProduct.
O "name" em "retailProductImages" só precisa ser exclusivo no escopo do recurso pai "retailProduct", ou seja, pode haver duas "retailProductImages" com o mesmo "name", desde que pertençam a recursos "retailProduct" diferentes.
- IMPORT_FILE_URI=O URI do Cloud Storage do arquivo de importação, por exemplo, gs://mybucket/my_import_file.jsonl
- IMPORT_FORMAT: o formato do 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"
}'
List Catalog
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
Oferecemos suporte aos formatos GTIN-8, GTIN-13, GTIN-14 e UPC(também conhecido como GTIN-12). Saiba mais sobre o formato GTIN aqui.
- PRODUCT_ID=ID do seu produto
- 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=ID do seu produto
- 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=O 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=o 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
Criar ProductRecognitionIndex
Há duas maneiras de criar um ProductRecognitionIndex, seja no catálogo, que vai usar tudo o que está contido nele, ou em um conjunto de produtos, que vai usar apenas os produtos e imagens de produtos associados.
- INDEX_ID=ID do í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
Excluir 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 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 desimplantação remove apenas o ProductRecognitionIndex implantado do endpoint de chamada atual e não afeta outros endpoints se esse ProductRecognitionIndex também for 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
Batch Analyze Inference (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 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 de 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
}
}
],
Também há 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 |
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 o 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 (chave: string, valor: string) |
Os rótulos com metadados definidos pelo usuário para organizar o 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 que contém uma lista de pares "chave": valor. 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 pai. |
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 incluirá uma instância 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 pai. |
Parâmetros de consulta
filtro | 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 precisa 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 escolherá um padrão adequado. |
orderBy | string | Opcional. Uma lista de campos separados por vírgulas para classificar em ordem crescente. Use "desc" após 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 incluir 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.
Vários locais de entrada podem ser fornecidos. 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 |
String |
Apenas saída. Nome do recurso da RetailProductImage |
---|---|---|
displayName |
String |
Opcional. Nome de exibição da RetailProductImage. |
sourceType |
enum |
Opcional. Tipo de origem |
gcsUri |
string |
Opcional. Local do Cloud Storage da RetailProductImage. Ele precisa 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 da RetailProductImage. |
Rótulos |
map (chave: string, valor: string) |
Os rótulos com metadados definidos pelo usuário para organizar a 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 que contém uma lista de pares "chave": valor. 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. |
RetailThirdPartyId
Apresentação JSON
{
"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 que "possui" o identificador de terceiros, por exemplo, o fabricante ou o varejista que vende o 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 pai. |
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 incluirá uma instância 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 pai. |
Parâmetros de consulta
filtro | 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 precisa 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 escolherá um padrão adequado. |
orderBy | string | Opcional. Uma lista de campos separados por vírgulas para classificar em ordem crescente. Use "desc" após 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 incluir 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 |
String |
Apenas saída. Nome do recurso da RetailProductImage |
---|---|---|
displayName |
String |
Opcional. Nome de exibição da RetailProductImage. |
sourceType |
enum |
Opcional. Tipo de origem |
gcsUri |
string |
Opcional. Local do Cloud Storage da RetailProductImage. Ele precisa 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 da RetailProductImage. |
Rótulos |
map (chave: string, valor: string) |
Os rótulos com metadados definidos pelo usuário para organizar a 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 que contém uma lista de pares "chave": valor. 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 de ENUM de SourceType
SOURCE_TYPE_UNSPECIFIED | Fonte de dados desconhecida. Não pode ser usado. |
---|---|
SOURCE_TYPE_FIXED_CAMERA | A imagem é capturada de uma câmera fixa. |
SOURCE_TYPE_HAND_HELD_CAMERA | A imagem é capturada pela 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 pai. |
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 incluirá uma instância 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 pai. |
Parâmetros de consulta
filtro | 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 precisa 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 escolherá um padrão adequado. |
orderBy | string | Opcional. Uma lista de campos separados por vírgulas para classificar em ordem crescente. Use "desc" após 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 |
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 de um RetailProductSet precisam estar no mesmo catálogo. |
resourceState |
enum |
Apenas saída. Estado do RetailProductSet. |
Rótulos |
map (chave: string, valor: string) |
Os rótulos com metadados definidos pelo usuário para organizar o 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 que contém uma lista de pares "chave": valor. 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 pai. |
Corpo da solicitação
O corpo da solicitação contém uma instância de RetailProductSet.
Corpo da resposta
Se a solicitação for concluída, o corpo da resposta 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 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 pai. |
Parâmetros de consulta
filtro | 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 precisa 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 escolherá um padrão adequado. |
orderBy | string | Opcional. Uma lista de campos separados por vírgulas para classificar em ordem crescente. Use "desc" após 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 do RetailProductSet. |
Corpo da solicitação
Representação JSON
{
"productIds": [string],
"productFilter": string
}
Campos
productIds[ ] |
string |
ID do recurso dos produtos de varejo a serem adicionados. Eles precisam pertencer ao mesmo RetailCatalog do RetailProductSet de destino especificado. Até 200 IDs de produtos de varejo podem ser especificados 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 pai, selecione os itens que atendem às condições do filtro e os adicione 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 do RetailProductSet. |
Corpo da solicitação
Representação JSON
{
"productIds": [string],
"productFilter": string
}
Campos
productIds[ ] |
string |
IDs de recursos dos RetailProducts a serem removidos. Se o RetailProducts especificado não pertencer a esse RetailProductSet, ele será ignorado. Até 200 IDs de produtos de varejo podem ser especificados em uma solicitação. Não pode ser usado com products_filter. |
---|---|---|
productFilter |
string |
Um filtro padrão que será aplicado a todos os itens do RetailProductSet especificado, selecionando os itens que atendem às condições do filtro e removendo-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 |
String |
Apenas saída. Nome do recurso do 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 do 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 pai serão usados. |
resourceState |
enum |
Apenas saída. Estado do RetailProductRecognitionIndex. |
rótulos |
map (chave: string, valor: string) |
Os rótulos com metadados definidos pelo usuário para organizar o 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 que contém uma lista de pares "chave": valor. 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 pai. |
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 incluirá uma instância 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 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 pai. |
Parâmetros de consulta
filtro | 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 precisa 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 escolherá um padrão adequado. |
orderBy | string | Opcional. Uma lista de campos separados por vírgulas para classificar em ordem crescente. Use "desc" após 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 |
String |
Apenas saída. Nome do recurso do 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 produto. |
tagRecognitionConfig |
Objeto
|
Opcional. Configuração para reconhecimento de tag. |
resourceState |
enum |
Apenas saída. Estado do RetailProductRecognitionIndex. |
rótulos |
map (chave: string, valor: string) |
Os rótulos com metadados definidos pelo usuário para organizar o 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 que contém uma lista de pares "chave": valor. 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 nas imagens de entrada. Valores aceitos: "builtin/stable" (padrão) ou nome do recurso do modelo da Vertex AI. |
---|---|---|
detectionConfidenceThreshold | float | Opcional. Limite de confiança para filtrar os resultados da detecção. Se não for definido, um valor padrão do sistema será usado. |
recognitionConfidenceThreshold | float | Opcional. Limite de confiança para filtrar os resultados do reconhecimento. Se não for definido, um valor padrão do sistema será usado. |
additionalConfig | object (Struct format) | Opcional. Configurações adicionais para reconhecimento de produto. |
RetailTagRecognitionConfig
Representação JSON
{
"tagDetectionModel": string,
"tagParsingModel": string,
"detectionConfidenceThreshold": float,
"parsingConfidenceThreshold": float,
"additionalConfig": { object }
}
Campos
tagDetectionModel | string | Obrigatório. Modelo a ser usado para detectar tags nas 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 os resultados da detecção. Se não for definido, um valor padrão do sistema será usado. |
parsingConfidenceThreshold | float | Opcional. Limite de confiança para filtrar os resultados da análise de texto. Se não for definido, um valor padrão do sistema será usado. |
additionalConfig | object (Struct format) | Opcional. Configurações adicionais para reconhecimento de tag. |
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 pai. |
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 incluirá uma instância 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 pai. |
Parâmetros de consulta
filtro | 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 precisa 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 escolherá um padrão adequado. |
orderBy | string | Opcional. Uma lista de campos separados por vírgulas para classificar em ordem crescente. Use "desc" após 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 RetailEndpoint
para onde 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 a desimplantaçã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 da 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. Vários locais de entrada podem ser fornecidos. 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 de 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 repositório 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. 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 elemento. |
---|---|---|
productRecognitionConfig | objeto | Opcional. Substituições por solicitação para o recurso de reconhecimento de produtos. Ele só é eficaz se o tipo for definido como TYPE_PRODUCT_RECOGNITION. |
tagRecognitionConfig | objeto | Opcional. Substituições por solicitação para o recurso de reconhecimento de tags. Ele só é eficaz 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
produto de varejo | objeto | Obrigatório. RetailProduct para ser importado |
---|---|---|
retailProductImages[ ] | objeto | Opcional. RetailProductImage s do
RetailProduct especificado a serem importados. |
RetailResourceState
Valores ENUM
RETAIL_RESOURCE_STATE_UNSPECIFIED | O valor padrão. Não deve ser usado. |
---|---|
RETAIL_RESOURCE_STATE_CREATING | Criação de estado. |
RETAIL_RESOURCE_STATE_CREATED | Estado criado. |
RETAIL_RESOURCE_STATE_UPDATING | Atualização de estado. |
RETAIL_RESOURCE_STATE_DELETED | Estado excluído. |
RETAIL_RESOURCE_STATE_ERROR | Estado de erro. |