Guide de l'outil de reconnaissance de produits

Le modèle Product Recognizer vous aide à reconnaître et à comprendre quel produit se trouve dans l'image fournie. L'image ne doit contenir qu'un seul produit que vous souhaitez reconnaître.

Ce modèle peut servir de composant IA principal pour analyser et interpréter les données d'images de produits que vous pouvez collecter dans les magasins.

Cas d'utilisation de l'outil de reconnaissance de tags et de l'outil de reconnaissance de produits

Les modèles Product Recognizer et Tag Recognizer peuvent servir de blocs de construction d'IA principaux pour analyser et interpréter les données d'image autour des produits et des tags, que vous avez peut-être collectées dans des magasins.

Les modèles de reconnaissance des produits et des étiquettes intègrent plusieurs fonctionnalités de modélisation et de données d'IA Google de base pour aider les marchands et/ou les partenaires techniques à résoudre les principaux problèmes liés à la compréhension des données d'images de produits et d'étiquettes de prix, y compris :

  • Reconnaître le produit présent sur l'image
  • Reconnaître et analyser le tag (par exemple, un tag de prix ou tout autre tag de libellé textuel) en fonction du schéma d'extraction d'entités de paires clé-valeur défini par l'utilisateur.

Plusieurs modèles d'IA Google différenciants sont inclus pour aider à résoudre ces cas d'utilisation, tels que

  • Modèle d'embedding visuel des miniatures de produits, qui transforme une image de miniature de produit en représentation numérique de l'espace de caractéristiques.
  • Le modèle OCR de Google, qui extrait tous les textes visibles dans l'image.
  • Modèle d'extraction d'entités Google (que vous pouvez personnaliser), qui transforme les textes bruts en entités nommées de paires clé-valeur définies par l'utilisateur.

En plus de ces modèles d'IA de Google, le système de reconnaissance des produits s'appuie également sur la vaste base de données d'informations sur les produits de Google. Les données produit de cette base de données produit incluent l'identité GTIN / UPC du produit, sa marque, son titre et ses descriptions multilingues, son logo et ses images avec différentes variantes d'emballage. La base de données de produits avec le modèle d'embedding visuel des miniatures de produits mentionné précédemment permet au modèle de reconnaissance de produits de reconnaître immédiatement de nombreux produits.

Les deux principales fonctionnalités d'IA sont les modèles de reconnaissance de produits et de reconnaissance de tags.

Fonctionnalité de reconnaissance de produits

Ce modèle reconnaît l'identité de chaque produit au niveau du code article international (GTIN) ou du code produit universel (UPC). Plusieurs modèles d'IA Google distinctifs sont inclus dans le Product Recognizer pour permettre de résoudre ces cas d'utilisation, par exemple :

  • Le modèle d'embedding visuel de produit, qui transforme une image de produit en représentation numérique dans un espace de caractéristiques.
  • La technologie OCR de Google, qui extrait tous les textes visibles dans l'image.
  • La base de données de produits Google utilisée en combinaison avec le modèle d'intégration visuelle des miniatures de produits permet au modèle de reconnaissance de produits de reconnaître de nombreux produits immédiatement.

Exemple d'objet JSON de sortie

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

Concepts de l'API

Six ressources d'API sont proposées pour vous aider à créer un catalogue de produits, à gérer des ensembles de données de produits, à créer des index et à déployer le service de reconnaissance de produits. Elles sont décrites comme suit :

Schéma du concept d'API

Catalog : ressource racine qui représente le conteneur de tous les produits proposés par le marchand.

Produit : représente un produit proposé par un marchand. Product est une ressource enfant de Catalog.

ProductImage : image représentant une vue d'un produit. ProductImage est une ressource enfant de Product.

ProductSet : conteneur plus précis permettant d'organiser et de regrouper les produits dans le même Catalog. Un ProductSet peut contenir un ou plusieurs Product, mais il ne "possède" pas les Product qu'il contient. Il maintient plutôt un "lien" vers eux.

