Guía del identificador de productos

El modelo Product Recognizer te ayuda a reconocer y comprender qué producto se muestra en la imagen proporcionada. La imagen solo debe contener un artículo del producto que deseas reconocer.

Este modelo puede servir como el componente básico principal de la IA para analizar e interpretar los datos de imágenes de productos, que puedes capturar en tiendas minoristas.

Casos de uso del Reconocedor de etiquetas y el Reconocedor de productos

Los modelos Product Recognizer y Tag Recognizer pueden servir como los principales componentes básicos de la IA para analizar e interpretar los datos de imágenes de productos y etiquetas que podrías haber capturado en tiendas minoristas.

Los modelos de reconocimiento de productos y de etiquetas incorporan varias capacidades de modelado y datos de la IA principal de Google para ayudar a los minoristas o socios técnicos a resolver problemas clave relacionados con la comprensión de los datos de imágenes de productos y etiquetas de precios, incluidos los siguientes:

  • Reconocer, es decir, comprender qué producto se muestra en la imagen
  • Reconocer y analizar la etiqueta (por ejemplo, etiqueta 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 particular, se incluyen varios modelos de IA de Google diferenciadores para respaldar la resolución de problemas de estos casos de uso, como los siguientes:

  • Modelo de incorporación visual de miniaturas de productos, que convierte una imagen de miniatura de producto en una representación numérica del espacio de atributos.
  • 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 procesar en entidades con nombre de pares clave-valor definidas por el usuario.

Además de estos modelos de IA de Google, el reconocedor de productos también aprovecha la gran base de datos de información de productos de Google. Los datos de productos en esta base de datos de productos incluyen la identidad del GTIN o UPC del producto, la marca, el título y las descripciones en varios idiomas, el logotipo y las imágenes del producto con diversas variaciones de empaque. La base de datos de productos con el modelo de embedding visual de miniaturas de productos mencionado anteriormente permite que el modelo de reconocedor de productos pueda reconocer muchos productos de inmediato.

Las dos funciones principales basadas en IA son los modelos de reconocedor de productos y reconocedor de etiquetas.

Funcionalidad del Reconocedor de productos

Este modelo reconoce la identidad de productos individuales a nivel del código comercial global de artículo (GTIN) o del código universal de producto (UPC). En el Reconocedor de productos, se incluyen varios modelos de IA de Google que marcan la diferencia para potenciar la resolución de problemas en estos casos de uso, como los siguientes:

  • El modelo de incorporación visual de productos, que convierte una imagen de producto en una representación numérica del espacio de atributos.
  • La tecnología de OCR de Google, que extrae todos los textos visibles en la imagen
  • La base de datos de productos de Google que se usa en combinación con el modelo de incorporación visual de miniaturas de productos permite que el modelo de reconocedor 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 compilar el catálogo de productos, administrar el conjunto de datos de productos, compilar el índice y realizar la implementación del servicio de Product Recognition. Se describen de la siguiente manera:

Diagrama de conceptos de la API

Catálogo: Es el recurso raíz que representa el contenedor de todos los productos que ofrece el comercio minorista.

Producto: Representa un producto que ofrece un comercio. Product es un recurso secundario de Catalog.

ProductImage: Es la imagen que representa una vista de un producto. ProductImage es un recurso secundario de Product.

ProductSet: Es un 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 "vínculo" con ellos.

ProductRecognitionIndex: Contiene una lista de incorporaciones de imágenes que se usan para 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).

Extremo: Es una posición que contiene todos los parámetros de configuración necesarios para realizar la inferencia del reconocimiento de productos o el reconocimiento de etiquetas. Para el reconocimiento de productos, se requiere implementar un ProductRecognitionIndex. Para el reconocimiento de etiquetas, es necesario especificar modelos de análisis de entidades de etiquetas.

Configuración del entorno

En esta sección, se describe cómo interactuar con la API de REST 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 ID del recurso que se creará. Puedes usar un identificador de cadena significativo, por ejemplo, "product-ABC", o un identificador generado de forma aleatoria, por ejemplo, un UUID.

