El modelo Reconocedor de productos te ayuda a identificar y entender qué productos hay en la imagen proporcionada o en el estante.
Este modelo puede servir como bloque de creación de IA principal para analizar e interpretar datos de imágenes de productos en tiendas. Por ejemplo, puedes usar este modelo en imágenes de estanterías capturadas por cámaras locales o dispositivos móviles.
Casos prácticos de Reconocedor de etiquetas y Reconocedor de productos
El modelo de reconocimiento de productos y los modelos de reconocimiento de etiquetas pueden servir como los principales componentes de IA para analizar e interpretar los datos de imagen sobre productos y etiquetas que se encuentran en tiendas, como las imágenes de escaneo de estanterías capturadas por las cámaras instaladas o los dispositivos o plataformas móviles.
Los modelos de reconocimiento de productos y de etiquetas incorporan varias funciones de modelización y datos de IA de Google para ayudar a los comercios y a los partners técnicos a resolver problemas clave relacionados con la comprensión de los lineales de las tiendas, como los siguientes:
- Detectar, reconocer y, por lo tanto, entender qué productos hay en la imagen o en el estante.
- Detectar, reconocer y analizar las etiquetas (por ejemplo, etiquetas de precio o cualquier otra etiqueta de texto) según el esquema de extracción de entidades de pares clave-valor definido por el usuario.
En concreto, la solución de comprobación de estanterías incluye varios modelos de IA de Google que se diferencian entre sí para ayudar a resolver problemas en estos casos prácticos, como los siguientes:
- Modelos de detección de productos (entrenados previamente por Google, pero que puedes personalizar).
- Modelo de inserción visual de miniaturas de productos, que convierte una imagen de miniatura de producto en una representación numérica del espacio de características.
- Modelo de OCR de Google, que extrae todo el texto visible en la imagen.
- Modelo de extracción de entidades de Google (que puedes personalizar) que convierte los textos sin formato en entidades con nombre de par clave-valor definidas por el usuario.
Además de estos modelos de IA de Google, la solución de comprobación de estanterías también aprovecha la gran base de datos de información de productos de Google. Los datos de producto de esta base de datos de productos incluyen el GTIN o el UPC del producto, la marca del producto, el título y las descripciones en varios idiomas, el logotipo del producto y las imágenes con varias variaciones del embalaje. La base de datos de productos con el modelo de inserción visual de miniaturas de productos mencionado anteriormente permite que el modelo de reconocimiento de productos pueda reconocer muchos productos inmediatamente.
Por ejemplo, dada una imagen de estantería capturada como la siguiente, la solución de comprobación de estanterías tiene como objetivo:
- Detectar y localizar todos los recuadros de artículos de producto (visibles, no muy ocluidos) de la imagen, así como reconocer la identidad de producto de cada recuadro de artículo de producto a nivel de GTIN o UPC.
- Detecta y localiza todos los cuadros de etiquetas (visibles) de la imagen, reconoce todas las cadenas de texto de la etiqueta y, a continuación, intenta analizar el texto en el esquema de extracción de entidades de pares clave-valor definido por el usuario, como la descripción del producto o el precio.
Las dos principales funciones de IA que permiten estas soluciones son el modelo de reconocimiento de productos y el modelo de reconocimiento de etiquetas, sobre los que te daremos más detalles en las siguientes secciones. En cada una de estas dos APIs, que proporcionan principalmente los servicios de inferencia de imágenes, hay uno o varios componentes que puedes personalizar. Primero describiremos la ruta de inferencia del uso de la API y, después, proporcionaremos una breve descripción de cómo puedes personalizar los componentes implicados, ya sea mediante alguna configuración de usuario o mediante algún entrenamiento de modelo que lleves a cabo.
Función de reconocimiento de productos
Este modelo reconoce la identidad de los productos a nivel del número global de artículo comercial (GTIN) o del código universal de producto (UPC). En el reconocedor de productos se incluyen varios modelos de IA de Google que se diferencian entre sí para facilitar la resolución de problemas en estos casos prácticos, como los siguientes:
- El modelo de inserción visual de productos, que convierte una imagen de producto en una representación numérica del espacio de características.
- La tecnología de OCR de Google, que extrae todo el texto visible en la imagen.
- La base de datos de productos de Google, que se usa en combinación con el modelo de inserción visual de miniaturas de productos, permite que el modelo de reconocimiento de productos reconozca muchos productos de inmediato.
Ejemplo de objeto JSON de salida
{ "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" }, } ] } ] }
Conceptos de la API
Se ofrecen seis recursos de API para ayudar a crear catálogos de productos, gestionar conjuntos de datos de productos, crear índices y desplegar el servicio de reconocimiento de productos. Se describen de la siguiente manera:
Catalog: recurso raíz que representa el contenedor de todos los productos que ofrece el comercio.
Producto: representa un producto ofrecido por un comerciante. Product
es un recurso secundario de Catalog
.
ProductImage la imagen que representa una vista de un producto. ProductImage
es un recurso secundario de Product
.
ProductSet contenedor de granularidad más fina para organizar y agrupar productos en el mismo Catalog
. Un ProductSet
puede contener uno o varios Product
, pero no "posee" los Product
que contiene, sino que mantiene un "enlace" a ellos.
ProductRecognitionIndex contiene una lista de inserciones de imágenes que se usan en los algoritmos de reconocimiento de productos. ProductRecognitionIndex
se puede crear a partir de todo el Catalog
o de un ProductSet
(un subconjunto de los Product
del Catalog
).
Endpoint: una colocación que contiene todas las configuraciones necesarias para realizar inferencias de reconocimiento de productos o de etiquetas. En el caso de ProductRecognition, es necesario especificar el modelo de detección de productos e implementar un ProductRecognitionIndex
. En el caso del reconocimiento de etiquetas, es obligatorio especificar los modelos de detección y de análisis de entidades de etiquetas.
Configuración del entorno
En esta sección se describe cómo interactuar con la API RESTful de Store Vision AI.
API_ENDPOINT=visionai.googleapis.com
PROJECT_ID=your project ID
Todos los métodos create
requieren que se especifique de forma explícita el nombre o el ID del recurso que se va a crear. Puede usar una cadena significativa, como "product-ABC", o un identificador generado de forma aleatoria, como un UUID.
Para conceder a una persona el rol de editor para usar la API Store Vision, ejecuta el siguiente comando de enlace de IAM:
gcloud projects add-iam-policy-binding PROJECT_ID --member='user:USER_ACCOUNT' --role='roles/visionai.editor'
Para conceder acceso de editor a una cuenta de servicio, usa el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:SERVICE_ACCOUNT' --role='roles/visionai.editor'
Más información sobre la vinculación de gestión de identidades y accesos
Recorrido de usuario de Reconocedor de productos
- Crea un catálogo.
- Importa productos y (opcionalmente)
ProductImages
aCatalog
. - Consulta y modifica el
Product
y elProductImages
, y crea unProductSet
para organizar la lista de productos con mayor granularidad. - Crea un
Index
a partir de todo elCatalog
o de unProductSet
. - Crea un
Endpoint
con la configuración de reconocimiento de productos que quieras e implementa unIndex
en él. - Hacer
BatchAnalyze
con la funciónProductRecognition
. En el backend, el sistema identificará los productos de cada imagen de entrada y obtendrá los K productos más similares del índice especificado mediante señales visuales y de texto de OCR.
Gestión de recursos de API (Catalog e Indexset)
Catálogo
Crear catálogo
- CATALOG_ID=Tu ID de 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
Ejemplo
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": false
}
Operación de extracción hasta que se complete
- OPERATION_ID=Tu operación de salida, por ejemplo, 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
Ejemplo
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": true
}
ImportProduct
Hay dos formatos de importación admitidos:
- TXT: cada línea es el GTIN de un producto que se va a importar
- JSONL: cada línea tiene el formato JSON de RetailProductIoFormat. Por ejemplo:
{"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 la referencia de la API para obtener más información sobre RetailProductIoFormat. Actualmente,admitimos la importación de un máximo de 10.000 productos por operación ImportProduct.
Tenga en cuenta también que el valor del campo "name" de "retailProductImages" solo tiene que ser único en el ámbito del recurso "retailProduct" superior. Esto significa que puede haber dos recursos "retailProductImages" con el mismo valor en el campo "name" siempre que pertenezcan a recursos "retailProduct" diferentes.
- IMPORT_FILE_URI=URI de Cloud Storage del archivo de importación. Por ejemplo, gs://mybucket/my_import_file.jsonl
- IMPORT_FORMAT=Formato del archivo de importación, FORMAT_JSONL o 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
Producto
CreateProduct con GTIN
Admitimos los formatos GTIN-8, GTIN-13, GTIN-14 y UPC(también conocido como GTIN-12). Más información sobre el formato GTIN
- PRODUCT_ID=Tu ID de producto
- GTIN=gtin de su producto (por ejemplo, 50735854797459 o 00040094314034)
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '{"gtins": "GTIN"}'
CreateProduct con ID de terceros
- PRODUCT_ID=Tu ID de producto
- THIRD_PARTY_ID=ID de terceros
- OWNER=La entidad propietaria del identificador de terceros
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 de la imagen de su producto
- IMAGE_GCS_URI=URI de Cloud Storage de la imagen. Por ejemplo, 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=Tu ID de conjunto de productos
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets?retail_product_set_id=PRODUCT_SET_ID
ListProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets
GetProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
AddProductsToProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:add \
-d '{"product_ids": "PRODUCT_ID"}'
RemoveProductsFromProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:remove \
-d '{"product_ids": "PRODUCT_ID"}'
DeleteProductSet
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
ProductRecognitionIndex
Create ProductRecognitionIndex
Hay dos formas de crear un ProductRecognitionIndex: a partir de Catalog, que usará todo lo que contenga este catálogo, o a partir de ProductSet, que solo usará los productos y las imágenes de producto asociados.
- INDEX_ID=Tu ID de índice
- COVERAGE_CSV_OUTPUT_DIRECTORY=<Ubicación de Cloud Storage del directorio en el que se escribirá el archivo de cobertura del índice
# Create from Catalog
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID
# Create from Catalog and output index coverage CSV file to a Cloud Storage directory.
# This API method is especially useful when you want to understand the
# actual number of images used to construct the index per imported GTIN, and
# the image can be sourced from the Google Product database, your own importing,
# and other means (such as with the Google Data Labeling service.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID&coverage_output.output_uri_prefix=COVERAGE_CSV_OUTPUT_DIRECTORY"
# Create from ProductSet, by adding the following to the previous Curl command
-d '{"retail_product_set": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductSets/PRODUCT_SET_ID"}'
Get ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
List ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes
Delete ProductRecognitionIndex
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
Endpoint
Crear punto final
- ENDPOINT_ID=Tu ID de 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
Un endpoint solo se puede implementar con un ProductRecognitionIndex, pero un ProductRecognitionIndex se puede implementar en varios 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
Undeploy solo quitará el ProductRecognitionIndex implementado del Endpoint de llamada actual y no afectará a otros Endpoints si este ProductRecognitionIndex también se ha implementado en otros.
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
Analizar inferencias por lotes (reconocimiento de productos)
Ejemplo de archivo de entrada en 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 de Cloud Storage de tu archivo de entrada> cada línea del archivo de entrada es un URI de Cloud Storage de la imagen que se va a procesar. Por ejemplo, gs://my-bucket/my-image.jpg.
- OUTPUT_URI_PREFIX=Prefijo de URI de Cloud Storage para el archivo de resultados de salida. Por ejemplo, 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
}
}
],
También puedes definir y configurar más campos en productRecognitionConfig
, que es un objeto RetailProductRecognitionConfig
.
Consulta la descripción del recurso en la referencia de la API para obtener más información.
Referencia de la API
Recurso: projects.locations.retailCatalogs
Representación JSON
{
"name": string,
"displayName": string,
"createTime": string,
"updateTime": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
}
Campos
nombre |
Cadena |
Solo de salida. Nombre de recurso de RetailCatalog |
---|---|---|
displayName |
Cadena |
Opcional. Nombre visible del recurso RetailCatalog. |
createTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de creación de este RetailCatalog. |
updateTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de la actualización. |
resourceState |
enum |
Solo de salida. Estado de RetailCatalog. |
labels |
map (clave: cadena, valor: cadena) |
Las etiquetas con metadatos definidos por el usuario para organizar tu RetailCatalog. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
Método: projects.locations.retailCatalogs.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Cuerpo de la solicitud
En el cuerpo de la solicitud se incluye una instancia de RetailCatalog
.
Cuerpo de la respuesta
Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailCatalog
.
Método: projects.locations.retailCatalogs.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
Parámetros de ruta
name | cadena | Obligatorio. RetailCatalog identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailCatalog
.
Método: projects.locations.retailCatalogs.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Parámetros de consulta
filtrar | cadena | Opcional. Una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | cadena | Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver. |
pageSize | entero | Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado. |
orderBy | cadena | Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente y se obtiene una respuesta, el cuerpo de dicha respuesta contiene datos con la estructura de más abajo. Representación JSON
{
"retailCatalogs": [
{
object (RetailCatalog)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
Parámetros de ruta
name | cadena | Obligatorio. RetailCatalog identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation
.
Método: projects.locations.retailCatalogs.importRetailProducts
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}:importRetailProducts
Parámetros de ruta
name | cadena | Obligatorio. RetailCatalog nombre del recurso. |
Cuerpo de la solicitud
Representación JSON
{
"gcsSource": { object(GcsSource) },
"format": enum(Format)
}
Campos
gcsSource | objeto | Obligatorio. Ubicación de Cloud Storage del contenido de entrada.
Se pueden proporcionar varias ubicaciones de entrada. El contenido de todas las ubicaciones de entrada se importará en un lote. Extensiones de archivo compatibles: 1.
Un archivo JSONL. Cada línea tiene el formato JSON de RetailProductIoFormat. 2. Un archivo TXT. Cada línea es el GTIN de un producto que se va a importar. |
formato | enum | Obligatorio. El formato del archivo de importación. |
Formatear valores ENUM
FORMAT_UNSPECIFIED | No se debe usar. |
---|---|
FORMAT_TXT | Formato TXT. |
FORMAT_JSONL | Formato JSONL. |
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation
.
Recurso: projects.locations.retailProducts
Representación 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
nombre |
Cadena |
Solo de salida. Nombre de recurso de RetailProductImage |
---|---|---|
displayName |
Cadena |
Opcional. Nombre visible de RetailProductImage. |
sourceType |
enum |
Opcional. Tipo de origen |
gcsUri |
cadena |
Opcional. Ubicación de Cloud Storage de RetailProductImage. Se debe definir, excepto cuando Google proporcione la imagen (por ejemplo, cuando el tipo de origen sea SOURCE_TYPE_GOOGLE). |
resourceState |
enum |
Solo de salida. Estado de RetailProductImage. |
labels |
map (clave: cadena, valor: cadena) |
Las etiquetas con metadatos definidos por el usuario para organizar su RetailProductImage. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de creación. |
updateTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de la actualización. |
RetailThirdPartyId
Presentación JSON
{
"id": string,
"owner": string
}
Campos
id | cadena | ID de terceros usado por el comercio o el fabricante (por ejemplo, SKU o MPN). |
propietario | cadena | La entidad que "posee" el identificador de terceros, como el fabricante o el comercio que vende este producto. |
Método: projects.locations.retailCatalogs.retailProducts.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Cuerpo de la solicitud
En el cuerpo de la solicitud se incluye una instancia de RetailProduct
.
Cuerpo de la respuesta
Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailProduct
.
Método: projects.locations.retailCatalogs.retailProducts.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
Parámetros de ruta
name | cadena | Obligatorio. RetailProduct identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailProduct
.
Método: projects.locations.retailCatalogs.retailProducts.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Parámetros de consulta
filtrar | cadena | Opcional. Una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | cadena | Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver. |
pageSize | entero | Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado. |
orderBy | cadena | Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente y se obtiene una respuesta, el cuerpo de dicha respuesta contiene datos con la estructura de más abajo. Representación JSON
{
"retailProducts": [
{
object (RetailProducts)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.retailProducts.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
Parámetros de ruta
name | cadena | Obligatorio. RetailProduct identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.
Recurso: projects.locations.retailProductImages
Representación JSON
{
"name": string,
"displayName": string,
"sourceType": enum(SourceType),
"gcsUri": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
Campos
nombre |
Cadena |
Solo de salida. Nombre de recurso de RetailProductImage |
---|---|---|
displayName |
Cadena |
Opcional. Nombre visible de RetailProductImage. |
sourceType |
enum |
Opcional. Tipo de origen |
gcsUri |
cadena |
Opcional. Ubicación de Cloud Storage de RetailProductImage. Se debe definir, excepto cuando Google proporcione la imagen (por ejemplo, cuando el tipo de origen sea SOURCE_TYPE_GOOGLE). |
resourceState |
enum |
Solo de salida. Estado de RetailProductImage. |
labels |
map (clave: cadena, valor: cadena) |
Las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductImage. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de creación. |
updateTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de la actualización. |
Valores ENUM de SourceType
SOURCE_TYPE_UNSPECIFIED | Fuente de datos desconocida. No se debe usar. |
---|---|
SOURCE_TYPE_FIXED_CAMERA | La imagen se ha capturado con una cámara fija. |
SOURCE_TYPE_HAND_HELD_CAMERA | Imagen captada con una cámara de mano. |
SOURCE_TYPE_CRAWLED | La imagen se rastrea en la Web. |
SOURCE_TYPE_SYSTEM_GENERATED | Imagen recortada de una imagen original con etiquetas de personas. |
Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Cuerpo de la solicitud
En el cuerpo de la solicitud se incluye una instancia de RetailProductImage
.
Cuerpo de la respuesta
Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailProductImage
.
Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
Parámetros de ruta
name | cadena | Obligatorio. RetailProductImage identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailProductImage
.
Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Parámetros de consulta
filtrar | cadena | Opcional. Una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | cadena | Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver. |
pageSize | entero | Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado. |
orderBy | cadena | Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la acción se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON
{
"retailProductImages": [
{
object (RetailProductImages)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
Parámetros de ruta
name | cadena | Obligatorio. RetailProductImage identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.
Recurso: projects.locations.retailCatalogs.retailProductSets
Representación JSON
{
"name": string,
"displayName": string,
"retailProductIds": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
Campos
nombre |
Cadena |
Solo de salida. Nombre de recurso del RetailProductSet |
---|---|---|
displayName |
Cadena |
Opcional. Nombre visible del RetailProductSet. |
retailProductIds [] |
Cadena |
Solo de salida. IDs de recursos de los productos que pertenecen a este RetailProductSet. Los productos de un RetailProductSet deben estar en el mismo catálogo. |
resourceState |
enum |
Solo de salida. Estado del RetailProductSet. |
labels |
map (clave: cadena, valor: cadena) |
Las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductSet. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de creación. |
updateTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de la actualización. |
Método: projects.locations.retailCatalogs.retailProductSets.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de RetailProductSet.
Cuerpo de la respuesta
Si la solicitud se completa correctamente, el cuerpo de la respuesta contiene una instancia recién creada de RetailProductSet.
Método: projects.locations.retailCatalogs.retailProductSets.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
Parámetros de ruta
name | cadena | Obligatorio. Identificador de RetailProductSet. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailProductSet.
Método: projects.locations.retailCatalogs.retailProductSets.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Parámetros de consulta
filtrar | cadena | Opcional. Una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | cadena | Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver. |
pageSize | entero | Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado. |
orderBy | cadena | Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la acción se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON
{
"retailProductSets": [
{
object (RetailProductSets)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.retailProductSets.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
Parámetros de ruta
name | cadena | Obligatorio. Identificador de RetailProductSet. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.
Método: projects.locations.retailCatalogs.retailProductSets.add
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:remove
Parámetros de ruta
name | cadena | Obligatorio. Nombre de recurso de RetailProductSet. |
Cuerpo de la solicitud
Representación JSON
{
"productIds": [string],
"productFilter": string
}
Campos
productIds[ ] |
cadena |
ID de recurso de los RetailProducts que se van a añadir. Todos deben pertenecer al mismo RetailCatalog que el RetailProductSet de destino especificado. Se pueden especificar hasta 200 IDs de RetailProduct en una solicitud. No se puede usar junto con productFilter. |
---|---|---|
productFilter |
cadena |
Un filtro estándar que se aplicará a todos los RetailProducts del RetailCatalog principal. Selecciona los elementos que cumplan las condiciones del filtro y añádelos al RetailProductSet. No se puede usar junto con product_ids. Filtros admitidos: https://google.aip.dev/160 |
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation
.
Método: projects.locations.retailCatalogs.retailProductSets.remove
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:add
Parámetros de ruta
name | cadena | Obligatorio. Nombre de recurso de RetailProductSet. |
Cuerpo de la solicitud
Representación JSON
{
"productIds": [string],
"productFilter": string
}
Campos
productIds[ ] |
cadena |
IDs de recursos de los RetailProducts que se van a quitar. Si el valor de RetailProducts especificado no pertenece a este RetailProductSet, se ignorará. Se pueden especificar hasta 200 IDs de RetailProduct en una solicitud. No se puede usar junto con products_filter. |
---|---|---|
productFilter |
cadena |
Un filtro estándar que se aplicará a todos los RetailProducts del RetailProductSet especificado. Selecciona los elementos que cumplan las condiciones del filtro y los quita del RetailProductSet. No se puede usar junto con product_ids. Filtros admitidos:https://google.aip.dev/160 |
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation
.
Recurso: projects.locations.retailCatalogs.retailProductRecognitionIndexes
Representación JSON
{
"name": string,
"displayName": string,
"description": string,
"retailProductSet": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
Campos
nombre |
Cadena |
Solo de salida. Nombre de recurso del recurso RetailProductRecognitionIndex. |
---|---|---|
displayName |
Cadena |
Opcional. Nombre visible de RetailProductRecognitionIndex. |
descripción |
Cadena |
Opcional. Descripción de RetailProductRecognitionIndex. |
retailProductSet[] |
cadena |
Opcional. Nombre de recurso de RetailProductSet que se va a usar para crear este recurso. Si se define, RetailProductRecognitionIndex solo contendrá productos del RetailProductSet indicado. Si no se define, se usarán todos los productos del catálogo principal. |
resourceState |
enum |
Solo de salida. Estado de RetailProductRecognitionIndex. |
labels |
map (clave: cadena, valor: cadena) |
Las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductRecognitionIndex. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de creación. |
updateTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de la actualización. |
Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Cuerpo de la solicitud
En el cuerpo de la solicitud se incluye una instancia de RetailProductRecognitionIndex
.
Cuerpo de la respuesta
Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailProductRecognitionIndex
.
Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
Parámetros de ruta
name | cadena | Obligatorio. RetailProductRecognitionIndex identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la salida del comando es correcta, en el cuerpo de la respuesta se incluirá una instancia de RetailProductRecognitionIndex
.
Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Parámetros de consulta
filtrar | cadena | Opcional. Una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | cadena | Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver. |
pageSize | entero | Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado. |
orderBy | cadena | Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la acción se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON
{
"retailProductRecognitionIndexes": [
{
object (RetailProductRecognitionIndex)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
Parámetros de ruta
name | cadena | Obligatorio. Identificador de ProductRecognitionIndex. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation
.
Recurso: projects.locations.retailEndpoints
Representación 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
nombre |
Cadena |
Solo de salida. Nombre de recurso del recurso RetailEndpoint. |
---|---|---|
displayName |
Cadena |
Opcional. Nombre visible del RetailEndpoint. |
descripción |
Cadena |
Opcional. Descripción del RetailEndpoint. |
deployedProductRecognitionIndex |
Cadena |
Solo de salida. Nombre de recurso de ProductRecognitionIndex implementado en este RetailEndpoint. |
productRecognitionConfig |
objeto |
Opcional. Configuración del reconocimiento de productos. |
tagRecognitionConfig |
objeto |
Opcional. Configuración para el reconocimiento de etiquetas. |
resourceState |
enum |
Solo de salida. Estado de RetailProductRecognitionIndex. |
labels |
map (clave: cadena, valor: cadena) |
Las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductRecognitionIndex. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Se permite utilizar caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información y ejemplos de etiquetas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de creación. |
updateTime |
string (formato Timestamp) |
Solo de salida. Marca de tiempo de la actualización. |
RetailProductRecognitionConfig
Representación JSON
{
"productDetectionModel": string,
"detectionConfidenceThreshold": float,
"recognitionConfidenceThreshold": float,
"additionalConfig": { object }
}
Campos
|
productDetectionModel | cadena | Obligatorio. Modelo que se va a usar para detectar productos en las imágenes de entrada. Valores admitidos: "builtin/stable" (valor predeterminado) o nombre del recurso del modelo de Vertex AI. |
---|---|---|
detectionConfidenceThreshold | flotante | Opcional. Umbral de confianza para filtrar los resultados de detección. Si no se define, se usará un valor predeterminado del sistema. |
recognitionConfidenceThreshold | flotante | Opcional. Umbral de confianza para filtrar los resultados del reconocimiento. Si no se define, se usará un valor predeterminado del sistema. |
additionalConfig | objeto (formato Struct) | Opcional. Configuraciones adicionales para el reconocimiento de productos. |
RetailTagRecognitionConfig
Representación JSON
{
"tagDetectionModel": string,
"tagParsingModel": string,
"detectionConfidenceThreshold": float,
"parsingConfidenceThreshold": float,
"additionalConfig": { object }
}
Campos
tagDetectionModel | cadena | Obligatorio. Modelo que se va a usar para detectar etiquetas en las imágenes de entrada. Valores admitidos: recurso de modelo de Vertex AI. |
---|---|---|
tagParsingModel | cadena | Obligatorio. Modelo para analizar el texto de las etiquetas detectadas. Valores admitidos: recurso de modelo de Vertex AI. |
detectionConfidenceThreshold | flotante | Opcional. Umbral de confianza para filtrar los resultados de detección. Si no se define, se usará un valor predeterminado del sistema. |
parsingConfidenceThreshold | flotante | Opcional. Umbral de confianza para filtrar los resultados del análisis de texto. Si no se define, se usará un valor predeterminado del sistema. |
additionalConfig | objeto (formato Struct) | Opcional. Configuraciones adicionales para el reconocimiento de etiquetas. |
Método: projects.locations.retailEndpoints.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Cuerpo de la solicitud
En el cuerpo de la solicitud se incluye una instancia de RetailEndpoint
.
Cuerpo de la respuesta
Si la solicitud se completa correctamente, en el cuerpo de la respuesta se incluye una instancia recién creada de RetailEndpoint
.
Método: projects.locations.retailEndpoints.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*}
Parámetros de ruta
name | cadena | Obligatorio. RetailEndpoint identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de RetailEndpoint
.
Método: projects.locations.retailEndpoints.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
Parámetros de ruta
parent | cadena | Obligatorio. Identificador principal. |
Parámetros de consulta
filtrar | cadena | Opcional. Una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | cadena | Opcional. Un token con el que se identifica la página de resultados que el servidor debería devolver. |
pageSize | entero | Opcional. Tamaño de la página solicitado. El servidor puede devolver menos elementos de los solicitados. Si no se especifica, el servidor elegirá un valor predeterminado adecuado. |
orderBy | cadena | Opcional. Lista separada por comas de campos por los que se ordenarán los resultados en orden ascendente. Usa "desc" después del nombre de un campo para ordenarlo de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la acción se realiza correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON
{
"retailEndpoints": [
{
object (RetailEndpoint)
}
],
"nextPageToken": string
}
Método: projects.locations.retailEndpoints.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*
Parámetros de ruta
name | cadena | Obligatorio. RetailEndpoint identificador. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.
Método: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:deployRetailProductRecognitionIndex
Parámetros de ruta
retailEndpoint | cadena | Obligatorio. Nombre de recurso del RetailEndpoint
recurso en el que se
RetailProductRecognitionIndex implementa. |
Cuerpo de la solicitud
Representación JSON
{
"retailProductRecognitionIndex": string,
}
Campos
retailProductRecognitionIndex | cadena | Obligatorio. Nombre de recurso de
RetailProductRecognitionIndex
que se va a desplegar. |
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation
.
Método: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:undeployRetailProductRecognitionIndex
Parámetros de ruta
retailEndpoint | cadena | Obligatorio. Nombre de recurso del RetailEndpoint
recurso en el que se realizará la cancelación de la implementación. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation
.
Método: projects.locations.retailEndpoints.batchAnalyze
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:batchAnalyze
Parámetros de ruta
retailEndpoint | cadena | Obligatorio. Nombre de recurso del RetailEndpoint
para servir la solicitud de inferencia. |
Cuerpo de la solicitud
Representación 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 | cadena | Obligatorio. Ubicación de Cloud Storage del contenido de entrada. Se pueden proporcionar varias ubicaciones de entrada. El contenido de todas las ubicaciones de entrada se procesará en un lote. Contenido admitido: un archivo TXT en el que cada línea es la ruta completa de una imagen. Se pueden incluir hasta 50.000 imágenes en una solicitud. |
---|---|---|
outputGcsDestination | cadena | Opcional. Ubicación de Cloud Storage del directorio en el que se va a escribir la salida. |
corpus | cadena | Opcional. Nombre de recurso del corpus del almacén de imágenes. Todavía no se admite. |
bigqueryTable | cadena | Opcional. Nombre de recurso de la tabla de BigQuery para las exportaciones de anotaciones. Con el formato "projects/*/datasets/*/tables/*". Si se define, las anotaciones generadas a partir de la inferencia de aprendizaje automático también se exportarán a la tabla de BigQuery indicada. Todavía no se admite. |
features[] | Objeto | Obligatorio. Tipo de inferencia de aprendizaje automático que se va a realizar. |
Función
Representación JSON
{
"type": enum(Type),
"productRecognitionConfig": object(RetailProductRecognitionConfig),
"tagRecognitionConfig": object(RetailTagRecognitionConfig)
}
Campos
tipo | enum | Obligatorio. El tipo de función. |
---|---|---|
productRecognitionConfig | objeto | Opcional. Sustituciones por solicitud de la función de reconocimiento de productos. Solo es eficaz si el tipo se define como TYPE_PRODUCT_RECOGNITION. |
tagRecognitionConfig | objeto | Opcional. Anulaciones por solicitud de la función de reconocimiento de etiquetas. Solo es eficaz si el tipo se define como TYPE_TAG_RECOGNITION. |
Cuerpo de la respuesta
Si la solicitud se hace correctamente, en el cuerpo de la respuesta se incluye una instancia de Operation
.
Tipos
GcsSource
Representación JSON
{
"uris": [string]
}
Campos
uris[] | cadena | Obligatorio. Referencias a rutas de Cloud Storage. |
Tipo
Valores ENUM
TYPE_UNSPECIFIED | El valor predeterminado. No se debe usar. |
---|---|
TYPE_PRODUCT_RECOGNITION | Reconocimiento de productos. Debe usarse en un RetailEndpoint con RetailProductRecognitionIndex implementado. |
TYPE_TAG_RECOGNITION | Detección y análisis de etiquetas. Se debe usar en un RetailEndpoint con RetailTagRecognitionConfig. |
RetailProductIoFormat
Representación JSON
{
"retailProduct": { object(RetailProduct) },
"retailProductImages": [ { object(RetailProductImage) }]
}
Campos
retailProduct | objeto | Obligatorio. RetailProduct que se va a importar |
---|---|---|
retailProductImages[ ] | objeto | Opcional. RetailProductImage s del RetailProduct proporcionado que se van a importar. |
RetailResourceState
Valores ENUM
RETAIL_RESOURCE_STATE_UNSPECIFIED | El valor predeterminado. No se debe usar. |
---|---|
RETAIL_RESOURCE_STATE_CREATING | Estado Creating. |
RETAIL_RESOURCE_STATE_CREATED | Estado creado. |
RETAIL_RESOURCE_STATE_UPDATING | Actualizando el estado. |
RETAIL_RESOURCE_STATE_DELETED | Estado eliminado. |
RETAIL_RESOURCE_STATE_ERROR | Error de estado. |