ProductRecognitionIndex : contient une liste d'embeddings d'images utilisés pour les algorithmes de reconnaissance de produits. ProductRecognitionIndex peut être créé à partir de l'ensemble de Catalog ou à partir d'un ProductSet (un sous-ensemble des Product de Catalog).

Point de terminaison : emplacement qui contient toutes les configurations requises pour effectuer l'inférence de reconnaissance de produits ou de reconnaissance de tags. Pour la reconnaissance de produits, le déploiement d'un ProductRecognitionIndex est obligatoire. Pour la reconnaissance de tags, il est obligatoire de spécifier des modèles d'analyse d'entités de tags.

Configuration de l'environnement

Cette section décrit comment interagir avec l'API RESTful Store Vision AI.

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

Toutes les méthodes create nécessitent de spécifier explicitement le nom ou l'ID de la ressource à créer. Vous pouvez utiliser un identifiant de chaîne explicite, par exemple "product-ABC", ou un identifiant généré de manière aléatoire, par exemple un UUID.

Pour accorder à une personne le rôle d'éditeur afin qu'elle puisse utiliser l'API Store Vision, veuillez exécuter la commande de liaison IAM suivante :

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

Pour accorder un accès en tant qu'éditeur à un compte de service, veuillez utiliser la commande ci-dessous :

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

En savoir plus sur l'association IAM

Parcours utilisateur de l'outil de reconnaissance de produits

  1. Créez un catalogue.
  2. Importez des produits et (facultatif) ProductImages dans Catalog.
  3. Affichez et modifiez les Product et ProductImages, et créez éventuellement un ProductSet pour organiser la liste des produits de manière plus précise.
  4. Créez un Index à partir de l'intégralité de l'Catalog ou d'un ProductSet.
  5. Crée un Endpoint avec la configuration de reconnaissance de produits souhaitée et y déploie un Index.
  6. Effectuez BatchAnalyze avec la fonctionnalité ProductRecognition. Dans le backend, le système identifiera les produits de chaque image d'entrée et récupérera les K produits similaires les plus pertinents à partir de l'index spécifié à l'aide de signaux visuels et de texte OCR.

Gestion des ressources d'API (catalogue et ensemble d'index)

Catalogue

Créer un catalogue
  • CATALOG_ID : ID de votre catalogue.
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

Exemple de résultat

{
  "name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
  "done": false
}
Extraire l'opération jusqu'à ce qu'elle soit terminée
  • OPERATION_ID=Votre opération de sortie, par exemple 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

Exemple de résultat

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

Deux formats d'importation sont acceptés :

  • TXT : chaque ligne correspond au code GTIN d'un produit à importer.
  • JSONL : chaque ligne est au format JSON de RetailProductIoFormat, par exemple :
{"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"}}}

Pour en savoir plus sur RetailProductIoFormat, veuillez consulter la documentation de référence de l'API. Nous acceptons actuellement l'importation d'un maximum de 10 000 produits par opération ImportProduct.

Veuillez également noter que le "nom" dans "retailProductImages" ne doit être unique que dans le champ de la ressource "retailProduct" parente. Cela signifie qu'il peut y avoir deux "retailProductImages" portant le même "nom" à condition qu'elles appartiennent à des ressources "retailProduct" différentes.

  • IMPORT_FILE_URI=URI Cloud Storage de votre fichier d'importation (par exemple, gs://mybucket/my_import_file.jsonl)
  • IMPORT_FORMAT=Format de votre fichier d'importation (FORMAT_JSONL ou FORMAT_TXT)
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID:importRetailProducts \
  -d '{
    "gcs_source": {
      "uris": "IMPORT_FILE_URI"
    },
    "format": "IMPORT_FORMAT"
  }'
Lister le catalogue
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

Produit

CreateProduct avec un code GTIN