Para otorgar a un rol de persona acceso de editor para usar la API de Store Vision, ejecuta el siguiente comando de vinculación de IAM:

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

Para otorgar 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'

Obtén más información sobre la vinculación de IAM.

Recorrido del usuario del Reconocedor de productos

  1. Crea un catálogo.
  2. Importa productos y (opcionalmente) ProductImages en Catalog.
  3. Consulta y modifica los objetos Product y ProductImages, y, de manera opcional, crea un objeto ProductSet para organizar la lista de productos con una granularidad más detallada.
  4. Crea un Index, ya sea a partir de todo el Catalog o de un ProductSet.
  5. Crea un Endpoint con la configuración de reconocimiento de productos deseada y, luego, implementa un Index en él.
  6. Realiza BatchAnalyze con la función ProductRecognition. En el backend, el sistema identificará los productos de cada imagen de entrada y recuperará los K productos más similares del índice especificado utilizando indicadores visuales y de texto de OCR.

Administración de recursos de API (Catalog y 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

Resultado de ejemplo

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": false
}
Extrae la operación hasta que finalice
  • 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

Resultado de ejemplo

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

Existen dos formatos de importación admitidos:

  • TXT: Cada línea es el GTIN de un producto que se importará.
  • JSONL: Cada línea es un 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"}}}

Consulta la referencia de la API para obtener más detalles sobre RetailProductIoFormat. Actualmente, admitimos la importación de un máximo de 10,000 productos por operación ImportProduct.

Ten en cuenta también que el "nombre" dentro de "retailProductImages" solo debe ser único en el alcance del recurso principal "retailProduct", lo que significa que puede haber 2 "retailProductImages" con el mismo "nombre", siempre y cuando pertenezcan a un recurso "retailProduct" diferente.

  • IMPORT_FILE_URI=Tu URI de Cloud Storage del archivo de importación, por ejemplo, gs://mybucket/my_import_file.jsonl
  • IMPORT_FORMAT=Tu formato de archivo de importación, ya sea 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"
  }'
Lista del catálogo
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs
GetCatalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
DeleteCatalog
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID

Producto

CreateProduct con GTIN

Admitimos los formatos GTIN-8, GTIN-13, GTIN-14 y UPC(también conocido como GTIN-12). Obtén más información sobre el formato del GTIN aquí.

  • PRODUCT_ID=Tu ID de producto
  • GTIN=gtin de tu producto, por ejemplo, 50735854797459, 00040094314034
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
  -d '{"gtins": "GTIN"}'
CreateProduct con ID 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 del producto
  • IMAGE_GCS_URI=URI de Cloud Storage de tu 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

Existen dos formas de crear un ProductRecognitionIndex: desde Catalog, que usará todo lo que se incluya en este catálogo, o desde un ProductSet, que solo usará los productos y las imágenes de productos 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

Extremo

Crear extremos
  • ENDPOINT_ID=Tu ID de extremo
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 extremo solo se puede implementar con un ProductRecognitionIndex, pero un ProductRecognitionIndex se puede implementar en varios extremos.

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 extremo de llamada actual y no afectará a otros extremos si este ProductRecognitionIndex también se implementó 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

Analiza la inferencia 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 solo un URI de Cloud Storage de la imagen que se 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 hay más campos que puedes establecer y configurar en productRecognitionConfig, que es un objeto RetailProductRecognitionConfig. Consulta la descripción del recurso en la referencia de la API para obtener más detalles.

Referencia de la API

Recurso: projects.locations.retailCatalogs

Representación en JSON

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

Campos


name

String

Solo salida. Nombre del recurso de RetailCatalog

displayName

String

Opcional. Es el nombre visible del RetailCatalog.

createTime

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de la creación de este RetailCatalog.

updateTime

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de la actualización.

resourceState

enum

Solo salida. Es el estado del RetailCatalog.

etiquetas

map (key: string, value: string)

Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailCatalog.

Las claves y los valores de etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, números, guiones bajos y guiones. Se permite el uso de 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

