Guia do identificador de tags

O modelo Tag Recognizer ajuda a resolver problemas importantes para entender a prateleira de varejo, ou seja, reconhecer e analisar as tags (por exemplo, a etiqueta de preço ou outras tags de rótulo) de acordo com o esquema de extração de entidade de par de chave-valor definido pelo usuário.

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, é possível usar esse modelo em imagens de prateleira 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:

  1. 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.
  2. 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 tags

Esse modelo reconhece todas as strings de texto na tag e tenta 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 ou o valor do preço. Ele inclui os seguintes modelos de IA do Google:

  • A tecnologia de OCR do Google, que extrai todo o texto visível na imagem.
  • O modelo de extração de entidade do Google que transforma o texto bruto em entidades nomeadas de par de chave-valor definidas pelo usuário. Personalize esse modelo usando a Vertex AI. Por exemplo, se você se preocupa principalmente com a descrição do item do produto, o valor do preço do produto ou o preço de venda, mas nada mais, o usuário pode definir o esquema de análise de tags da seguinte maneira:

    key: item_description   value: string
    key: regular_price      value: number
    key: sale_price         value: number
    

Esquema de análise de tags

Com o treinamento do modelo de extração de entidade personalizada, a caixa de item de tag detectada será reconhecida e analisada em conformidade com o esquema definido pelo usuário, por exemplo:

  item_description:   COLLECTION 18PC GFT BX
  regular_price:      1099
  sale_price:         999

Exemplo de objeto JSON de saída

{
  "imageUri": "gs://test_bucket/test_image.jpg",
  "tagRecognitionAnnotations": [
    {
      "entities": [
        {
          "confidence": 0.99646133,
          "mentionText": "NISSIN TOP RAMEN\n\nBOW CHICKEN\n\n",
          "region": {
            "xMax": 0.4618055,
            "xMin": 0.042725038,
            "yMax": 0.45387268,
            "yMin": 0.18415153
          },
          "type":"description"
        },
        {
          "confidence": 0.95828205,
          "mentionText": "$3.90\n",
          "region": {
            "xMax": 0.24819264,
            "xMin": 0.04185935,
            "yMax": 0.96134734,
            "yMin": 0.80382305
          },
          "type":"unit_price"
        },
        {
          "confidence": 0.60659707,
          "mentionText": "$14.99\n",
          "region": {
            "xMax": 0.9754113,
            "xMin": 0.3654699,
            "yMax": 0.92825794,
            "yMin": 0.40368474
          },
          "type":"price"
        }
      ]
    }
  ]
}

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 Reconhecedor de tags

  1. Realize o treinamento personalizado do modelo de detecção de tags usando o recurso Vertex AI / AutoML Vision Object Detection.
  2. Realize o treinamento do modelo de análise de entidades de tags usando o recurso Vertex AI / AutoML Vision Object Detection com um mecanismo OCR personalizado.
  3. Crie um endpoint com a configuração de reconhecimento de tag desejada.
  4. Execute o BatchAnalyze com o recurso TagRecognition. No back-end, o sistema identifica tags de cada imagem de entrada, analisa o texto em cada tag detectada para produzir uma saída de análise estruturada. T ## Treinamento de modelo de detecção de tags e análise de entidades

É possível treinar o modelo de detecção de tags personalizado usando o recurso de treinamento de modelo de detecção de objetos de imagem do produto Vertex AI / AutoML Vision. Embora o recurso de treinamento de modelo de detecção de objetos da Vertex AI / AutoML Vision forneça uma experiência de treinamento de modelo totalmente gerenciada, ainda é sua responsabilidade preparar um conjunto de imagens com amostras bem selecionadas e com anotações de caixa delimitadora de objetos totalmente rotulados como o conjunto de dados de treinamento a ser alimentado no console de treinamento do modelo. Google Cloud fornece o serviço de rotulação de dados da Vertex AI para que você possa criar a tarefa de rotulação de dados. Siga o link do job de rotulagem de dados da Vertex AI para mais detalhes: /vertex-ai/docs/datasets/data-labeling-job. Forneça instruções claras de rotulagem de dados aos avaliadores humanos para que eles saibam como rotular as caixas delimitadoras de detecção de tags nas imagens durante a preparação do conjunto de dados de treinamento.

