As imagens de referência são imagens que contêm várias vistas dos seus produtos. Aplicam-se as seguintes recomendações:
- Certifique-se de que o tamanho do ficheiro não excede o tamanho máximo (20 MB).
- Considere pontos de vista que realcem logicamente o produto e contenham informações visuais relevantes.
- Crie imagens de referência que complementem os pontos de vista em falta. Por exemplo, se tiver apenas imagens do sapato direito de um par, forneça versões espelhadas desses ficheiros como o sapato esquerdo.
- Carregue a imagem com a resolução mais alta disponível.
- Mostre o produto num fundo branco.
- Converter PNGs com fundos transparentes num fundo sólido.
As imagens têm de ser armazenadas num contentor do Cloud Storage. Se estiver a autenticar a chamada de criação de imagens com uma chave da API, o contentor tem de ser público. Se estiver a fazer a autenticação com uma conta de serviço, essa conta de serviço tem de ter acesso de leitura no contentor.
Criar uma única imagem de referência
Pode adicionar uma imagem de referência a um produto existente. Em seguida, isto permite-lhe pesquisar o produto pela imagem.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_ID: o ID do produto que está associado a uma imagem de referência. Este ID é definido aleatoriamente ou especificado pelo utilizador no momento da criação do produto.
- CLOUD_STORAGE_IMAGE_URI: o caminho para um ficheiro de imagem válido num contentor do Cloud Storage. Tem de ter, pelo menos, privilégios de leitura para o ficheiro.
Exemplo:
gs://storage-bucket/filename.jpg
Método HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
Corpo JSON do pedido:
{ "uri": "cloud-storage-image-uri", "boundingPolys": [ { "vertices": [ { "x": X_MIN, "y": Y_MIN }, { "x": X_MAX, "y": Y_MIN }, { "x": X_MAX, "y": Y_MAX }, { "x": X_MIN, "y": Y_MAX } ] } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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/products/product-id/referenceImages"
PowerShell
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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/products/product-id/referenceImages" | Select-Object -Expand Content
Se o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK
e a resposta no formato JSON.
Deverá ver uma saída semelhante à seguinte. O pedido de exemplo especificou um único
boundingPoly
na imagem. Os vértices da caixa limitadora não são normalizados. Os valores dos vértices são os valores de píxeis reais e não são relativos à imagem original e são dimensionados de 0 a 1. Estes vértices têm os seguintes
valores: [(33,22),(282,22),(282,278),(33,278)].
{ "name": "projects/project-id/locations/location-id/products/product-id/referenceImages/image-id", "uri": "gs://storage-bucket/filename.jpg", "boundingPolys": [ { "vertices": [ { "x": 33, "y": 22 }, { "x": 282, "y": 22 }, { "x": 282, "y": 278 }, { "x": 33, "y": 278 } ] } ] }
Go
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Criar várias imagens de referência com a importação em massa
Também pode criar imagens de referência ao mesmo tempo que cria um conjunto de produtos e vários produtos.
Crie imagens de referência em massa transmitindo a localização do Cloud Storage de um ficheiro CSV ao método import
. Assim, o ficheiro CSV e as imagens para as quais aponta têm de estar num contentor do Cloud Storage.
Se estiver a autenticar a chamada de importação em massa com uma chave da API, este ficheiro de origem CSV tem de ser público.
Se estiver a fazer a autenticação com uma conta de serviço, essa conta de serviço tem de ter acesso de leitura ao ficheiro de origem CSV.
Formato CSV
image-uri,[image-id],product-set-id,product-id,product-category,[product-display-name],[label(s)],[bounding-poly]
Consulte o tópico de instruções sobre o formato CSV para ver informações mais detalhadas sobre a formatação do seu CSV.
Pedido de criação em massa
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - STORAGE_PATH: um diretório/recipiente do Cloud Storage onde o ficheiro CSV de entrada está armazenado. O utilizador que faz o pedido tem de ter, pelo menos, autorização de leitura para o contentor.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import
Corpo JSON do pedido:
{ "inputConfig": { "gcsSource": { "csvFileUri": "storage-path" } } }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Deverá ver uma saída semelhante à seguinte. Pode usar o ID da operação (f10f34e32c40a710
, neste caso) para obter o estado da tarefa. Por exemplo, consulte o artigo Obter o estado de uma operação:
{ "name": "projects/project-id/locations/location-id/operations/f10f34e32c40a710" }
Após a conclusão da operação de longa duração, pode obter os detalhes da operação de importação. A resposta deve ser semelhante à seguinte:
{ "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
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Indexar
O índice de produtos da Pesquisa de produtos é atualizado aproximadamente a cada 30 minutos. Quando as imagens são adicionadas ou eliminadas, a alteração não é refletida nas suas respostas da Pesquisa de produtos até à próxima atualização do índice.
Para se certificar de que a indexação foi concluída com êxito, verifique o campo
indexTime
de um conjunto de produtos.