Nous acceptons les formats GTIN-8, GTIN-13, GTIN-14 et UPC(également appelé GTIN-12). En savoir plus sur le format GTIN ici

  • PRODUCT_ID=Your product id
  • GTIN=gtin de votre produit, par exemple, 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 avec un ID tiers
  • PRODUCT_ID=Your product id
  • THIRD_PARTY_ID=ID tiers
  • OWNER : entité propriétaire de l'identifiant tiers
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 l'image de votre produit
  • IMAGE_GCS_URI=URI Cloud Storage de votre image, par exemple gs://mybucket/my_img.jpg
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages?retail_product_image_id=PRODUCT_IMAGE_ID \
  -d '{
    "source_type": "SOURCE_TYPE_HAND_HELD_CAMERA",
    "gcs_uri": "IMAGE_GCS_URI"
  }'
ListProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages
GetProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
DeleteProductImage
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID

ProductSet

CreateProductSet
  • PRODUCT_SET_ID=ID de votre ensemble de produits
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

Il existe deux façons de créer un ProductRecognitionIndex : à partir d'un catalogue, qui utilisera tout ce qu'il contient, ou à partir d'un ensemble de produits, qui n'utilisera que les produits et images de produits associés.

  • INDEX_ID=ID de votre index
  • COVERAGE_CSV_OUTPUT_DIRECTORY=<Emplacement Cloud Storage du répertoire dans lequel le fichier de couverture de l'index sera écrit
# 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
Lister 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

Point de terminaison

Créer un point de terminaison
  • ENDPOINT_ID=ID de votre point de terminaison
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 point de terminaison ne peut être déployé qu'avec un seul ProductRecognitionIndex, mais un ProductRecognitionIndex peut être déployé sur plusieurs points de terminaison.

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 ne supprime l'index ProductRecognitionIndex déployé que du point de terminaison appelant actuel. Il n'affecte pas les autres points de terminaison si cet index ProductRecognitionIndex est également déployé sur d'autres.

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

Inférence d'analyse par lot (reconnaissance de produits)

Exemple de fichier d'entrée dans 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 Cloud Storage de votre fichier d'entrée> chaque ligne du fichier d'entrée n'est qu'un URI Cloud Storage de l'image à traiter, par exemple gs://my-bucket/my-image.jpg
  • OUTPUT_URI_PREFIX=Préfixe d'URI Cloud Storage pour le fichier de résultats de sortie (par exemple, 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
      }
    }
  ],

Vous pouvez également définir et configurer d'autres champs dans productRecognitionConfig, qui est un objet RetailProductRecognitionConfig. Pour en savoir plus, consultez la description de la ressource dans la documentation de référence de l'API.

Documentation de référence de l'API

Ressource : projects.locations.retailCatalogs

Représentation JSON

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

Fields


name

Chaîne

Uniquement en sortie. Nom de ressource du RetailCatalog

displayName

Chaîne

Facultatif. Nom à afficher du RetailCatalog.

createTime

string (format Timestamp)

Uniquement en sortie. Horodatage de la création de ce RetailCatalog.

updateTime

string (format Timestamp)

Uniquement en sortie. Code temporel de la mise à jour.

resourceState

enum

Uniquement en sortie. État de RetailCatalog.

libellés

map (key: string, value: string)

Libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailCatalog.

Les clés et les valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

Méthode : projects.locations.retailCatalogs.create

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailCatalog.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailCatalog.

Méthode : projects.locations.retailCatalogs.get

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailCatalog.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailCatalog.

Méthode : projects.locations.retailCatalogs.list

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Paramètres de requête

filter string Facultatif. Expression permettant de filtrer les résultats de la requête.
pageToken string Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy string Facultatif. Liste de champs séparés par une virgule selon lesquels trier les résultats par ordre croissant. Utilisez "desc" après un nom de champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante : Représentation JSON

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

Méthode : projects.locations.retailCatalogs.delete

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailCatalog.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Méthode : projects.locations.retailCatalogs.importRetailProducts

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Nom de la ressource RetailCatalog.

Corps de la requête

Représentation JSON

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

Fields

gcsSource objet Obligatoire. Emplacement Cloud Storage pour le contenu d'entrée. Vous pouvez fournir plusieurs lieux de départ. Le contenu de tous les emplacements d'entrée sera importé en un seul lot. Extensions de fichier acceptées : 1. Un fichier JSONL. Chaque ligne est au format JSON de RetailProductIoFormat.
2. Un fichier TXT. Chaque ligne correspond au GTIN d'un produit à importer.
format enum Obligatoire. Format du fichier d'importation.

