- HTTP request
- Path parameters
- Request body
- Response body
- Authorization Scopes
- IAM Permissions
- LocalInventory
- Try it!
Updates local inventory information for a Product
at a list of places, while respecting the last update timestamps of each inventory field.
This process is asynchronous and does not require the Product
to exist before updating inventory information. If the request is valid, the update will be enqueued and processed downstream. As a consequence, when a response is returned, updates are not immediately manifested in the Product
queried by ProductService.GetProduct
or ProductService.ListProducts
.
Local inventory information can only be modified using this method. ProductService.CreateProduct
and ProductService.UpdateProduct
has no effect on local inventories.
This feature is only available for users who have Retail placements.search enabled. Please enable Retail placements.search on Cloud Console before using this feature.
HTTP request
POST https://retail.googleapis.com/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
product |
Required. Full resource name of If the caller does not have permission to access the |
Request body
The request body contains data with the following structure:
JSON representation |
---|
{
"localInventories": [
{
object ( |
Fields | |
---|---|
localInventories[] |
Required. A list of inventory information at difference places. Each place is identified by its place ID. At most 3000 inventories are allowed per request. |
addMask |
Indicates which inventory fields in the provided list of If a field is set while the place does not have a previous local inventory, the local inventory at that store is created. If a field is set while the value of that field is not provided, the original field value, if it exists, is deleted. If the mask is not set or set with empty paths, all inventory fields will be updated. If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored. This is a comma-separated list of fully qualified names of fields. Example: |
addTime |
The time when the inventory updates are issued. Used to prevent out-of-order updates on local inventory fields. If not provided, the internal system time will be used. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
allowMissing |
If set to true, and the |
Response body
If successful, the response body contains an instance of Operation
.
Authorization Scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview.
IAM Permissions
Requires the following IAM permission on the product
resource:
retail.products.update
For more information, see the IAM documentation.
LocalInventory
The inventory information at a place (e.g. a store) identified by a place ID.
JSON representation |
---|
{
"placeId": string,
"priceInfo": {
object ( |
Fields | |
---|---|
placeId |
The place ID for the current set of inventory information. |
priceInfo |
Product price and cost information. Google Merchant Center property price. |
attributes[] |
Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned:
|
attributes[].text[] |
The textual values of this custom attribute. For example, Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of |
attributes[].numbers[] |
The numerical values of this custom attribute. For example, Exactly one of |
attributes[].searchable |
This field is normally ignored unless [AttributesConfig.attribute_config_level][] of the This field is ignored in a Only set if type |
attributes[].indexable |
This field is normally ignored unless [AttributesConfig.attribute_config_level][] of the This field is ignored in a See |
fulfillmentTypes[] |
Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values:
If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. |