elemento superior cadena Obligatorio. Es el identificador principal.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene una instancia de RetailCatalog.

Cuerpo de la respuesta

Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene 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

nombre cadena Obligatorio. Identificador de RetailCatalog

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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

elemento superior cadena Obligatorio. Es el identificador principal.

Parámetros de consulta

filtrar cadena Es opcional. Es una expresión para filtrar los resultados de la solicitud.
pageToken cadena Es opcional. Es un token que identifica una página de resultados que el servidor debe devolver.
pageSize integer Es opcional. Indica el tamaño de la página solicitada. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Es opcional. Es una lista de campos separados por comas según los cuales se ordenará el resultado, en orden ascendente. Usa "desc" después del nombre de un campo para el orden descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura: 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

nombre cadena Obligatorio. Identificador de RetailCatalog

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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

nombre cadena Obligatorio. Nombre del recurso RetailCatalog.

Cuerpo de la solicitud

Representación JSON

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

Campos

gcsSource objeto Obligatorio. Ubicación de Cloud Storage para el contenido de entrada. Se pueden proporcionar varias ubicaciones de entrada. El contenido de todas las ubicaciones de entrada se importará en un solo lote. Extensiones de archivo compatibles: 1. Es un archivo JSONL. Cada línea es un formato JSON de RetailProductIoFormat.
2. Un archivo TXT Cada línea es el GTIN de un producto que se importará.
formato enum Obligatorio. Es el formato del archivo de importación.

Cómo dar formato a los valores de ENUM

FORMAT_UNSPECIFIED No se debe usar.
FORMAT_TXT Es el formato TXT.
FORMAT_JSONL Formato JSONL.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation.

Recurso: projects.locations.retailProducts

Representación en 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


name

String

Solo salida. Nombre del recurso de RetailProductImage

displayName

String

Opcional. Es el nombre visible de RetailProductImage.

sourceType

enum

Opcional. Tipo de fuente

gcsUri

cadena

Opcional. Ubicación de Cloud Storage de RetailProductImage. Se debe configurar, excepto cuando Google proporciona la imagen, por ejemplo, cuando el tipo de fuente es SOURCE_TYPE_GOOGLE.

resourceState

enum

Solo salida. Es el estado del RetailProductImage.

etiquetas

map (key: string, value: string)

Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductImage.

Las claves y los valores de etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de 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

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de creación.

updateTime

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de la actualización.

RetailThirdPartyId Presentación en JSON

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

Campos

id cadena Es el ID de terceros que usa el comercio o el fabricante (por ejemplo, SKU o MPN).
propietario cadena Es la entidad que "posee" el identificador externo, por ejemplo, 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

elemento superior cadena Obligatorio. Es el identificador principal.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene una instancia de RetailProduct.

Cuerpo de la respuesta

Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene 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

nombre cadena Obligatorio. Identificador de RetailProduct

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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

elemento superior cadena Obligatorio. Es el identificador principal.

Parámetros de consulta

filtrar cadena Es opcional. Es una expresión para filtrar los resultados de la solicitud.
pageToken cadena Es opcional. Es un token que identifica una página de resultados que el servidor debe devolver.
pageSize integer Es opcional. Indica el tamaño de la página solicitada. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Es opcional. Es una lista de campos separados por comas según los cuales se ordenará el resultado, en orden ascendente. Usa "desc" después del nombre de un campo para el orden descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura: 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

nombre cadena Obligatorio. Identificador de RetailProduct

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta está vacío.

Recurso: projects.locations.retailProductImages

Representación en JSON

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

Campos


name

String

Solo salida. Nombre del recurso de RetailProductImage

displayName

String

Opcional. Es el nombre visible de RetailProductImage.

sourceType

enum

Opcional. Tipo de fuente

gcsUri

cadena

Opcional. Ubicación de Cloud Storage de RetailProductImage. Se debe configurar, excepto cuando Google proporciona la imagen, por ejemplo, cuando el tipo de fuente es SOURCE_TYPE_GOOGLE.

resourceState