Mettre en forme les valeurs ENUM

FORMAT_UNSPECIFIED Ne doit pas être utilisée.
FORMAT_TXT Format TXT.
FORMAT_JSONL Format JSONL.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Ressource : projects.locations.retailProducts

Représentation 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
}

Fields


name

Chaîne

Uniquement en sortie. Nom de ressource de RetailProductImage

displayName

Chaîne

Facultatif. Nom à afficher de RetailProductImage.

sourceType

enum

Facultatif. Type de source

gcsUri

string

Facultatif. Emplacement Cloud Storage de l'image RetailProductImage. Il doit être défini, sauf lorsque l'image est fournie par Google (par exemple, lorsque le type de source est SOURCE_TYPE_GOOGLE).

resourceState

enum

Uniquement en sortie. État de RetailProductImage.

libellés

map (key: string, value: string)

Libellés avec des métadonnées définies par l'utilisateur pour organiser vos RetailProductImage.

Les clés et les valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

string (format Timestamp)

Uniquement en sortie. Code temporel de création.

updateTime

string (format Timestamp)

Uniquement en sortie. Code temporel de la mise à jour.

RetailThirdPartyId Présentation JSON

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

Fields

id string ID tiers utilisé par le marchand ou le fabricant (par exemple, SKU ou référence fabricant).
owner string Entité "propriétaire" de l'identifiant tiers, par exemple le fabricant ou le marchand qui vend ce produit.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailProduct.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailProduct.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailProduct.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailProduct.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Paramètres de requête

filter string Facultatif. Expression permettant de filtrer les résultats de la requête.
pageToken string Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy string Facultatif. Liste de champs séparés par une virgule selon lesquels trier les résultats par ordre croissant. Utilisez "desc" après un nom de champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante : Représentation JSON

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

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailProduct.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

Ressource : projects.locations.retailProductImages

Représentation JSON

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

Fields


name

Chaîne

Uniquement en sortie. Nom de ressource de RetailProductImage

displayName

Chaîne

Facultatif. Nom à afficher de RetailProductImage.

sourceType

enum

Facultatif. Type de source

gcsUri

string

Facultatif. Emplacement Cloud Storage de l'image RetailProductImage. Il doit être défini, sauf lorsque l'image est fournie par Google (par exemple, lorsque le type de source est SOURCE_TYPE_GOOGLE).

resourceState

enum

Uniquement en sortie. État de RetailProductImage.

libellés

map (key: string, value: string)

Libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductImage.

Les clés et les valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

string (format Timestamp)

Uniquement en sortie. Code temporel de création.

updateTime

string (format Timestamp)

Uniquement en sortie. Code temporel de la mise à jour.

Valeurs ENUM SourceType

SOURCE_TYPE_UNSPECIFIED Source de données inconnue. Ne doit pas être utilisée.
SOURCE_TYPE_FIXED_CAMERA L'image est capturée par une caméra fixe.
SOURCE_TYPE_HAND_HELD_CAMERA L'image est capturée à partir d'une caméra portative.
SOURCE_TYPE_CRAWLED L'image est explorée sur le Web.
SOURCE_TYPE_SYSTEM_GENERATED L'image est recadrée à partir d'une image d'origine avec étiquetage manuel.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailProductImage.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailProductImage.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailProductImage.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailProductImage.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Paramètres de requête

filter string Facultatif. Expression permettant de filtrer les résultats de la requête.
pageToken string Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy string Facultatif. Liste de champs séparés par une virgule selon lesquels trier les résultats par ordre croissant. Utilisez "desc" après un nom de champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :

Représentation JSON

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

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailProductImage.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

Ressource : projects.locations.retailCatalogs.retailProductSets

Représentation JSON

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

Fields


name

Chaîne

Uniquement en sortie. Nom de ressource de RetailProductSet

displayName

Chaîne

Facultatif. Nom à afficher du RetailProductSet.

