제품 인식기 모델은 제공된 이미지에 어떤 제품이 있는지 인식하고 이해하는 데 도움이 됩니다. 이미지에는 인식하려는 단일 제품 항목만 포함되어야 합니다.
이 모델은 오프라인 매장에서 캡처할 수 있는 제품 이미지 데이터를 분석하고 해석하는 기본 AI 빌딩 블록으로 사용할 수 있습니다.
태그 인식기 및 제품 인식기 사용 사례
제품 인식기 및 태그 인식기 모델은 소매점에서 캡처했을 수 있는 제품 및 태그 이미지 데이터에 관한 이미지 데이터를 분석하고 해석하는 기본 AI 빌딩 블록으로 사용할 수 있습니다.
제품 인식기 및 태그 인식기 모델은 소매업체 및/또는 기술 파트너가 다음과 같은 제품 및 가격표 이미지 데이터를 이해하는 데 있어 주요 문제를 해결할 수 있도록 여러 핵심 Google AI 모델링 및 데이터 기능을 통합합니다.
- 인식: 이미지에 있는 제품을 이해합니다.
- 사용자 정의 키-값 쌍 항목 추출 스키마에 따라 태그 (예: 가격 태그 또는 기타 텍스트 라벨 태그)를 인식하고 파싱합니다.
특히 다음과 같은 사용 사례 문제 해결을 지원하기 위해 차별화된 Google AI 모델이 여러 개 포함되어 있습니다.
- 제품 썸네일 이미지를 숫자 특징 공간 표현으로 변환하는 제품 썸네일 시각적 임베딩 모델
- 이미지에 표시된 모든 텍스트를 추출하는 Google OCR 모델
- 맞춤설정할 수 있는 Google 항목 추출 모델로, 원시 텍스트를 사용자 정의 키-값 쌍 명명된 항목으로 변환합니다.
이러한 Google AI 모델 외에도 제품 인식기는 Google의 대규모 제품 정보 데이터베이스를 활용합니다. 이 제품 데이터베이스의 제품 데이터에는 제품의 GTIN / UPC ID, 제품 브랜드, 제품명, 교차 언어 설명, 제품 로고, 다양한 포장재가 포함된 이미지가 포함됩니다. 앞서 언급한 제품 썸네일 시각적 임베딩 모델이 포함된 제품 데이터베이스를 사용하면 제품 인식기 모델이 많은 제품을 즉시 인식할 수 있습니다.
주요 AI 기능은 제품 인식기 및 태그 인식기 모델입니다.
제품 인식기 기능
이 모델은 국제거래단품식별코드 (GTIN) 수준 또는 세계상품코드 (UPC) 수준에서 개별 제품 ID를 인식합니다. 이러한 사용 사례 문제 해결을 지원하기 위해 제품 인식기에 다음과 같은 차별화된 Google AI 모델이 포함되어 있습니다.
- 제품 이미지를 숫자 기능 공간 표현으로 변환하는 제품 시각적 임베딩 모델
- 이미지에 표시된 모든 텍스트를 추출하는 Google OCR 기술
- 제품 썸네일 시각적 임베딩 모델과 함께 사용되는 Google 제품 데이터베이스를 통해 제품 인식기 모델이 많은 제품을 즉시 인식할 수 있습니다.
출력 JSON 객체 예시
{
"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"
},
}
]
}
]
}API 개념
제품 인식 서비스의 제품 카탈로그, 제품 데이터 세트 관리, 색인 빌드, 배포를 빌드하는 데 도움이 되는 API 리소스가 6개 제공됩니다. 다음과 같이 설명되어 있습니다.