Para treinar o modelo de análise de entidade de tag, você precisa preparar uma coleção de dados de treinamento com imagens e as anotações associadas.

  • A imagem é a imagem da tag já cortada.
  • Em cada imagem, é necessário definir e fornecer o campo de entidade principal (como product_title, price, unit_price) que você quer detectar e reconhecer / analisar, além do local de coordenadas do retângulo de limitação da imagem associado na visualização de imagem cortada.
  • Para oferecer suporte ao reconhecimento / parser correto, também exigimos que você forneça a sintaxe de expressão regular para caracterizar cada campo. Isso é necessário para auxiliar a rotina de treinamento e inferência do algoritmo de análise de tags.

imagem de tag reconhecida

Exemplo de treinamento de análise de entidade de tag

Por exemplo, com o exemplo anterior de treinamento de análise de entidade de tag, é possível fornecer uma linha de informações de anotação no arquivo CSV de anotação de dados de treinamento da seguinte maneira:

"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"

No exemplo anterior:

  • O campo "product_title" tem a coordenada de imagem de caixa correspondente "(x0, y0, x1, y1)", e a restrição de expressão regular para esse campo é "none".
  • O campo "price" tem a coordenada de imagem de caixa correspondente "(x0, y0, x1, y1)", e a restrição de expressão regular para esse campo é "\$\d+\.\d{2}", o que indica que queremos reconhecer e analisar esse campo com o sinal de $ no início da entrada de texto e alguns dígitos antes do "." e dois dígitos depois do ".".
  • O campo "unit_price" tem a mesma sintaxe de anotação que o campo "price". Por exemplo, as coordenadas da imagem da caixa "(x0, y0, x1, y1)" e a restrição de expressão regular para esse campo é "\$\d+\.\d{2}", o que indica que queremos reconhecer e analisar esse campo com o sinal de $ no início da entrada de texto e alguns dígitos antes do "." e dois dígitos após o ".".

Portanto, os dados de treinamento de análise de etiquetas de preço / detecção de entidades terão uma coleção de imagens de etiquetas de preço, com a anotação em um arquivo CSV com cada entrada de linha de CSV, assim como a entrada no exemplo anterior.

"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"

"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"

"image_filepath", "product_title", "(x0, y0, x1, y1)", "", "price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}", "unit_price", "(x0, y0, x1, y1)", "\\$\\d+\\.\\d{2}"

[...]

É possível treinar o modelo de análise de entidade de tag personalizado usando o recurso de treinamento de modelo de detecção de objetos de imagem do produto Vertex AI /AutoML Vision atual, além da personalização do mecanismo de OCR do Google.

Embora, a partir de 07/2022, o treinamento e a implantação do modelo personalizado de detecção de tags e análise de entidades de tags na API BatchAnalyze da Store Vision AI ainda não tenham suporte total como uma experiência integrada do console, ainda é possível aproveitar esse treinamento personalizado de detecção de tags e análise de entidades de tags (usando o recurso de detecção de objetos da Vertex AI Vision) e fazer a veiculação deles na API BatchAnalyze da Store Vision AI seguindo várias etapas de autoatendimento.

Uso da API: inferência de análise em lote

Criar endpoint
  • ENDPOINT_ID=ID do endpoint
  • TAG_DETECTOR=nome do modelo de detecção de tags
  • TAG_PARSER=nome do modelo de análise de tags
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 '{
  "tagRecognitionConfig": {
    "tag_detection_model": "TAG_DETECTOR_NAME",
    "tag_parsing_model": "TAG_PARSER_NAME"
  }
}'
  • 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_TAG_RECOGNITION",
     }
  ],
  "outputGcsDestination": {
    "outputUriPrefix": "OUTPUT_URI_PREFIX"
  }
}'
"features": [
    {
      "type": "TYPE_TAG_RECOGNITION",
      "tagRecognitionConfig": {
        "tag_detection_model": "'TAG_DETECTOR_NAME'",
        "tag_parsing_model": "TAG_PARSER_NAME"
      }
    }
  ],

Também há mais campos que podem ser definidos e configurados no tagRecognitionConfig, que é um objeto RetailTagRecognitionConfig. 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. RetailProductImages 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.