enum

Solo salida. Es el estado del RetailProductImage.

etiquetas

map (key: string, value: string)

Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductImage.

Las claves y los valores de etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de 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

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de creación.

updateTime

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de la actualización.

Valores de ENUM de SourceType

SOURCE_TYPE_UNSPECIFIED Fuente de datos desconocida. No se debe usar.
SOURCE_TYPE_FIXED_CAMERA La imagen se captura desde una cámara fija.
SOURCE_TYPE_HAND_HELD_CAMERA La imagen se captura con una cámara de mano.
SOURCE_TYPE_CRAWLED La imagen se rastrea desde la Web.
SOURCE_TYPE_SYSTEM_GENERATED La imagen se recortó de una imagen original con etiquetado humano.

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

elemento superior cadena Obligatorio. Es el identificador principal.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene una instancia de RetailProductImage.

Cuerpo de la respuesta

Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene 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

nombre cadena Obligatorio. Identificador de RetailProductImage

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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

elemento superior cadena Obligatorio. Es el identificador principal.

Parámetros de consulta

filtrar cadena Es opcional. Es una expresión para filtrar los resultados de la solicitud.
pageToken cadena Es opcional. Es un token que identifica una página de resultados que el servidor debe devolver.
pageSize integer Es opcional. Indica el tamaño de la página solicitada. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Es opcional. Es una lista de campos separados por comas según los cuales se ordenará el resultado, en orden ascendente. Usa "desc" después del nombre de un campo para el orden descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si el proceso es satisfactorio, 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

nombre cadena Obligatorio. Identificador de RetailProductImage

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta está 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


name

String

Solo salida. Nombre del recurso del RetailProductSet

displayName

String

Opcional. Es el nombre visible del RetailProductSet.

retailProductIds []

String

Solo salida. Son los 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 salida. Es el estado del RetailProductSet.

etiquetas

map (key: string, value: string)

Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductSet.

Las claves y los valores de etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de 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

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de creación.

updateTime

cadena (formato de Timestamp)

Solo salida. Es la 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

elemento superior cadena Obligatorio. Es el identificador principal.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene una instancia de RetailProductSet.

Cuerpo de la respuesta

Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene una instancia de RetailProductSet recién creada.

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

Solicitud HTTP

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

Parámetros de ruta

nombre cadena Obligatorio. Es el identificador de RetailProductSet.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contiene 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

elemento superior cadena Obligatorio. Es el identificador principal.

Parámetros de consulta

filtrar cadena Es opcional. Es una expresión para filtrar los resultados de la solicitud.
pageToken cadena Es opcional. Es un token que identifica una página de resultados que el servidor debe devolver.
pageSize integer Es opcional. Indica el tamaño de la página solicitada. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Es opcional. Es una lista de campos separados por comas según los cuales se ordenará el resultado, en orden ascendente. Usa "desc" después del nombre de un campo para el orden descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si el proceso es satisfactorio, 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

nombre cadena Obligatorio. Es el identificador de RetailProductSet.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta está 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

nombre cadena Obligatorio. Es el nombre del recurso RetailProductSet.

Cuerpo de la solicitud

Representación JSON

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

Campos


productIds[ ]

cadena

Es el ID de recurso de los RetailProducts que se agregarán. Todos deben pertenecer al mismo RetailCatalog que el RetailProductSet de destino especificado. Se pueden especificar hasta 200 IDs de RetailProducts en una solicitud. No se puede usar junto con productFilter.

productFilter

cadena

Es un filtro estándar que se aplicará a todos los RetailProducts del RetailCatalog principal. Selecciona los elementos que satisfacen las condiciones del filtro y los agrega al RetailProductSet. No se puede usar junto con product_ids. Filtros admitidos: https://google.aip.dev/160

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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

nombre cadena Obligatorio. Es el nombre del recurso RetailProductSet.

Cuerpo de la solicitud

Representación JSON

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

Campos


productIds[ ]

cadena

