Un conjunto de productos es un contenedor simple para un grupo de productos.
Crea un conjunto de productos vacío
Es mejor usar un solo conjunto de productos para todos tus elementos y crear conjuntos de productos adicionales a fin de realizar pruebas cuando lo necesites. En los siguientes códigos de muestra, se indica cómo crear un conjunto de productos vacío.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID es el ID del proyecto de Google Cloud.
- LOCATION_ID: Un identificador de ubicación válido. Los identificadores de ubicación válidos son:
us-west1
,us-east1
,europe-west1
yasia-east1
. - DISPLAY_NAME: El nombre visible de la string que elijas
Método HTTP y URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets
Cuerpo JSON de la solicitud:
{ "displayName": "display-name" }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets" | Select-Object -Expand Content
Si la solicitud se realiza de forma correcta, el servidor muestra un código de estado HTTP 200 OK
y la respuesta en formato JSON.
Deberías ver un resultado similar al siguiente. Puede usar el ID del conjunto de productos (b6d809615b6dd675
, en este caso) para realizar otras operaciones en el conjunto.
{ "name": "projects/project-id/locations/location-id/productSets/b6d809615b6dd675", "displayName": "new-product-set" }
Go
Si quieres obtener información sobre cómo instalar y usar la biblioteca cliente de Product Search de la API de Vision, consulta Bibliotecas cliente de Product Search de la API de Vision. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Product Search Go.
Para autenticar Product Search de la API de Vision, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si quieres obtener información sobre cómo instalar y usar la biblioteca cliente de Product Search de la API de Vision, consulta Bibliotecas cliente de Product Search de la API de Vision. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Product Search Java.
Para autenticar Product Search de la API de Vision, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si quieres obtener información sobre cómo instalar y usar la biblioteca cliente de Product Search de la API de Vision, consulta Bibliotecas cliente de Product Search de la API de Vision. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Product Search Node.js.
Para autenticar Product Search de la API de Vision, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si quieres obtener información sobre cómo instalar y usar la biblioteca cliente de Product Search de la API de Vision, consulta Bibliotecas cliente de Product Search de la API de Vision. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Product Search Python.
Para autenticar Product Search de la API de Vision, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Idiomas adicionales
C#: sigue las instrucciones de configuración de C# en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Product Search de la API de Vision para .NET.
PHP: sigue las instrucciones de configuración de PHP en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Product Search de la API de Vision para PHP.
Ruby: sigue lasInstrucciones de configuración de Ruby en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Product Search de la API de Vision para Ruby.
Usa una importación masiva para crear un conjunto de productos con productos
También puedes usar la función de importación masiva para hacer las siguientes acciones en simultáneo: crear un conjunto de productos, crear productos múltiples y sus imágenes de referencia.
Se establecen varias referencias para el conjunto de productos, los productos y las imágenes de referencia en el archivo CSV de importación masiva que uses. Para obtener más información, consulta Da formato a un archivo CSV de importación masiva.
Realiza una importación masiva mediante la ejecución del siguiente código:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID es el ID del proyecto de Google Cloud.
- LOCATION_ID: Un identificador de ubicación válido. Los identificadores de ubicación válidos son:
us-west1
,us-east1
,europe-west1
yasia-east1
. - STORAGE_PATH: Un depósito o directorio de Cloud Storage en los que se almacena el archivo CSV de entrada. El usuario que realice la solicitud debe tener, como mínimo, permiso de lectura en el bucket
Método HTTP y URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import
Cuerpo JSON de la solicitud:
{ "inputConfig": { "gcsSource": { "csvFileUri": "storage-path" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import" | Select-Object -Expand Content
Deberías ver un resultado similar al siguiente. Puedes usar el ID de operación (f10f34e32c40a710
, en este caso) para obtener el estado de la tarea. Para ver un ejemplo, consulta Obtén el estado de una operación:
{ "name": "projects/project-id/locations/location-id/operations/f10f34e32c40a710" }
Una vez que se complete la operación de larga duración, puedes obtener los detalles de la operación de importación. La respuesta debería ser similar a la siguiente:
{ "name": "locations/location-id/operations/f10f34e32c40a710", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-12-06T21:16:04.476466873Z", "endTime": "2019-12-06T21:16:40.594258084Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.ImportProductSetsResponse", "referenceImages": [ { "name": "projects/project-id/locations/location-id/products/product_id0/referenceImages/image0", "uri": "gs://my-storage-bucket/img_039.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id1/referenceImages/image1", "uri": "gs://my-storage-bucket/img_105.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id2/referenceImages/image2", "uri": "gs://my-storage-bucket/img_224.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id3/referenceImages/image3", "uri": "gs://my-storage-bucket/img_385.jpg" } ], "statuses": [ {}, {}, {}, {} ] } }
Go
Si quieres obtener información sobre cómo instalar y usar la biblioteca cliente de Product Search de la API de Vision, consulta Bibliotecas cliente de Product Search de la API de Vision. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Product Search Go.
Para autenticar Product Search de la API de Vision, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si quieres obtener información sobre cómo instalar y usar la biblioteca cliente de Product Search de la API de Vision, consulta Bibliotecas cliente de Product Search de la API de Vision. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Product Search Java.
Para autenticar Product Search de la API de Vision, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si quieres obtener información sobre cómo instalar y usar la biblioteca cliente de Product Search de la API de Vision, consulta Bibliotecas cliente de Product Search de la API de Vision. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Product Search Node.js.
Para autenticar Product Search de la API de Vision, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si quieres obtener información sobre cómo instalar y usar la biblioteca cliente de Product Search de la API de Vision, consulta Bibliotecas cliente de Product Search de la API de Vision. Si quieres obtener más información, consulta la documentación de referencia de la API de Vision para Product Search Python.
Para autenticar Product Search de la API de Vision, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Idiomas adicionales
C#: sigue las instrucciones de configuración de C# en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Product Search de la API de Vision para .NET.
PHP: sigue las instrucciones de configuración de PHP en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Product Search de la API de Vision para PHP.
Ruby: sigue lasInstrucciones de configuración de Ruby en la página Bibliotecas cliente y, luego, visita la documentación de referencia de Product Search de la API de Vision para Ruby.
Obtén el estado de una operación
Varias de las operaciones que solicitas son de larga duración, como la creación de conjuntos de productos mediante la importación masiva, y la eliminación definitiva de un conjunto de productos y de productos huérfanos. Estos tipos de solicitud mostrarán un JSON con un ID de operación que puedes usar para obtener el estado de la operación.
Por ejemplo, una solicitud de eliminación por lotes (purge
) muestra el siguiente JSON:
{ "name": "projects/project-id/locations/location-id/operations/bc4e1d412863e626" }
En este caso, el ID de operación es bc4e1d412863e626
. En los siguientes ejemplos, se muestra cómo obtener el estado de esta operación con este ID.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID es el ID del proyecto de Google Cloud.
- LOCATION_ID: Un identificador de ubicación válido. Los identificadores de ubicación válidos son los siguientes:
us-west1
,us-east1
,europe-west1
yasia-east1
. - OPERATION_ID: El ID de la operación. El ID es el último elemento del nombre de la operación. Por ejemplo:
- Nombre de la operación:
projects/PROJECT_ID/locations/LOCATION_ID/operations/bc4e1d412863e626
- ID de la operación:
bc4e1d412863e626
- Nombre de la operación:
Método HTTP y URL:
GET https://vision.googleapis.com/v1/locations/location-id/operations/operation-id
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
"https://vision.googleapis.com/v1/locations/location-id/operations/operation-id"
PowerShell
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://vision.googleapis.com/v1/locations/location-id/operations/operation-id" | Select-Object -Expand Content
{ "name": "locations/location-id/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-09-04T15:58:39.131591882Z", "endTime": "2019-09-04T15:58:43.099020580Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.PurgeProductsRequest", "parent": "projects/project-id/locations/location-id", "productSetPurgeConfig": { "productSetId": "project-set-id" }, "force": true } }
Deberías ver un resultado similar al siguiente para una operación de eliminación definitiva de productos huérfanos completada:
{ "name": "locations/location-id/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-09-04T16:08:38.278197397Z", "endTime": "2019-09-04T16:08:45.075778639Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.PurgeProductsRequest", "parent": "projects/project-id/locations/location-id", "deleteOrphanProducts": true, "force": true } }