retailProductIds []

Chaîne

Uniquement en sortie. ID de ressources des produits appartenant à ce RetailProductSet. Les produits d'un RetailProductSet doivent appartenir au même catalogue.

resourceState

enum

Uniquement en sortie. État de RetailProductSet.

libellés

map (key: string, value: string)

Libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductSet.

Les clés et les valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

string (format Timestamp)

Uniquement en sortie. Code temporel de création.

updateTime

string (format Timestamp)

Uniquement en sortie. Code temporel de la mise à jour.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailProductSet.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailProductSet.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailProductSet.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailProductSet.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Paramètres de requête

filter string Facultatif. Expression permettant de filtrer les résultats de la requête.
pageToken string Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy string Facultatif. Liste de champs séparés par une virgule selon lesquels trier les résultats par ordre croissant. Utilisez "desc" après un nom de champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :

Représentation JSON

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

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailProductSet.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Nom de ressource RetailProductSet.

Corps de la requête

Représentation JSON

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

Fields


productIds[ ]

string

ID de ressource des RetailProducts à ajouter. Ils doivent tous appartenir au même RetailCatalog que le RetailProductSet de destination spécifié. Vous pouvez spécifier jusqu'à 200 ID RetailProduct dans une même requête. Ne peut pas être utilisé avec productFilter.

productFilter

string

Filtre standard qui sera appliqué à tous les RetailProducts du RetailCatalog parent. Sélectionnez les éléments qui répondent aux conditions du filtre et ajoutez-les au RetailProductSet. Ne peut pas être utilisé avec product_ids. Filtres compatibles : https://google.aip.dev/160

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Nom de ressource RetailProductSet.

Corps de la requête

Représentation JSON

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

Fields


productIds[ ]

string

ID de ressource des RetailProducts à supprimer. Si les RetailProducts spécifiés n'appartiennent pas à ce RetailProductSet, ils seront ignorés. Vous pouvez spécifier jusqu'à 200 ID RetailProduct dans une même requête. Ne peut pas être utilisé avec products_filter.

productFilter

string

Filtre standard qui sera appliqué à tous les RetailProducts du RetailProductSet spécifié. Il sélectionne les éléments qui répondent aux conditions du filtre et les supprime du RetailProductSet. Ne peut pas être utilisé avec product_ids. Filtres compatibles : https://google.aip.dev/160

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Ressource : projects.locations.retailCatalogs.retailProductRecognitionIndexes

Représentation JSON

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

Fields


name

Chaîne

Uniquement en sortie. Nom de ressource de la ressource RetailProductRecognitionIndex.

displayName

Chaîne

Facultatif. Nom à afficher de RetailProductRecognitionIndex.

description

Chaîne

Facultatif. Description de l'index RetailProductRecognitionIndex.

retailProductSet[]

string

Facultatif. Nom de ressource RetailProductSet à utiliser pour créer cette ressource. Si cette valeur est définie, l'index RetailProductRecognitionIndex ne contiendra que les produits du RetailProductSet spécifié. Si ce paramètre n'est pas défini, tous les produits du catalogue parent seront utilisés.

resourceState

enum

Uniquement en sortie. État de l'index RetailProductRecognitionIndex.

libellés

map (key: string, value: string)

Libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductRecognitionIndex.

Les clés et les valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

string (format Timestamp)

Uniquement en sortie. Code temporel de création.

updateTime

string (format Timestamp)

Uniquement en sortie. Code temporel de la mise à jour.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailProductRecognitionIndex.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailProductRecognitionIndex.

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailProductRecognitionIndex.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailProductRecognitionIndex.

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

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Paramètres de requête

filter string Facultatif. Expression permettant de filtrer les résultats de la requête.
pageToken string Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy string Facultatif. Liste de champs séparés par une virgule selon lesquels trier les résultats par ordre croissant. Utilisez "desc" après un nom de champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :

Représentation JSON

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

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

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant ProductRecognitionIndex.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Ressource : projects.locations.retailEndpoints

Représentation 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
}

Fields


name

Chaîne