Son los IDs de recursos de los RetailProducts que se quitarán. Si los RetailProducts especificados no pertenecen a este RetailProductSet, se ignorarán. Se pueden especificar hasta 200 IDs de RetailProducts en una solicitud. No se puede usar junto con products_filter.

productFilter

cadena

Es un filtro estándar que se aplicará a todos los RetailProducts del RetailProductSet especificado. Selecciona los elementos que satisfacen 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 se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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


name

String

Solo salida. Es el nombre del recurso RetailProductRecognitionIndex.

displayName

String

Opcional. Es el nombre visible del RetailProductRecognitionIndex.

descripción

String

Opcional. Es la descripción del RetailProductRecognitionIndex.

retailProductSet[]

cadena

Opcional. Es el nombre del recurso de RetailProductSet que se usará para crear este recurso. Si se configura, el RetailProductRecognitionIndex solo contendrá productos del RetailProductSet determinado. Si no se configura, se usarán todos los productos del catálogo principal.

resourceState

enum

Solo salida. Es el estado de RetailProductRecognitionIndex.

etiquetas

map (key: string, value: string)

Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductRecognitionIndex.

Las claves y los valores de etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de 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

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de creación.

updateTime

cadena (formato de Timestamp)

Solo salida. Es la 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

elemento superior cadena Obligatorio. Es el identificador principal.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene una instancia de RetailProductRecognitionIndex.

Cuerpo de la respuesta

Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene 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

nombre cadena Obligatorio. Identificador de RetailProductRecognitionIndex

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta contiene 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

elemento superior cadena Obligatorio. Es el identificador principal.

Parámetros de consulta

filtrar cadena Es opcional. Es una expresión para filtrar los resultados de la solicitud.
pageToken cadena Es opcional. Es un token que identifica una página de resultados que el servidor debe devolver.
pageSize integer Es opcional. Indica el tamaño de la página solicitada. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Es opcional. Es una lista de campos separados por comas según los cuales se ordenará el resultado, en orden ascendente. Usa "desc" después del nombre de un campo para el orden descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si el proceso es satisfactorio, 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

nombre cadena Obligatorio. Es el identificador de ProductRecognitionIndex.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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


name

String

Solo salida. Es el nombre del recurso RetailEndpoint.

displayName

String

Opcional. Es el nombre visible del RetailEndpoint.

descripción

String

Opcional. Es la descripción de RetailEndpoint.

deployedProductRecognitionIndex

String

Solo salida. Es el nombre del recurso del ProductRecognitionIndex implementado en este RetailEndpoint.

productRecognitionConfig

objeto

Opcional. Es la configuración para el reconocimiento de productos.

tagRecognitionConfig

objeto

Opcional. Es la configuración para el reconocimiento de etiquetas.

resourceState

enum

Solo salida. Es el estado de RetailProductRecognitionIndex.

etiquetas

map (key: string, value: string)

Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductRecognitionIndex.

Las claves y los valores de etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de 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

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de creación.

updateTime

cadena (formato de Timestamp)

Solo salida. Es la marca de tiempo de la actualización.

RetailProductRecognitionConfig

Representación JSON

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

Campos

|

productDetectionModel cadena Obligatorio. Es el modelo que se usará para detectar productos en las imágenes de entrada. Valores admitidos: "builtin/stable" (el valor predeterminado) o el nombre del recurso del modelo de Vertex AI.
detectionConfidenceThreshold float Es opcional. Es el umbral de confianza para filtrar los resultados de detección. Si no se establece, se usará un valor predeterminado del sistema.
recognitionConfidenceThreshold float Es opcional. Es el umbral de confianza para filtrar los resultados del reconocimiento. Si no se establece, se usará un valor predeterminado del sistema.
additionalConfig objeto (formato de struct) Es opcional. Son 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. Es el modelo que se 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 en las etiquetas detectadas. Valores admitidos: Recurso de modelo de Vertex AI.
detectionConfidenceThreshold float Es opcional. Es el umbral de confianza para filtrar los resultados de detección. Si no se establece, se usará un valor predeterminado del sistema.
parsingConfidenceThreshold float Es opcional. Es el umbral de confianza para filtrar los resultados del análisis de texto. Si no se establece, se usará un valor predeterminado del sistema.
additionalConfig objeto (formato de struct) Es opcional. Son parámetros de configuración 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