카탈로그: 소매업체에서 제공하는 모든 제품의 컨테이너를 나타내는 루트 리소스입니다.
제품: 판매자가 제공하는 제품을 나타냅니다. Product은 Catalog의 하위 리소스입니다.
ProductImage: 하나의 제품을 나타내는 이미지입니다. ProductImage은 Product의 하위 리소스입니다.
ProductSet: 동일한 Catalog에서 제품을 정리하고 그룹화하는 데 사용되는 더 세부적인 컨테이너입니다. 하나의 ProductSet에는 하나 이상의 Product가 포함될 수 있지만 포함된 Product를 '소유'하지는 않고 대신 Product에 대한 '링크'를 유지합니다.
ProductRecognitionIndex: 제품 인식 알고리즘에 사용되는 이미지 임베딩 목록을 포함합니다. ProductRecognitionIndex는 전체 Catalog 또는 ProductSet (Catalog의 Product 하위 집합)에서 만들 수 있습니다.
엔드포인트: 제품 인식 또는 태그 인식 추론을 실행하는 데 필요한 모든 구성을 전달하는 게재위치입니다. 제품 인식의 경우 ProductRecognitionIndex를 배포해야 합니다.
태그 인식의 경우 태그 항목 파싱 모델을 지정해야 합니다.
환경 설정
이 섹션에서는 Store Vision AI RESTful API와 상호작용하는 방법을 설명합니다.
API_ENDPOINT=visionai.googleapis.com
PROJECT_ID=your project ID
모든 create 메서드는 생성될 리소스 이름/ID를 명시적으로 지정해야 합니다. 의미 있는 문자열 식별자(예: 'product-ABC') 또는 무작위로 생성된 식별자(예: UUID)를 사용할 수 있습니다.
사용자에게 스토어 Vision API를 사용할 수 있는 편집자 액세스 권한을 부여하려면 다음 IAM 바인딩 명령어를 실행하세요.
gcloud projects add-iam-policy-binding PROJECT_ID --member='user:USER_ACCOUNT' --role='roles/visionai.editor'
서비스 계정에 편집자 액세스 권한을 부여하려면 아래 명령어를 사용하세요.
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:SERVICE_ACCOUNT' --role='roles/visionai.editor'
제품 인식기 사용자 여정
- 카탈로그를 만듭니다.
- 제품과 (선택사항)
ProductImages를Catalog로 가져옵니다. Product및ProductImages를 보고 수정하며, 원하는 경우ProductSet를 만들어 제품 목록을 더 세분화하여 정리합니다.- 전체
Catalog또는ProductSet에서Index를 만듭니다. - 원하는 제품 인식 구성으로
Endpoint를 만들고Index를 여기에 배포합니다. ProductRecognition기능으로BatchAnalyze실행 백엔드에서 시스템은 각 입력 이미지의 제품을 식별하고 시각적 신호와 OCR 텍스트 신호를 모두 사용하여 지정된 색인에서 상위 K개의 유사한 제품을 가져옵니다.
API 리소스 관리 (카탈로그 및 색인 세트)
카탈로그
카탈로그 만들기
- CATALOG_ID=카탈로그 ID입니다.
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
출력 예
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": false
}
완료될 때까지 작업 가져오기
- OPERATION_ID=출력 작업(예: 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
출력 예
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": true
}
ImportProduct
지원되는 가져오기 형식은 두 가지입니다.
- TXT: 각 줄은 가져올 제품의 GTIN입니다.
- JSONL: 각 줄은 RetailProductIoFormat의 JSON 형식입니다. 예를 들면 다음과 같습니다.
{"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"}}}
RetailProductIoFormat에 대한 자세한 내용은 API 참조를 확인하세요. 현재 ImportProduct 작업당 최대 10,000개의 제품을 가져올 수 있습니다.
또한 'retailProductImages' 내의 'name'은 상위 'retailProduct' 리소스 범위 내에서만 고유하면 됩니다. 즉, 서로 다른 'retailProduct' 리소스에 속하는 한 'name'이 동일한 'retailProductImages'가 2개 있을 수 있습니다.
- IMPORT_FILE_URI=가져오기 파일 Cloud Storage URI(예: gs://mybucket/my_import_file.jsonl)
- IMPORT_FORMAT=가져오기 파일 형식(FORMAT_JSONL 또는 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"
}'
카탈로그 나열
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
Product
GTIN으로 CreateProduct
GTIN-8, GTIN-13, GTIN-14, UPC(GTIN-12라고도 함) 형식이 지원됩니다. 여기에서 GTIN 형식에 대해 자세히 알아보세요.
- PRODUCT_ID=제품 ID
- GTIN=제품의 GTIN입니다(예: 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"}'
서드 파티 ID가 있는 CreateProduct
- PRODUCT_ID=제품 ID
- THIRD_PARTY_ID=서드 파티 ID
- OWNER=서드 파티 식별자를 소유한 엔티티
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
- IMAGE_GCS_URI=이미지 Cloud Storage URI(예: 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
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
ProductRecognitionIndex를 만드는 방법에는 두 가지가 있습니다. Catalog에서 만드는 방법과 ProductSet에서 만드는 방법입니다. Catalog에서 만들면 이 Catalog에 포함된 모든 항목이 사용되고 ProductSet에서 만들면 연결된 제품과 제품 이미지만 사용됩니다.
- INDEX_ID=색인 ID
- COVERAGE_CSV_OUTPUT_DIRECTORY=<색인 범위 파일이 기록될 디렉터리의 Cloud Storage 위치
# 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
ProductRecognitionIndex 나열
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes
Delete ProductRecognitionIndex
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
엔드포인트
엔드포인트 만들기
- ENDPOINT_ID=엔드포인트 ID
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
엔드포인트는 하나의 ProductRecognitionIndex로만 배포할 수 있지만 하나의 ProductRecognitionIndex는 여러 엔드포인트에 배포할 수 있습니다.
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는 배포된 ProductRecognitionIndex를 현재 호출 엔드포인트에서만 삭제하며, 이 ProductRecognitionIndex가 다른 엔드포인트에도 배포된 경우 다른 엔드포인트에는 영향을 미치지 않습니다.
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
일괄 분석 추론 (제품 인식)
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=입력 파일의 Cloud Storage URI> 입력 파일의 각 행은 처리할 이미지의 Cloud Storage URI입니다(예: gs://my-bucket/my-image.jpg).
- OUTPUT_URI_PREFIX=출력 결과 파일의 Cloud Storage URI 접두사입니다(예: 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
}
}
],
RetailProductRecognitionConfig 객체인 productRecognitionConfig에서 설정하고 구성할 수 있는 필드도 더 있습니다.
자세한 내용은 API 참조의 리소스 설명을 참고하세요.
API 참조
리소스: projects.locations.retailCatalogs
JSON 표현
{
"name": string,
"displayName": string,
"createTime": string,
"updateTime": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
}
필드
name |
문자열 |
출력 전용입니다. RetailCatalog의 리소스 이름입니다. |
|---|---|---|
displayName |
문자열 |
선택사항입니다. RetailCatalog의 표시 이름입니다. |
createTime |
string (Timestamp 형식) |
출력 전용입니다. 이 RetailCatalog가 생성된 타임스탬프입니다. |
updateTime |
string (Timestamp 형식) |
출력 전용입니다. 업데이트 타임스탬프입니다. |
resourceState |
enum |
출력 전용입니다. RetailCatalog의 상태입니다. |
| 라벨 개 |
map (key: string, value: string) |
RetailCatalog를 정리하는 사용자 정의 메타데이터가 있는 라벨입니다. 라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다. 라벨에 대한 자세한 내용과 예는 https://goo.gl/xmQnxf를 참고하세요. '키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
메서드: projects.locations.retailCatalogs.create
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
요청 본문
요청 본문에 RetailCatalog의 인스턴스가 포함됩니다.
응답 본문
성공한 경우 응답 본문에 새로 생성된 RetailCatalog 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.get
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailCatalog 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 RetailCatalog의 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.list
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
쿼리 파라미터
| filter | 문자열 | 선택사항입니다. 요청 결과를 필터링하는 표현식입니다. |
|---|---|---|
| pageToken | 문자열 | 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다. |
| pageSize | 정수 | 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다. |
| orderBy | 문자열 | 선택사항입니다. 정렬할 쉼표로 구분된 필드로, 오름차순으로 정렬됩니다. 내림차순으로 정렬할 경우 필드 이름 뒤에 'desc'를 사용합니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공하면 응답 본문에 다음과 같은 구조의 데이터가 포함됩니다. JSON 표현
{
"retailCatalogs": [
{
object (RetailCatalog)
}
],
"nextPageToken": string
}
메서드: projects.locations.retailCatalogs.delete
HTTP 요청
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailCatalog 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.importRetailProducts
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}:importRetailProducts
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailCatalog 리소스 이름입니다. |
요청 본문
JSON 표현
{
"gcsSource": { object(GcsSource) },
"format": enum(Format)
}
필드
| gcsSource | 객체 | 필수 항목입니다. 입력 콘텐츠의 Cloud Storage 위치입니다.
여러 입력 위치를 제공할 수 있습니다. 모든 입력 위치의 콘텐츠가 한 번에 가져옵니다. 지원되는 파일 확장자: 1.
JSONL 파일입니다. 각 줄은 RetailProductIoFormat의 JSON 형식입니다. 2. TXT 파일 각 줄은 가져올 제품의 GTIN입니다. |
| format | enum | 필수 항목입니다. 가져오기 파일 형식입니다. |
ENUM 값 형식 지정
| FORMAT_UNSPECIFIED | 사용해서는 안 됩니다. |
|---|---|
| FORMAT_TXT | TXT 형식입니다. |
| FORMAT_JSONL | JSONL 형식입니다. |
응답 본문
성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.
리소스: projects.locations.retailProducts
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
}
필드
name |
문자열 |
출력 전용입니다. RetailProductImage의 리소스 이름입니다. |
|---|---|---|
displayName |
문자열 |
선택사항입니다. RetailProductImage의 표시 이름입니다. |
sourceType |
enum |
선택사항입니다. 소스 유형 |
gcsUri |
문자열 |
선택사항입니다. RetailProductImage의 Cloud Storage 위치입니다. 소스 유형이 SOURCE_TYPE_GOOGLE인 경우와 같이 이미지를 Google에서 제공하는 경우를 제외하고 설정해야 합니다. |
resourceState |
enum |
출력 전용입니다. RetailProductImage의 상태입니다. |
| 라벨 개 |
map (key: string, value: string) |
RetailProductImage를 정리하는 사용자 정의 메타데이터가 있는 라벨입니다. 라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다. 라벨에 관한 자세한 내용과 예는 https://goo.gl/xmQnxf를 참고하세요. '키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (Timestamp 형식) |
출력 전용입니다. 생성 타임스탬프입니다. |
updateTime |
string (Timestamp 형식) |
출력 전용입니다. 업데이트 타임스탬프입니다. |
RetailThirdPartyId JSON 표현
{
"id": string,
"owner": string
}
필드
| id | 문자열 | 소매업체 또는 제조업체에서 사용하는 서드 파티 ID입니다(예: SKU 또는 MPN). |
| owner | 문자열 | 서드 파티 식별자를 '소유'하는 법인입니다(예: 제조업체 또는 이 제품을 판매하는 소매업체). |
메서드: projects.locations.retailCatalogs.retailProducts.create
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
요청 본문
요청 본문에 RetailProduct의 인스턴스가 포함됩니다.
응답 본문
성공한 경우 응답 본문에 새로 생성된 RetailProduct 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProducts.get
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProduct 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 RetailProduct의 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProducts.list
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
쿼리 파라미터
| filter | 문자열 | 선택사항입니다. 요청 결과를 필터링하는 표현식입니다. |
|---|---|---|
| pageToken | 문자열 | 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다. |
| pageSize | 정수 | 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다. |
| orderBy | 문자열 | 선택사항입니다. 정렬할 쉼표로 구분된 필드로, 오름차순으로 정렬됩니다. 내림차순으로 정렬할 경우 필드 이름 뒤에 'desc'를 사용합니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공하면 응답 본문에 다음과 같은 구조의 데이터가 포함됩니다. JSON 표현
{
"retailProducts": [
{
object (RetailProducts)
}
],
"nextPageToken": string
}
메서드: projects.locations.retailCatalogs.retailProducts.delete
HTTP 요청
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProduct 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문은 비어 있습니다.
리소스: projects.locations.retailProductImages
JSON 표현
{
"name": string,
"displayName": string,
"sourceType": enum(SourceType),
"gcsUri": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
필드
name |
문자열 |
출력 전용입니다. RetailProductImage의 리소스 이름입니다. |
|---|---|---|
displayName |
문자열 |
선택사항. RetailProductImage의 표시 이름입니다. |
sourceType |
enum |
선택사항. 소스 유형 |
gcsUri |
문자열 |
선택사항. RetailProductImage의 Cloud Storage 위치입니다. 소스 유형이 SOURCE_TYPE_GOOGLE인 경우와 같이 이미지를 Google에서 제공하는 경우를 제외하고 설정해야 합니다. |
resourceState |
enum |
출력 전용입니다. RetailProductImage의 상태입니다. |
| 라벨 개 |
map (key: string, value: string) |
RetailProductImage를 정리하는 사용자 정의 메타데이터가 있는 라벨입니다. 라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다. 라벨에 관한 자세한 내용과 예는 https://goo.gl/xmQnxf를 참고하세요. '키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (Timestamp 형식) |
출력 전용입니다. 생성 타임스탬프입니다. |
updateTime |
string (Timestamp 형식) |
출력 전용입니다. 업데이트 타임스탬프입니다. |
SourceType ENUM 값
| SOURCE_TYPE_UNSPECIFIED | 알 수 없는 데이터 소스입니다. 사용해서는 안 됩니다. |
|---|---|
| SOURCE_TYPE_FIXED_CAMERA | 고정된 카메라에서 이미지가 캡처됩니다. |
| SOURCE_TYPE_HAND_HELD_CAMERA | 휴대용 카메라에서 이미지를 캡처합니다. |
| SOURCE_TYPE_CRAWLED | 이미지가 웹에서 크롤링됩니다. |
| SOURCE_TYPE_SYSTEM_GENERATED | 이미지가 수동 라벨링이 적용된 원본 이미지에서 잘렸습니다. |
메서드: projects.locations.retailCatalogs.retailProducts.retailProductImages.create
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
요청 본문
요청 본문에 RetailProductImage의 인스턴스가 포함됩니다.
응답 본문
성공한 경우 응답 본문에 새로 생성된 RetailProductImage 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProducts.retailProductImages.get
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProductImage 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 RetailProductImage의 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProducts.retailProductImages.list
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
쿼리 파라미터
| filter | 문자열 | 선택사항입니다. 요청 결과를 필터링하는 표현식입니다. |
|---|---|---|
| pageToken | 문자열 | 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다. |
| pageSize | 정수 | 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다. |
| orderBy | 문자열 | 선택사항입니다. 정렬할 쉼표로 구분된 필드로, 오름차순으로 정렬됩니다. 내림차순으로 정렬할 경우 필드 이름 뒤에 'desc'를 사용합니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
JSON 표현
{
"retailProductImages": [
{
object (RetailProductImages)
}
],
"nextPageToken": string
}
메서드: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete
HTTP 요청
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProductImage 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문은 비어 있습니다.
리소스: projects.locations.retailCatalogs.retailProductSets
JSON 표현
{
"name": string,
"displayName": string,
"retailProductIds": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
필드
name |
문자열 |
출력 전용입니다. RetailProductSet의 리소스 이름입니다. |
|---|---|---|
displayName |
문자열 |
선택사항입니다. RetailProductSet의 표시 이름입니다. |
retailProductIds [] |
문자열 |
출력 전용입니다. 이 RetailProductSet에 속한 제품의 리소스 ID입니다. RetailProductSet의 제품은 동일한 카탈로그에 있어야 합니다. |
resourceState |
enum |
출력 전용입니다. RetailProductSet의 상태입니다. |
| 라벨 개 |
map (key: string, value: string) |
RetailProductSet을 정리하는 사용자 정의 메타데이터가 있는 라벨입니다. 라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다. 라벨에 관한 자세한 내용과 예는 https://goo.gl/xmQnxf를 참고하세요. '키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (Timestamp 형식) |
출력 전용입니다. 생성 타임스탬프입니다. |
updateTime |
string (Timestamp 형식) |
출력 전용입니다. 업데이트 타임스탬프입니다. |
메서드: projects.locations.retailCatalogs.retailProductSets.create
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
요청 본문
요청 본문에는 RetailProductSet의 인스턴스가 포함됩니다.
응답 본문
성공한 경우 응답 본문에 새로 생성된 RetailProductSet 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProductSets.get
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProductSet 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공하면 응답 본문에 RetailProductSet 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProductSets.list
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
쿼리 파라미터
| filter | 문자열 | 선택사항입니다. 요청 결과를 필터링하는 표현식입니다. |
|---|---|---|
| pageToken | 문자열 | 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다. |
| pageSize | 정수 | 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다. |
| orderBy | 문자열 | 선택사항입니다. 정렬할 쉼표로 구분된 필드로, 오름차순으로 정렬됩니다. 내림차순으로 정렬할 경우 필드 이름 뒤에 'desc'를 사용합니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
JSON 표현
{
"retailProductSets": [
{
object (RetailProductSets)
}
],
"nextPageToken": string
}
메서드: projects.locations.retailCatalogs.retailProductSets.delete
HTTP 요청
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProductSet 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문은 비어 있습니다.
메서드: projects.locations.retailCatalogs.retailProductSets.add
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:remove
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProductSet 리소스 이름입니다. |
요청 본문
JSON 표현
{
"productIds": [string],
"productFilter": string
}
필드
productIds[ ] |
문자열 |
추가할 RetailProducts의 리소스 ID입니다. 모두 지정된 대상 RetailProductSet과 동일한 RetailCatalog에 속해야 합니다. 한 요청에 최대 200개의 RetailProducts ID를 지정할 수 있습니다. productFilter와 함께 사용할 수 없습니다. |
|---|---|---|
productFilter |
문자열 |
상위 RetailCatalog의 모든 RetailProduct에 적용되는 표준 필터로, 필터 조건을 충족하는 항목을 선택하여 RetailProductSet에 추가합니다. product_ids와 함께 사용할 수 없습니다. 지원되는 필터: https://google.aip.dev/160 |
응답 본문
성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProductSets.remove
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:add
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProductSet 리소스 이름입니다. |
요청 본문
JSON 표현
{
"productIds": [string],
"productFilter": string
}
필드
productIds[ ] |
문자열 |
삭제할 RetailProduct의 리소스 ID입니다. 지정된 RetailProducts가 이 RetailProductSet에 속하지 않으면 무시됩니다. 한 요청에 최대 200개의 RetailProducts ID를 지정할 수 있습니다. products_filter와 함께 사용할 수 없습니다. |
|---|---|---|
productFilter |
문자열 |
지정된 RetailProductSet의 모든 RetailProduct에 적용되는 표준 필터로, 필터 조건을 충족하는 항목을 선택하여 RetailProductSet에서 삭제합니다. product_ids와 함께 사용할 수 없습니다. 지원되는 필터:https://google.aip.dev/160 |
응답 본문
성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.
리소스: projects.locations.retailCatalogs.retailProductRecognitionIndexes
JSON 표현
{
"name": string,
"displayName": string,
"description": string,
"retailProductSet": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
필드
name |
문자열 |
출력 전용입니다. RetailProductRecognitionIndex 리소스의 리소스 이름입니다. |
|---|---|---|
displayName |
문자열 |
선택사항. RetailProductRecognitionIndex의 표시 이름입니다. |
설명 |
문자열 |
선택사항. RetailProductRecognitionIndex의 설명입니다. |
retailProductSet[] |
문자열 |
선택사항. 이 리소스를 만드는 데 사용할 RetailProductSet의 리소스 이름입니다. 설정된 경우 RetailProductRecognitionIndex에는 지정된 RetailProductSet의 제품만 포함됩니다. 설정하지 않으면 상위 카탈로그의 모든 제품이 사용됩니다. |
resourceState |
enum |
출력 전용입니다. RetailProductRecognitionIndex의 상태입니다. |
| 라벨 개 |
map (key: string, value: string) |
RetailProductRecognitionIndex를 정리하는 사용자 정의 메타데이터가 있는 라벨입니다. 라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다. 라벨에 관한 자세한 내용과 예는 https://goo.gl/xmQnxf를 참고하세요. '키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (Timestamp 형식) |
출력 전용입니다. 생성 타임스탬프입니다. |
updateTime |
string (Timestamp 형식) |
출력 전용입니다. 업데이트 타임스탬프입니다. |
메서드: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
요청 본문
요청 본문에 RetailProductRecognitionIndex의 인스턴스가 포함됩니다.
응답 본문
성공한 경우 응답 본문에 새로 생성된 RetailProductRecognitionIndex 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailProductRecognitionIndex 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공하면 응답 본문에 RetailProductRecognitionIndex 인스턴스가 포함됩니다.
메서드: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
쿼리 파라미터
| filter | 문자열 | 선택사항입니다. 요청 결과를 필터링하는 표현식입니다. |
|---|---|---|
| pageToken | 문자열 | 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다. |
| pageSize | 정수 | 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다. |
| orderBy | 문자열 | 선택사항입니다. 정렬할 쉼표로 구분된 필드로, 오름차순으로 정렬됩니다. 내림차순으로 정렬할 경우 필드 이름 뒤에 'desc'를 사용합니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
JSON 표현
{
"retailProductRecognitionIndexes": [
{
object (RetailProductRecognitionIndex)
}
],
"nextPageToken": string
}
메서드: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete
HTTP 요청
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. ProductRecognitionIndex 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.
리소스: projects.locations.retailEndpoints
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
}
필드
name |
문자열 |
출력 전용입니다. RetailEndpoint 리소스의 리소스 이름입니다. |
|---|---|---|
displayName |
문자열 |
선택사항. RetailEndpoint의 표시 이름입니다. |
설명 |
문자열 |
선택사항. RetailEndpoint에 대한 설명입니다. |
deployedProductRecognitionIndex |
문자열 |
출력 전용입니다. 이 RetailEndpoint에 배포된 ProductRecognitionIndex의 리소스 이름입니다. |
productRecognitionConfig |
객체 |
선택사항. 제품 인식 구성입니다. |
tagRecognitionConfig |
객체 |
선택사항. 태그 인식 구성입니다. |
resourceState |
enum |
출력 전용입니다. RetailProductRecognitionIndex의 상태입니다. |
| 라벨 개 |
map (key: string, value: string) |
RetailProductRecognitionIndex를 정리하는 사용자 정의 메타데이터가 있는 라벨입니다. 라벨 키와 값은 64자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. 국제 문자는 허용됩니다. 라벨에 관한 자세한 내용과 예는 https://goo.gl/xmQnxf를 참고하세요. '키': 값 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (Timestamp 형식) |
출력 전용입니다. 생성 타임스탬프입니다. |
updateTime |
string (Timestamp 형식) |
출력 전용입니다. 업데이트 타임스탬프입니다. |
RetailProductRecognitionConfig
JSON 표현
{
"productDetectionModel": string,
"detectionConfidenceThreshold": float,
"recognitionConfidenceThreshold": float,
"additionalConfig": { object }
}
필드
|
| productDetectionModel | 문자열 | 필수 항목입니다. 입력 이미지에서 제품을 감지하는 데 사용할 모델입니다. 지원되는 값: 'builtin/stable' (기본값) 또는 Vertex AI 모델 리소스 이름 |
|---|---|---|
| detectionConfidenceThreshold | float | 선택사항입니다. 감지 결과를 필터링하는 신뢰도 기준점입니다. 설정하지 않으면 시스템 기본값이 사용됩니다. |
| recognitionConfidenceThreshold | float | 선택사항입니다. 인식 결과를 필터링하는 신뢰도 기준점입니다. 설정하지 않으면 시스템 기본값이 사용됩니다. |
| additionalConfig | object(Struct format) | 선택사항입니다. 제품 인식의 추가 구성입니다. |
RetailTagRecognitionConfig
JSON 표현
{
"tagDetectionModel": string,
"tagParsingModel": string,
"detectionConfidenceThreshold": float,
"parsingConfidenceThreshold": float,
"additionalConfig": { object }
}
필드
| tagDetectionModel | 문자열 | 필수 항목입니다. 입력 이미지에서 태그를 감지하는 데 사용할 모델입니다. 지원되는 값: Vertex AI 모델 리소스 |
|---|---|---|
| tagParsingModel | 문자열 | 필수 항목입니다. 감지된 태그의 텍스트를 파싱하는 모델입니다. 지원되는 값: Vertex AI 모델 리소스 |
| detectionConfidenceThreshold | float | 선택사항입니다. 감지 결과를 필터링하는 신뢰도 기준점입니다. 설정하지 않으면 시스템 기본값이 사용됩니다. |
| parsingConfidenceThreshold | float | 선택사항입니다. 텍스트 파싱 결과를 필터링하는 신뢰도 임곗값입니다. 설정하지 않으면 시스템 기본값이 사용됩니다. |
| additionalConfig | object(Struct format) | 선택사항입니다. 태그 인식을 위한 추가 구성입니다. |
메서드: projects.locations.retailEndpoints.create
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
요청 본문
요청 본문에 RetailEndpoint의 인스턴스가 포함됩니다.
응답 본문
성공한 경우 응답 본문에 새로 생성된 RetailEndpoint 인스턴스가 포함됩니다.
메서드: projects.locations.retailEndpoints.get
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*}
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailEndpoint 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 RetailEndpoint의 인스턴스가 포함됩니다.
메서드: projects.locations.retailEndpoints.list
HTTP 요청
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
경로 매개변수
| parent | 문자열 | 필수 항목입니다. 상위 식별자입니다. |
쿼리 파라미터
| filter | 문자열 | 선택사항입니다. 요청 결과를 필터링하는 표현식입니다. |
|---|---|---|
| pageToken | 문자열 | 선택사항입니다. 서버에서 반환할 결과 페이지를 식별하는 토큰입니다. |
| pageSize | 정수 | 선택사항입니다. 요청한 페이지 크기입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다. |
| orderBy | 문자열 | 선택사항입니다. 정렬할 쉼표로 구분된 필드로, 오름차순으로 정렬됩니다. 내림차순으로 정렬할 경우 필드 이름 뒤에 'desc'를 사용합니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
JSON 표현
{
"retailEndpoints": [
{
object (RetailEndpoint)
}
],
"nextPageToken": string
}
메서드: projects.locations.retailEndpoints.delete
HTTP 요청
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*
경로 매개변수
| name | 문자열 | 필수 항목입니다. RetailEndpoint 식별자입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문은 비어 있습니다.
메서드: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:deployRetailProductRecognitionIndex
경로 매개변수
| retailEndpoint | 문자열 | 필수 항목입니다. RetailProductRecognitionIndex이 배포되는 RetailEndpoint 리소스의 리소스 이름입니다. |
요청 본문
JSON 표현
{
"retailProductRecognitionIndex": string,
}
필드
| retailProductRecognitionIndex | 문자열 | 필수 항목입니다. 배포할 RetailProductRecognitionIndex의 리소스 이름입니다. |
응답 본문
성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.
메서드: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:undeployRetailProductRecognitionIndex
경로 매개변수
| retailEndpoint | 문자열 | 필수 항목입니다. 배포 취소가 실행될 RetailEndpoint 리소스의 리소스 이름입니다. |
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.
메서드: projects.locations.retailEndpoints.batchAnalyze
HTTP 요청
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:batchAnalyze
경로 매개변수
| retailEndpoint | 문자열 | 필수 항목입니다. 추론 요청을 처리할 RetailEndpoint의 리소스 이름입니다. |
요청 본문
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
}
필드
| gcsSource | 문자열 | 필수 항목입니다. 입력 콘텐츠의 Cloud Storage 위치입니다. 여러 입력 위치를 제공할 수 있습니다. 모든 입력 위치의 콘텐츠는 한 번에 일괄 처리됩니다. 지원되는 콘텐츠: TXT 파일, 각 줄은 이미지의 전체 경로입니다. 한 요청에서 최대 50,000개의 이미지를 지원할 수 있습니다. |
|---|---|---|
| outputGcsDestination | 문자열 | 선택사항입니다. 출력이 기록될 디렉터리의 Cloud Storage 위치입니다. |
| corpus | 문자열 | 선택사항입니다. 이미지 웨어하우스 코퍼스의 리소스 이름입니다. 아직 지원되지 않습니다. |
| bigqueryTable | 문자열 | 선택사항입니다. 주석 내보내기를 위한 BigQuery 테이블의 리소스 이름입니다. 'projects/*/datasets/*/tables/*' 형식입니다. 설정하면 ML 추론에서 생성된 주석도 지정된 BigQuery 테이블로 내보내집니다. 아직 지원되지 않습니다. |
| features[] | 객체 | 필수 항목입니다. 실행할 ML 추론의 유형입니다. |
기능
JSON 표현
{
"type": enum(Type),
"productRecognitionConfig": object(RetailProductRecognitionConfig),
"tagRecognitionConfig": object(RetailTagRecognitionConfig)
}
필드
| 유형 | enum | 필수 항목입니다. 기능 유형입니다. |
|---|---|---|
| productRecognitionConfig | 객체 | 선택사항입니다. 제품 인식 기능의 요청별 재정의입니다. 유형이 TYPE_PRODUCT_RECOGNITION으로 설정된 경우에만 적용됩니다. |
| tagRecognitionConfig | 객체 | 선택사항입니다. 태그 인식 기능의 요청별 재정의입니다. 유형이 TYPE_TAG_RECOGNITION으로 설정된 경우에만 효과가 있습니다. |
응답 본문
성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.
유형
GcsSource
JSON 표현
{
"uris": [string]
}
필드
| uris[] | 문자열 | 필수 항목입니다. Cloud Storage 경로에 대한 참조입니다. |
유형
ENUM 값
| TYPE_UNSPECIFIED | 기본값입니다. 사용해서는 안 됩니다. |
|---|---|
| TYPE_PRODUCT_RECOGNITION | 제품 인식 배포된 RetailProductRecognitionIndex이 있는 RetailEndpoint에서 사용해야 합니다. |
| TYPE_TAG_RECOGNITION | 태그 감지 및 파싱 RetailTagRecognitionConfig가 있는 RetailEndpoint에서 사용해야 합니다. |
RetailProductIoFormat
JSON 표현
{
"retailProduct": { object(RetailProduct) },
"retailProductImages": [ { object(RetailProductImage) }]
}
필드
| retailProduct | 객체 | 필수 항목입니다. 가져올 RetailProduct |
|---|---|---|
| retailProductImages[ ] | 객체 | 선택사항입니다. 가져올 지정된 RetailProduct의 RetailProductImage입니다. |
RetailResourceState
ENUM 값
| RETAIL_RESOURCE_STATE_UNSPECIFIED | 기본값입니다. 사용해서는 안 됩니다. |
|---|---|
| RETAIL_RESOURCE_STATE_CREATING | 상태 생성 |
| RETAIL_RESOURCE_STATE_CREATED | 상태가 생성되었습니다. |
| RETAIL_RESOURCE_STATE_UPDATING | 상태 업데이트 중 |
| RETAIL_RESOURCE_STATE_DELETED | 상태가 삭제됨입니다. |
| RETAIL_RESOURCE_STATE_ERROR | 상태 오류 |