Uniquement en sortie. Nom de ressource de la ressource RetailEndpoint.

displayName

Chaîne

Facultatif. Nom à afficher de RetailEndpoint.

description

Chaîne

Facultatif. Description de RetailEndpoint.

deployedProductRecognitionIndex

Chaîne

Uniquement en sortie. Nom de ressource de ProductRecognitionIndex déployé sur ce RetailEndpoint.

productRecognitionConfig
Objet

Facultatif. Configuration pour la reconnaissance de produits.

tagRecognitionConfig
Objet

Facultatif. Configuration pour la reconnaissance des balises.

resourceState

enum

Uniquement en sortie. État de l'index RetailProductRecognitionIndex.

libellés

map (key: string, value: string)

Libellés avec des métadonnées définies par l'utilisateur pour organiser votre RetailProductRecognitionIndex.

Les clés et les valeurs des libellés ne peuvent pas dépasser 64 caractères (points de code Unicode) et ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.

Pour en savoir plus sur les libellés et obtenir des exemples, consultez https://goo.gl/xmQnxf.

Objet contenant une liste de paires "clé:valeur". Exemple : { "nom": "clé", "masse": "1,3 kg", "nombre": "3" }.

createTime

string (format Timestamp)

Uniquement en sortie. Code temporel de création.

updateTime

string (format Timestamp)

Uniquement en sortie. Code temporel de la mise à jour.

RetailProductRecognitionConfig

Représentation JSON

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

Fields

|

productDetectionModel string Obligatoire. Modèle à utiliser pour détecter les produits dans les images d'entrée. Valeurs acceptées : "builtin/stable" (valeur par défaut) ou nom de la ressource de modèle Vertex AI.
detectionConfidenceThreshold float Facultatif. Seuil de confiance pour filtrer les résultats de la détection. Si aucune valeur n'est définie, une valeur système par défaut sera utilisée.
recognitionConfidenceThreshold float Facultatif. Seuil de confiance permettant de filtrer les résultats de la reconnaissance. Si aucune valeur n'est définie, une valeur système par défaut sera utilisée.
additionalConfig object (format Struct) Facultatif. Configurations supplémentaires pour la reconnaissance de produits.

RetailTagRecognitionConfig

Représentation JSON

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

Fields

tagDetectionModel string Obligatoire. Modèle à utiliser pour détecter les tags dans les images d'entrée. Valeurs acceptées : ressource de modèle Vertex AI.
tagParsingModel string Obligatoire. Modèle permettant d'analyser le texte des balises détectées. Valeurs acceptées : ressource de modèle Vertex AI.
detectionConfidenceThreshold float Facultatif. Seuil de confiance pour filtrer les résultats de la détection. Si aucune valeur n'est définie, une valeur système par défaut sera utilisée.
parsingConfidenceThreshold float Facultatif. Seuil de confiance permettant de filtrer les résultats de l'analyse du texte. Si aucune valeur n'est définie, une valeur système par défaut sera utilisée.
additionalConfig object (format Struct) Facultatif. Configurations supplémentaires pour la reconnaissance des tags.

Méthode : projects.locations.retailEndpoints.create

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Corps de la requête

Le corps de la requête contient une instance de RetailEndpoint.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de RetailEndpoint.

Méthode : projects.locations.retailEndpoints.get

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailEndpoint.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de RetailEndpoint.

Méthode : projects.locations.retailEndpoints.list

Requête HTTP

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

Paramètres de chemin d'accès

parent string Obligatoire. Identifiant parent.

Paramètres de requête

filter string Facultatif. Expression permettant de filtrer les résultats de la requête.
pageToken string Facultatif. Jeton identifiant une page de résultats que le serveur doit renvoyer.
pageSize entier Facultatif. Taille de la page demandée. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.
orderBy string Facultatif. Liste de champs séparés par une virgule selon lesquels trier les résultats par ordre croissant. Utilisez "desc" après un nom de champ pour l'ordre décroissant.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient des données présentant la structure suivante :

Représentation JSON

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

Méthode : projects.locations.retailEndpoints.delete

Requête HTTP

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

