Request message for [SetInventory] method.
Required. The inventory information to update. The allowable fields to update are: - Product.price_info - Product.availability - Product.available_quantity - Product.fulfillment_info The updated inventory fields must be specified in SetInventoryRequest.set_mask. If [SetInventoryRequest.inventory.name] is empty or invalid, an INVALID_ARGUMENT error is returned. If the caller does not have permission to update the Product named in Product.name, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the Product to update does not have existing inventory information, the provided inventory information will be inserted. If the Product to update has existing inventory information, the provided inventory information will be merged while respecting the last update time for each inventory field, using the provided or default value for SetInventoryRequest.set_time. The last update time is recorded for the following inventory fields: - Product.price_info - Product.availability - Product.available_quantity - Product.fulfillment_info If a full overwrite of inventory information while ignoring timestamps is needed, [UpdateProduct] should be invoked instead.
Indicates which inventory fields in the provided Product to update. If 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.
The time when the request is issued, used to prevent out-of-order updates on inventory fields with the last update time recorded. If not provided, the internal system time will be used.
If set to true, and the Product with name Product.name is not found, the inventory update will still be processed and retained for at most 1 day until the Product is created. If set to false, a NOT_FOUND error is returned if the Product is not found.