public sealed class SetInventoryRequest : IMessage<SetInventoryRequest>, IEquatable<SetInventoryRequest>, IDeepCloneable<SetInventoryRequest>, IBufferMessage, IMessage
Request message for [ProductService.SetInventory][google.cloud.retail.v2.ProductService.SetInventory] method.
Implements
IMessage<SetInventoryRequest>, IEquatable<SetInventoryRequest>, IDeepCloneable<SetInventoryRequest>, IBufferMessage, IMessageNamespace
Google.Cloud.Retail.V2Assembly
Google.Cloud.Retail.V2.dll
Constructors
SetInventoryRequest()
public SetInventoryRequest()
SetInventoryRequest(SetInventoryRequest)
public SetInventoryRequest(SetInventoryRequest other)
Parameter | |
---|---|
Name | Description |
other | SetInventoryRequest |
Properties
AllowMissing
public bool AllowMissing { get; set; }
If set to true, and the [Product][google.cloud.retail.v2.Product] with name [Product.name][google.cloud.retail.v2.Product.name] is not found, the inventory update will still be processed and retained for at most 1 day until the [Product][google.cloud.retail.v2.Product] is created. If set to false, a NOT_FOUND error is returned if the [Product][google.cloud.retail.v2.Product] is not found.
Property Value | |
---|---|
Type | Description |
Boolean |
Inventory
public Product Inventory { get; set; }
Required. The inventory information to update. The allowable fields to update are:
- [Product.price_info][google.cloud.retail.v2.Product.price_info]
- [Product.availability][google.cloud.retail.v2.Product.availability]
- [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
- [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] The updated inventory fields must be specified in [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
If [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] is empty or invalid, an INVALID_ARGUMENT error is returned.
If the caller does not have permission to update the [Product][google.cloud.retail.v2.Product] named in [Product.name][google.cloud.retail.v2.Product.name], regardless of whether or not it exists, a PERMISSION_DENIED error is returned.
If the [Product][google.cloud.retail.v2.Product] to update does not have existing inventory information, the provided inventory information will be inserted.
If the [Product][google.cloud.retail.v2.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][google.cloud.retail.v2.SetInventoryRequest.set_time].
The caller can replace place IDs for a subset of fulfillment types in the following ways:
- Adds "fulfillment_info" in [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]
- Specifies only the desired fulfillment types and corresponding place IDs to update in [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
The caller can clear all place IDs from a subset of fulfillment types in the following ways:
- Adds "fulfillment_info" in [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]
- Specifies only the desired fulfillment types to clear in [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
- Checks that only the desired fulfillment info types have empty [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
The last update time is recorded for the following inventory fields:
- [Product.price_info][google.cloud.retail.v2.Product.price_info]
- [Product.availability][google.cloud.retail.v2.Product.availability]
- [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
- [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
If a full overwrite of inventory information while ignoring timestamps is needed, [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] should be invoked instead.
Property Value | |
---|---|
Type | Description |
Product |
SetMask
public FieldMask SetMask { get; set; }
Indicates which inventory fields in the provided [Product][google.cloud.retail.v2.Product] to update.
At least one field must be provided.
If an unsupported or unknown field is provided, an INVALID_ARGUMENT error is returned and the entire update will be ignored.
Property Value | |
---|---|
Type | Description |
FieldMask |
SetTime
public Timestamp SetTime { get; set; }
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.
Property Value | |
---|---|
Type | Description |
Timestamp |