Paramètres de chemin d'accès

nom string Obligatoire. Identifiant RetailEndpoint.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est vide.

Méthode : projects.locations.retailEndpoints.deployRetailProductRecognitionIndex

Requête HTTP

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

Paramètres de chemin d'accès

retailEndpoint string Obligatoire. Nom de ressource de la ressource RetailEndpoint dans laquelle RetailProductRecognitionIndex est déployé.

Corps de la requête

Représentation JSON

{
  "retailProductRecognitionIndex": string,
}

Fields

retailProductRecognitionIndex string Obligatoire. Nom de ressource de RetailProductRecognitionIndex à déployer.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Méthode : projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex

Requête HTTP

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

Paramètres de chemin d'accès

retailEndpoint string Obligatoire. Nom de ressource de la ressource RetailEndpoint sur laquelle la suppression du déploiement agira.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Méthode : projects.locations.retailEndpoints.batchAnalyze

Requête HTTP

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

Paramètres de chemin d'accès

retailEndpoint string Obligatoire. Nom de ressource de RetailEndpoint pour diffuser la requête d'inférence.

Corps de la requête

Représentation 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
}

Fields

gcsSource string Obligatoire. Emplacement Cloud Storage pour le contenu d'entrée. Vous pouvez fournir plusieurs lieux de départ. Le contenu de tous les emplacements d'entrée sera traité en un seul lot. Contenu accepté : fichier TXT, chaque ligne correspond au chemin d'accès complet à une image. Vous pouvez utiliser jusqu'à 50 000 images par requête.
outputGcsDestination string Facultatif. Emplacement Cloud Storage du répertoire dans lequel la sortie doit être écrite.
corpus string Facultatif. Nom de ressource du corpus de l'entrepôt d'images. Pas encore compatible.
bigqueryTable string Facultatif. Nom de ressource de la table BigQuery pour les exportations d'annotations. Au format "projects/*/datasets/*/tables/*". Si cette option est définie, les annotations générées à partir de l'inférence ML seront également exportées vers la table BigQuery indiquée. Pas encore compatible.
features[] Objet Obligatoire. Type d'inférence de ML à effectuer.

Fonctionnalité

Représentation JSON

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

Fields

type enum Obligatoire. Type de fonctionnalité.
productRecognitionConfig objet Facultatif. Remplacements par requête pour la fonctionnalité de reconnaissance des produits. Il n'est effectif que si le type est défini sur TYPE_PRODUCT_RECOGNITION.
tagRecognitionConfig objet Facultatif. Remplacements par requête pour la fonctionnalité de reconnaissance des tags. Elle n'est efficace que si le type est défini sur TYPE_TAG_RECOGNITION.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Operation.

Types

GcsSource

Représentation JSON

{
  "uris": [string]
}

Fields

uris[] string Obligatoire. Références à des chemins d'accès Cloud Storage.

Type

Valeurs ENUM

TYPE_UNSPECIFIED Valeur par défaut. Ne doit pas être utilisée.
TYPE_PRODUCT_RECOGNITION Reconnaissance de produits. Doit être utilisé sur un RetailEndpoint avec un RetailProductRecognitionIndex déployé.
TYPE_TAG_RECOGNITION Détection et analyse des tags. Doit être utilisé sur un RetailEndpoint avec RetailTagRecognitionConfig.

RetailProductIoFormat

Représentation JSON

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

Fields

retailProduct objet Obligatoire. RetailProduct à importer
retailProductImages[ ] objet Facultatif. RetailProductImages du RetailProduct donné à importer.

RetailResourceState

Valeurs ENUM

RETAIL_RESOURCE_STATE_UNSPECIFIED Valeur par défaut. Ne doit pas être utilisé.
RETAIL_RESOURCE_STATE_CREATING Création de l'état.
RETAIL_RESOURCE_STATE_CREATED État créé.
RETAIL_RESOURCE_STATE_UPDATING Mise à jour de l'état.
RETAIL_RESOURCE_STATE_DELETED État supprimé.
RETAIL_RESOURCE_STATE_ERROR Erreur d'état.