elemento superior cadena Obligatorio. Es el identificador principal.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene una instancia de RetailEndpoint.

Cuerpo de la respuesta

Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene 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

nombre cadena Obligatorio. Identificador de RetailEndpoint

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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

elemento superior cadena Obligatorio. Es el identificador principal.

Parámetros de consulta

filtrar cadena Es opcional. Es una expresión para filtrar los resultados de la solicitud.
pageToken cadena Es opcional. Es un token que identifica una página de resultados que el servidor debe devolver.
pageSize integer Es opcional. Indica el tamaño de la página solicitada. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.
orderBy cadena Es opcional. Es una lista de campos separados por comas según los cuales se ordenará el resultado, en orden ascendente. Usa "desc" después del nombre de un campo para el orden descendente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si el proceso es satisfactorio, 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

nombre cadena Obligatorio. Identificador de RetailEndpoint

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta correctamente, el cuerpo de la respuesta está 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. Es el nombre del recurso RetailEndpoint en el que se implementa el recurso RetailProductRecognitionIndex.

Cuerpo de la solicitud

Representación JSON

{
  "retailProductRecognitionIndex": string,
}

Campos

retailProductRecognitionIndex cadena Obligatorio. Es el nombre del recurso de RetailProductRecognitionIndex que se implementará.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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. Es el nombre del recurso RetailEndpoint en el que se realizará la reversión de la implementación.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene 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 del recurso del RetailEndpoint para entregar 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 para el 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 de acceso completa a una imagen. Se puede admitir un máximo de 50,000 imágenes en una solicitud.
outputGcsDestination cadena Es opcional. Ubicación de Cloud Storage del directorio en el que se escribirá el resultado.
corpus cadena Es opcional. Es el nombre del recurso del corpus del almacén de imágenes. Aún no se admite.
bigqueryTable cadena Es opcional. Es el nombre del recurso de la tabla de BigQuery para las exportaciones de anotaciones. Tiene el formato "projects/*/datasets/*/tables/*". Si se establece, las anotaciones generadas a partir de la inferencia del AA también se exportarán a la tabla de BigQuery proporcionada. Aún no se admite.
features[] Objeto Obligatorio. Es el tipo de inferencia de AA que se realizará.

Función

Representación JSON

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

Campos

tipo enum Obligatorio. Es el tipo de atributo.
productRecognitionConfig objeto Es opcional. Son anulaciones por solicitud para la función de reconocimiento de productos. Solo es efectivo si el tipo se establece en TYPE_PRODUCT_RECOGNITION.
tagRecognitionConfig objeto Es opcional. Son los parámetros de anulación por solicitud para la función de reconocimiento de etiquetas. Solo es efectivo si el tipo se establece en TYPE_TAG_RECOGNITION.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation.

Tipos

GcsSource

Representación JSON

{
  "uris": [string]
}

Campos

uris[] cadena Obligatorio. Son referencias a rutas de Cloud Storage.

Tipo

Valores ENUM

TYPE_UNSPECIFIED Es el valor predeterminado. No se debe usar.
TYPE_PRODUCT_RECOGNITION Reconocimiento de productos. Se debe usar 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 importará
retailProductImages[ ] objeto Opcional. Son los RetailProductImage del RetailProduct determinado que se importarán.

RetailResourceState

Valores ENUM

RETAIL_RESOURCE_STATE_UNSPECIFIED Es el valor predeterminado. No se debe usar.
RETAIL_RESOURCE_STATE_CREATING Creación de estado.
RETAIL_RESOURCE_STATE_CREATED Se creó el estado.
RETAIL_RESOURCE_STATE_UPDATING Actualización de estado.
RETAIL_RESOURCE_STATE_DELETED Se borró el estado.
RETAIL_RESOURCE_STATE_ERROR Error de estado.