REST Resource: accounts.products.localInventories

  • LocalInventory resource represents in-store information for a specific product at a given store, allowing management of local product availability and pricing.

  • It includes details like price, sale price, availability, quantity, pickup options, and custom attributes, adhering to the local product inventory data specification.

  • You can manage LocalInventory using methods to insert, delete, and list inventory data for specific products in your merchant account.

Resource: LocalInventory

Local inventory information for the product. Represents in-store information for a specific product at the store specified by storeCode. For a list of all accepted attribute values, see the local product inventory data specification.

JSON representation
{
  "name": string,
  "account": string,
  "storeCode": string,
  "price": {
    object (Price)
  },
  "salePrice": {
    object (Price)
  },
  "salePriceEffectiveDate": {
    object (Interval)
  },
  "customAttributes": [
    {
      object (CustomAttribute)
    }
  ],
  "availability": string,
  "quantity": string,
  "pickupMethod": string,
  "pickupSla": string,
  "instoreProductLocation": string
}
Fields
name

string

Output only. The name of the LocalInventory resource. Format: accounts/{account}/products/{product}/localInventories/{storeCode}

The {product} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: contentLanguage~feedLabel~offerId. Example: en~US~sku123 For legacy local products, the structure is: local~contentLanguage~feedLabel~offerId. Example: local~en~US~sku123

The format of the {product} segment in the URL is automatically detected by the server, supporting two options:

  1. Encoded Format: The {product} segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the contentLanguage~feedLabel~offerId structure. This encoding MUST be used if any part of the product identifier (like offerId) contains characters such as /, %, or ~.

    • Example: To represent the product ID en~US~sku/123 for storeCode "store123", the {product} segment must be the base64url encoding of this string, which is ZW5-VVMtc2t1LzEyMw. The full resource name for the local inventory would be accounts/123/products/ZW5-VVMtc2t1LzEyMw/localInventories/store123.
  2. Plain Format: The {product} segment is the tilde-separated string contentLanguage~feedLabel~offerId. This format is suitable only when contentLanguage, feedLabel, and offerId do not contain URL-problematic characters like /, %, or ~.

We recommend using the Encoded Format for all product IDs to ensure correct parsing, especially those containing special characters. The presence of tilde (~) characters in the {product} segment is used to differentiate between the two formats.

Note: For calls to the v1beta version, the plain format for the product segment is channel~contentLanguage~feedLabel~offerId. For example, the full resource name for a local inventory at storeCode "store123" would be: accounts/123/products/online~en~US~sku123/localInventories/store123.

account

string (int64 format)

Output only. The account that owns the product. This field will be ignored if set by the client.

storeCode

string

Required. Immutable. Store code (the store ID from your Business Profile) of the physical store the product is sold in. See the Local product inventory data specification for more information.

price

object (Price)

Optional. Price of the product at this store.

salePrice

object (Price)

Optional. Sale price of the product at this store. Mandatory if salePriceEffectiveDate is defined.

salePriceEffectiveDate

object (Interval)

Optional. The TimePeriod of the sale at this store.

customAttributes[]
(deprecated)

object (CustomAttribute)

A list of custom (merchant-provided) attributes. You can also use CustomAttribute to submit any attribute of the data specification in its generic form.

availability

string

Availability of the product at this store. For accepted attribute values, see the local product inventory data specification

quantity

string (int64 format)

Quantity of the product available at this store. Must be greater than or equal to zero.

pickupMethod

string

Supported pickup method for this product. Unless the value is "not supported", this field must be submitted together with pickupSla. For accepted attribute values, see the local product inventory data specification

pickupSla

string

Relative time period from the order date for an order for this product, from this store, to be ready for pickup. Must be submitted with pickupMethod. For accepted attribute values, see the local product inventory data specification

instoreProductLocation

string

Location of the product inside the store. Maximum length is 20 bytes.

Methods

delete

Deletes the specified LocalInventory from the given product in your merchant account.

insert

Inserts a LocalInventory resource to a product in your merchant account.

list

Lists the LocalInventory resources for the given product in your merchant account.