1<html><body> 2<style> 3 4body, h1, h2, h3, div, span, p, pre, a { 5 margin: 0; 6 padding: 0; 7 border: 0; 8 font-weight: inherit; 9 font-style: inherit; 10 font-size: 100%; 11 font-family: inherit; 12 vertical-align: baseline; 13} 14 15body { 16 font-size: 13px; 17 padding: 1em; 18} 19 20h1 { 21 font-size: 26px; 22 margin-bottom: 1em; 23} 24 25h2 { 26 font-size: 24px; 27 margin-bottom: 1em; 28} 29 30h3 { 31 font-size: 20px; 32 margin-bottom: 1em; 33 margin-top: 1em; 34} 35 36pre, code { 37 line-height: 1.5; 38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; 39} 40 41pre { 42 margin-top: 0.5em; 43} 44 45h1, h2, h3, p { 46 font-family: Arial, sans serif; 47} 48 49h1, h2, h3 { 50 border-bottom: solid #CCC 1px; 51} 52 53.toc_element { 54 margin-top: 0.5em; 55} 56 57.firstline { 58 margin-left: 2 em; 59} 60 61.method { 62 margin-top: 1em; 63 border: solid 1px #CCC; 64 padding: 1em; 65 background: #EEE; 66} 67 68.details { 69 font-weight: bold; 70 font-size: 14px; 71} 72 73</style> 74 75<h1><a href="vision_v1.html">Cloud Vision API</a> . <a href="vision_v1.projects.html">projects</a> . <a href="vision_v1.projects.locations.html">locations</a> . <a href="vision_v1.projects.locations.products.html">products</a></h1> 76<h2>Instance Methods</h2> 77<p class="toc_element"> 78 <code><a href="vision_v1.projects.locations.products.referenceImages.html">referenceImages()</a></code> 79</p> 80<p class="firstline">Returns the referenceImages Resource.</p> 81 82<p class="toc_element"> 83 <code><a href="#close">close()</a></code></p> 84<p class="firstline">Close httplib2 connections.</p> 85<p class="toc_element"> 86 <code><a href="#create">create(parent, body=None, productId=None, x__xgafv=None)</a></code></p> 87<p class="firstline">Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid.</p> 88<p class="toc_element"> 89 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p> 90<p class="firstline">Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed.</p> 91<p class="toc_element"> 92 <code><a href="#get">get(name, x__xgafv=None)</a></code></p> 93<p class="firstline">Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist.</p> 94<p class="toc_element"> 95 <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p> 96<p class="firstline">Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.</p> 97<p class="toc_element"> 98 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> 99<p class="firstline">Retrieves the next page of results.</p> 100<p class="toc_element"> 101 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p> 102<p class="firstline">Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask.</p> 103<p class="toc_element"> 104 <code><a href="#purge">purge(parent, body=None, x__xgafv=None)</a></code></p> 105<p class="firstline">Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The google.longrunning.Operation API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress)</p> 106<h3>Method Details</h3> 107<div class="method"> 108 <code class="details" id="close">close()</code> 109 <pre>Close httplib2 connections.</pre> 110</div> 111 112<div class="method"> 113 <code class="details" id="create">create(parent, body=None, productId=None, x__xgafv=None)</code> 114 <pre>Creates and returns a new product resource. Possible errors: * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is missing or invalid. 115 116Args: 117 parent: string, Required. The project in which the Product should be created. Format is `projects/PROJECT_ID/locations/LOC_ID`. (required) 118 body: object, The request body. 119 The object takes the form of: 120 121{ # A Product contains ReferenceImages. 122 "description": "A String", # User-provided metadata to be stored with this product. Must be at most 4096 characters long. 123 "displayName": "A String", # The user-provided name for this Product. Must not be empty. Must be at most 4096 characters long. 124 "name": "A String", # The resource name of the product. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is ignored when creating a product. 125 "productCategory": "A String", # Immutable. The category for the product identified by the reference image. This should be one of "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", "apparel", and "toys" are still supported, but these should not be used for new products. 126 "productLabels": [ # Key-value pairs that can be attached to a product. At query time, constraints can be specified based on the product_labels. Note that integer values can be provided as strings, e.g. "1199". Only strings with integer values can match a range-based restriction which is to be supported soon. Multiple values can be assigned to the same key. One product may have up to 500 product_labels. Notice that the total number of distinct product_labels over all products in one ProductSet cannot exceed 1M, otherwise the product search pipeline will refuse to work for that ProductSet. 127 { # A product label represented as a key-value pair. 128 "key": "A String", # The key of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 129 "value": "A String", # The value of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 130 }, 131 ], 132} 133 134 productId: string, A user-supplied resource id for this Product. If set, the server will attempt to use this value as the resource id. If it is already in use, an error is returned with code ALREADY_EXISTS. Must be at most 128 characters long. It cannot contain the character `/`. 135 x__xgafv: string, V1 error format. 136 Allowed values 137 1 - v1 error format 138 2 - v2 error format 139 140Returns: 141 An object of the form: 142 143 { # A Product contains ReferenceImages. 144 "description": "A String", # User-provided metadata to be stored with this product. Must be at most 4096 characters long. 145 "displayName": "A String", # The user-provided name for this Product. Must not be empty. Must be at most 4096 characters long. 146 "name": "A String", # The resource name of the product. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is ignored when creating a product. 147 "productCategory": "A String", # Immutable. The category for the product identified by the reference image. This should be one of "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", "apparel", and "toys" are still supported, but these should not be used for new products. 148 "productLabels": [ # Key-value pairs that can be attached to a product. At query time, constraints can be specified based on the product_labels. Note that integer values can be provided as strings, e.g. "1199". Only strings with integer values can match a range-based restriction which is to be supported soon. Multiple values can be assigned to the same key. One product may have up to 500 product_labels. Notice that the total number of distinct product_labels over all products in one ProductSet cannot exceed 1M, otherwise the product search pipeline will refuse to work for that ProductSet. 149 { # A product label represented as a key-value pair. 150 "key": "A String", # The key of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 151 "value": "A String", # The value of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 152 }, 153 ], 154}</pre> 155</div> 156 157<div class="method"> 158 <code class="details" id="delete">delete(name, x__xgafv=None)</code> 159 <pre>Permanently deletes a product and its reference images. Metadata of the product and all its images will be deleted right away, but search queries against ProductSets containing the product may still work until all related caches are refreshed. 160 161Args: 162 name: string, Required. Resource name of product to delete. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` (required) 163 x__xgafv: string, V1 error format. 164 Allowed values 165 1 - v1 error format 166 2 - v2 error format 167 168Returns: 169 An object of the form: 170 171 { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`. 172}</pre> 173</div> 174 175<div class="method"> 176 <code class="details" id="get">get(name, x__xgafv=None)</code> 177 <pre>Gets information associated with a Product. Possible errors: * Returns NOT_FOUND if the Product does not exist. 178 179Args: 180 name: string, Required. Resource name of the Product to get. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID` (required) 181 x__xgafv: string, V1 error format. 182 Allowed values 183 1 - v1 error format 184 2 - v2 error format 185 186Returns: 187 An object of the form: 188 189 { # A Product contains ReferenceImages. 190 "description": "A String", # User-provided metadata to be stored with this product. Must be at most 4096 characters long. 191 "displayName": "A String", # The user-provided name for this Product. Must not be empty. Must be at most 4096 characters long. 192 "name": "A String", # The resource name of the product. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is ignored when creating a product. 193 "productCategory": "A String", # Immutable. The category for the product identified by the reference image. This should be one of "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", "apparel", and "toys" are still supported, but these should not be used for new products. 194 "productLabels": [ # Key-value pairs that can be attached to a product. At query time, constraints can be specified based on the product_labels. Note that integer values can be provided as strings, e.g. "1199". Only strings with integer values can match a range-based restriction which is to be supported soon. Multiple values can be assigned to the same key. One product may have up to 500 product_labels. Notice that the total number of distinct product_labels over all products in one ProductSet cannot exceed 1M, otherwise the product search pipeline will refuse to work for that ProductSet. 195 { # A product label represented as a key-value pair. 196 "key": "A String", # The key of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 197 "value": "A String", # The value of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 198 }, 199 ], 200}</pre> 201</div> 202 203<div class="method"> 204 <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code> 205 <pre>Lists products in an unspecified order. Possible errors: * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1. 206 207Args: 208 parent: string, Required. The project OR ProductSet from which Products should be listed. Format: `projects/PROJECT_ID/locations/LOC_ID` (required) 209 pageSize: integer, The maximum number of items to return. Default 10, maximum 100. 210 pageToken: string, The next_page_token returned from a previous List request, if any. 211 x__xgafv: string, V1 error format. 212 Allowed values 213 1 - v1 error format 214 2 - v2 error format 215 216Returns: 217 An object of the form: 218 219 { # Response message for the `ListProducts` method. 220 "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list. 221 "products": [ # List of products. 222 { # A Product contains ReferenceImages. 223 "description": "A String", # User-provided metadata to be stored with this product. Must be at most 4096 characters long. 224 "displayName": "A String", # The user-provided name for this Product. Must not be empty. Must be at most 4096 characters long. 225 "name": "A String", # The resource name of the product. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is ignored when creating a product. 226 "productCategory": "A String", # Immutable. The category for the product identified by the reference image. This should be one of "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", "apparel", and "toys" are still supported, but these should not be used for new products. 227 "productLabels": [ # Key-value pairs that can be attached to a product. At query time, constraints can be specified based on the product_labels. Note that integer values can be provided as strings, e.g. "1199". Only strings with integer values can match a range-based restriction which is to be supported soon. Multiple values can be assigned to the same key. One product may have up to 500 product_labels. Notice that the total number of distinct product_labels over all products in one ProductSet cannot exceed 1M, otherwise the product search pipeline will refuse to work for that ProductSet. 228 { # A product label represented as a key-value pair. 229 "key": "A String", # The key of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 230 "value": "A String", # The value of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 231 }, 232 ], 233 }, 234 ], 235}</pre> 236</div> 237 238<div class="method"> 239 <code class="details" id="list_next">list_next(previous_request, previous_response)</code> 240 <pre>Retrieves the next page of results. 241 242Args: 243 previous_request: The request for the previous page. (required) 244 previous_response: The response from the request for the previous page. (required) 245 246Returns: 247 A request object that you can call 'execute()' on to request the next 248 page. Returns None if there are no more items in the collection. 249 </pre> 250</div> 251 252<div class="method"> 253 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code> 254 <pre>Makes changes to a Product resource. Only the `display_name`, `description`, and `labels` fields can be updated right now. If labels are updated, the change will not be reflected in queries until the next index time. Possible errors: * Returns NOT_FOUND if the Product does not exist. * Returns INVALID_ARGUMENT if display_name is present in update_mask but is missing from the request or longer than 4096 characters. * Returns INVALID_ARGUMENT if description is present in update_mask but is longer than 4096 characters. * Returns INVALID_ARGUMENT if product_category is present in update_mask. 255 256Args: 257 name: string, The resource name of the product. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is ignored when creating a product. (required) 258 body: object, The request body. 259 The object takes the form of: 260 261{ # A Product contains ReferenceImages. 262 "description": "A String", # User-provided metadata to be stored with this product. Must be at most 4096 characters long. 263 "displayName": "A String", # The user-provided name for this Product. Must not be empty. Must be at most 4096 characters long. 264 "name": "A String", # The resource name of the product. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is ignored when creating a product. 265 "productCategory": "A String", # Immutable. The category for the product identified by the reference image. This should be one of "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", "apparel", and "toys" are still supported, but these should not be used for new products. 266 "productLabels": [ # Key-value pairs that can be attached to a product. At query time, constraints can be specified based on the product_labels. Note that integer values can be provided as strings, e.g. "1199". Only strings with integer values can match a range-based restriction which is to be supported soon. Multiple values can be assigned to the same key. One product may have up to 500 product_labels. Notice that the total number of distinct product_labels over all products in one ProductSet cannot exceed 1M, otherwise the product search pipeline will refuse to work for that ProductSet. 267 { # A product label represented as a key-value pair. 268 "key": "A String", # The key of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 269 "value": "A String", # The value of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 270 }, 271 ], 272} 273 274 updateMask: string, The FieldMask that specifies which fields to update. If update_mask isn't specified, all mutable fields are to be updated. Valid mask paths include `product_labels`, `display_name`, and `description`. 275 x__xgafv: string, V1 error format. 276 Allowed values 277 1 - v1 error format 278 2 - v2 error format 279 280Returns: 281 An object of the form: 282 283 { # A Product contains ReferenceImages. 284 "description": "A String", # User-provided metadata to be stored with this product. Must be at most 4096 characters long. 285 "displayName": "A String", # The user-provided name for this Product. Must not be empty. Must be at most 4096 characters long. 286 "name": "A String", # The resource name of the product. Format is: `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`. This field is ignored when creating a product. 287 "productCategory": "A String", # Immutable. The category for the product identified by the reference image. This should be one of "homegoods-v2", "apparel-v2", "toys-v2", "packagedgoods-v1" or "general-v1". The legacy categories "homegoods", "apparel", and "toys" are still supported, but these should not be used for new products. 288 "productLabels": [ # Key-value pairs that can be attached to a product. At query time, constraints can be specified based on the product_labels. Note that integer values can be provided as strings, e.g. "1199". Only strings with integer values can match a range-based restriction which is to be supported soon. Multiple values can be assigned to the same key. One product may have up to 500 product_labels. Notice that the total number of distinct product_labels over all products in one ProductSet cannot exceed 1M, otherwise the product search pipeline will refuse to work for that ProductSet. 289 { # A product label represented as a key-value pair. 290 "key": "A String", # The key of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 291 "value": "A String", # The value of the label attached to the product. Cannot be empty and cannot exceed 128 bytes. 292 }, 293 ], 294}</pre> 295</div> 296 297<div class="method"> 298 <code class="details" id="purge">purge(parent, body=None, x__xgafv=None)</code> 299 <pre>Asynchronous API to delete all Products in a ProductSet or all Products that are in no ProductSet. If a Product is a member of the specified ProductSet in addition to other ProductSets, the Product will still be deleted. It is recommended to not delete the specified ProductSet until after this operation has completed. It is also recommended to not add any of the Products involved in the batch delete to a new ProductSet while this operation is running because those Products may still end up deleted. It's not possible to undo the PurgeProducts operation. Therefore, it is recommended to keep the csv files used in ImportProductSets (if that was how you originally built the Product Set) before starting PurgeProducts, in case you need to re-import the data after deletion. If the plan is to purge all of the Products from a ProductSet and then re-use the empty ProductSet to re-import new Products into the empty ProductSet, you must wait until the PurgeProducts operation has finished for that ProductSet. The google.longrunning.Operation API can be used to keep track of the progress and results of the request. `Operation.metadata` contains `BatchOperationMetadata`. (progress) 300 301Args: 302 parent: string, Required. The project and location in which the Products should be deleted. Format is `projects/PROJECT_ID/locations/LOC_ID`. (required) 303 body: object, The request body. 304 The object takes the form of: 305 306{ # Request message for the `PurgeProducts` method. 307 "deleteOrphanProducts": True or False, # If delete_orphan_products is true, all Products that are not in any ProductSet will be deleted. 308 "force": True or False, # The default value is false. Override this value to true to actually perform the purge. 309 "productSetPurgeConfig": { # Config to control which ProductSet contains the Products to be deleted. # Specify which ProductSet contains the Products to be deleted. 310 "productSetId": "A String", # The ProductSet that contains the Products to delete. If a Product is a member of product_set_id in addition to other ProductSets, the Product will still be deleted. 311 }, 312} 313 314 x__xgafv: string, V1 error format. 315 Allowed values 316 1 - v1 error format 317 2 - v2 error format 318 319Returns: 320 An object of the form: 321 322 { # This resource represents a long-running operation that is the result of a network API call. 323 "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. 324 "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation. 325 "code": 42, # The status code, which should be an enum value of google.rpc.Code. 326 "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use. 327 { 328 "a_key": "", # Properties of the object. Contains field @type with type URL. 329 }, 330 ], 331 "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. 332 }, 333 "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. 334 "a_key": "", # Properties of the object. Contains field @type with type URL. 335 }, 336 "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. 337 "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. 338 "a_key": "", # Properties of the object. Contains field @type with type URL. 339 }, 340}</pre> 341</div> 342 343</body></html>