# Merchant API . accounts . productInputs

## Instance Methods

Close httplib2 connections.

Deletes a product input from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.

[Uploads a product input to your Merchant Center account](/merchant/api/guides/products/add-manage#add_a_product). You must have a products [data source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source) to be able to insert a product. The unique identifier of the data source is passed as a query parameter in the request URL. If a product input with the same contentLanguage, offerId, and dataSource already exists, then the product input inserted by this method replaces that entry. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.

Updates the existing product input in your Merchant Center account. The name of the product input to update is taken from the `name` field within the `ProductInput` resource. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.

### Method Details

`close()`

    Close httplib2 connections.

`delete(name, dataSource=None, x__xgafv=None)`

    Deletes a product input from your Merchant Center account. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.

    Args:
      name: string, Required. The name of the product input to delete. Format: `accounts/{account}/productInputs/{productInput}` The {productInput} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productInput} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productInput}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productInput}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productInput}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` 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 `{productInput}` segment is used to differentiate between the two formats. (required)
      dataSource: string, Required. The primary or supplemental data source from which the product input should be deleted. Format: `accounts/{account}/dataSources/{datasource}`. For example, `accounts/123456/dataSources/104628`.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # 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); }
    }

`insert(parent, body=None, dataSource=None, x__xgafv=None)`

    [Uploads a product input to your Merchant Center account](/merchant/api/guides/products/add-manage#add_a_product). You must have a products [data source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source) to be able to insert a product. The unique identifier of the data source is passed as a query parameter in the request URL. If a product input with the same contentLanguage, offerId, and dataSource already exists, then the product input inserted by this method replaces that entry. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.

    Args:
      parent: string, Required. The account where this product will be inserted. Format: `accounts/{account}` (required)
      body: object, The request body.
        The object takes the form of:

    { # This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. For more information, see [Manage products](/merchant/api/guides/products/overview). Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the [Products Data Specification](https://support.google.com/merchants/answer/188494) with [some exceptions](https://support.google.com/merchants/answer/7052112). The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style.
      "attributes": { # Attributes. # Optional. A list of product attributes.
        "additionalImageLinks": [ # Additional URLs of images of the item.
          "A String",
        ],
        "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA, discouraged otherwise. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
        "adsLabels": [ # Similar to ads_grouping, but only works on CPC.
          "A String",
        ],
        "adsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product ads.
        "adult": True or False, # Set to true if the item is targeted towards adults.
        "ageGroup": "A String", # Target [age group](https://support.google.com/merchants/answer/6324463) of the item.
        "autoPricingMinPrice": { # The price represented as a number and currency. # A safeguard in the [automated discounts] (https://support.google.com/merchants/answer/10295759) and ["dynamic promotions"](https://support.google.com/merchants/answer/13949249) projects, ensuring that discounts on business offers do not fall below this value, thereby preserving the offer's value and profitability.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "availability": "A String", # [Availability](https://support.google.com/merchants/answer/6324448) status of the item. For example, "in_stock" or "out_of_stock".
        "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
        "brand": "A String", # [Brand](https://support.google.com/merchants/answer/6324351) of the item. For example, "Google".
        "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
        "certifications": [ # Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information.
          { # Product [certification](https://support.google.com/merchants/answer/13528839), initially introduced for EU energy efficiency labeling compliance using the EU EPREL database.
            "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
            "certificationCode": "A String", # The certification code. Maximum length is 2000 characters.
            "certificationName": "A String", # The name of the certification, for example "EPREL". Maximum length is 2000 characters.
            "certificationValue": "A String", # The certification value (also known as class, level or grade), for example "A+", "C", "gold". Maximum length is 2000 characters.
          },
        ],
        "cloudExportAdditionalProperties": [ # Extra fields to export to the Cloud Retail program.
          { # Product property for the Cloud Retail API. For example, properties for a TV product could be "Screen-Resolution" or "Screen-Size".
            "boolValue": True or False, # Boolean value of the given property. For example for a TV product, "True" or "False" if the screen is UHD.
            "floatValue": [ # Float values of the given property. For example for a TV product 1.2345. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.
              3.14,
            ],
            "intValue": [ # Integer values of the given property. For example, 1080 for a TV product's Screen Resolution. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.
              "A String",
            ],
            "maxValue": 3.14, # Maximum float value of the given property. For example for a TV product 100.00.
            "minValue": 3.14, # Minimum float value of the given property. For example for a TV product 1.00.
            "propertyName": "A String", # Name of the given property. For example, "Screen-Resolution" for a TV product. Maximum string size is 256 characters.
            "textValue": [ # Text value of the given property. For example, "8K(UHD)" could be a text value for a TV product. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters.
              "A String",
            ],
            "unitCode": "A String", # Unit of the given property. For example, "Pixels" for a TV product. Maximum string size is 256B.
          },
        ],
        "color": "A String", # [Color](https://support.google.com/merchants/answer/6324487) of the item. For example, "red".
        "condition": "A String", # [Condition](https://support.google.com/merchants/answer/6324469) or state of the item. For example, "new" or "used".
        "costOfGoodsSold": { # The price represented as a number and currency. # Cost of goods sold. Used for gross profit reporting.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "customLabel0": "A String", # [Custom label 0](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel1": "A String", # [Custom label 1](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel2": "A String", # [Custom label 2](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel3": "A String", # [Custom label 3](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel4": "A String", # [Custom label 4](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "description": "A String", # Description of the item.
        "disclosureDate": "A String", # The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information.
        "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
        "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
        "displayAdsSimilarIds": [ # Advertiser-specified recommendations. For more information, see [Display ads attribute specification](https://support.google.com/merchants/answer/6069387).
          "A String",
        ],
        "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
        "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
        "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "excludedDestinations": [ # Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). For more information, see [Excluded destination](https://support.google.com/merchants/answer/6324486). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
          "A String",
        ],
        "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future.
        "externalSellerId": "A String", # Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account.
        "freeShippingThreshold": [ # Conditions to be met for a product to have free shipping.
          { # Conditions to be met for a product to have free shipping.
            "country": "A String", # The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
            "priceThreshold": { # The price represented as a number and currency. # The minimum product price for the shipping cost to become free. Represented as a number.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
          },
        ],
        "gender": "A String", # Target [gender](https://support.google.com/merchants/answer/6324479) of the item. For example, "male" or "female".
        "googleProductCategory": "A String", # Google's category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.
        "gtin": [ # Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs. Deprecated: Use `gtins` instead.
          "A String",
        ],
        "gtins": [ # A list of Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs.
          "A String",
        ],
        "identifierExists": True or False, # Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided.
        "imageLink": "A String", # URL of an image of the item.
        "includedDestinations": [ # Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. For more information, see [Included destination](https://support.google.com/merchants/answer/7501026). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
          "A String",
        ],
        "installment": { # A message that represents installment. # Number and amount of installments to pay for an item.
          "amount": { # The price represented as a number and currency. # The amount the buyer has to pay per month.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "creditType": "A String", # Type of installment payments. Supported values are: * "`finance`" * "`lease`"
          "downpayment": { # The price represented as a number and currency. # The up-front down payment amount the buyer has to pay.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "months": "A String", # The number of installments the buyer has to pay.
        },
        "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price.
        "itemGroupId": "A String", # Shared identifier for all variants of the same product.
        "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information.
          "A String",
        ],
        "link": "A String", # URL directly linking to your item's page on your online store.
        "linkTemplate": "A String", # [Link template](https://support.google.com/merchants/answer/13871172) for business hosted local storefront.
        "loyaltyPoints": { # A message that represents loyalty points. # Loyalty points that users receive after purchasing the item. Japan only.
          "name": "A String", # Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.
          "pointsValue": "A String", # The retailer's loyalty points in absolute value.
          "ratio": 3.14, # The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.
        },
        "loyaltyPrograms": [ # A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item.
          { # A message that represents loyalty program.
            "cashbackForFutureUse": { # The price represented as a number and currency. # The cashback that can be used for future purchases.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "loyaltyPoints": "A String", # The amount of loyalty points earned on a purchase.
            "memberPriceEffectiveDate": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash.
              "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
              "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
            },
            "price": { # The price represented as a number and currency. # The price for members of the given tier, that is, the instant discount price. Must be smaller or equal to the regular price.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "programLabel": "A String", # The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a business entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a business. The corresponding program must be linked to the Merchant Center account.
            "shippingLabel": "A String", # The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn't provided, the item is not eligible for loyalty shipping for the given loyalty tier.
            "tierLabel": "A String", # The label of the tier within the loyalty program. Must match one of the labels within the program.
          },
        ],
        "material": "A String", # The [material](https://support.google.com/merchants/answer/6324410) of which the item is made. For example, "Leather" or "Cotton".
        "maxEnergyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "maxHandlingTime": "A String", # Maximal product handling time (in business days).
        "maximumRetailPrice": { # The price represented as a number and currency. # Maximum retail price (MRP) of the item. Applicable to India only.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "minEnergyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "minHandlingTime": "A String", # Minimal product handling time (in business days).
        "mobileLink": "A String", # URL for the mobile-optimized version of your item's landing page.
        "mobileLinkTemplate": "A String", # [Link template](https://support.google.com/merchants/answer/13870216) for business hosted local storefront optimized for mobile devices.
        "mpn": "A String", # Manufacturer Part Number ([MPN](https://support.google.com/merchants/answer/6324482)) of the item.
        "multipack": "A String", # The number of identical products in a business-defined multipack.
        "pattern": "A String", # The item's [pattern](https://support.google.com/merchants/answer/6324483). For example, polka dots.
        "pause": "A String", # Publication of this item will be temporarily [paused](https://support.google.com/merchants/answer/11909930).
        "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item.
        "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400).
        "price": { # The price represented as a number and currency. # Price of the item.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "productDetails": [ # Technical specification or additional product details.
          { # The product details.
            "attributeName": "A String", # The name of the product detail.
            "attributeValue": "A String", # The value of the product detail.
            "sectionName": "A String", # The section header used to group a set of product details.
          },
        ],
        "productHeight": { # The dimension of the product. # The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productHighlights": [ # Bullet points describing the most relevant [product highlights](https://support.google.com/merchants/answer/9216100).
          "A String",
        ],
        "productLength": { # The dimension of the product. # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productTypes": [ # Categories of the item (formatted as in [product data specification](https://support.google.com/merchants/answer/7052112#product_category)).
          "A String",
        ],
        "productWeight": { # The weight of the product. # The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive).
          "unit": "A String", # Required. The weight unit. Acceptable values are: * "`g`" * "`kg`" * "`oz`" * "`lb`"
          "value": 3.14, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
        },
        "productWidth": { # The dimension of the product. # The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "promotionIds": [ # The unique ID of a promotion.
          "A String",
        ],
        "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "salePriceEffectiveDate": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # Date range during which the item is on sale, see [product data specification](https://support.google.com/merchants/answer/7052112#price_and_availability).
          "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
          "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
        },
        "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
        "shipping": [ # Shipping rules.
          { # The Shipping of the product.
            "country": "A String", # The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
            "handlingCutoffTime": "A String", # The handling cutoff time until which an order has to be placed to be processed in the same day. This is a string in format of HHMM (e.g. `1530`) for 3:30 PM. If not configured, the cutoff time will be defaulted to 8AM PST and `handling_cutoff_timezone` will be ignored.
            "handlingCutoffTimezone": "A String", # [Timezone identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids) For example `Europe/Zurich`. This field only applies if `handling_cutoff_time` is set. If `handling_cutoff_time` is set but this field is not set, the shipping destination timezone will be used. If both fields are not set, the handling cutoff time will default to 8AM PST.
            "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
            "locationId": "A String", # The numeric ID of a location that the shipping rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
            "loyaltyProgramLabel": "A String", # Optional. The label of the [loyalty program](https://support.google.com/merchants/answer/6324484). Must match one of the program labels set in loyalty_programs. When set (in combination with [loyalty_tier_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
            "loyaltyTierLabel": "A String", # Optional. The label of the [loyalty tier](https://support.google.com/merchants/answer/6324484) within the loyalty program. Must match one of the tiers set in the loyalty_programs. When set (in combination with [loyalty_program_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
            "maxHandlingTime": "A String", # Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minHandlingTime is optional if maxHandlingTime is present.
            "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minTransitTime is optional if maxTransitTime is present.
            "minHandlingTime": "A String", # Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it is not required if maxHandlingTime is present.
            "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it is not required if maxTransitTime is present.
            "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
            "price": { # The price represented as a number and currency. # Fixed shipping price, represented as a number.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "region": "A String", # The geographic region to which a shipping rate applies. See [region](https://support.google.com/merchants/answer/6324484) for more information.
            "service": "A String", # A free-form description of the service class or delivery speed.
          },
        ],
        "shippingHeight": { # The ShippingDimension of the product. # Height of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
        "shippingLength": { # The ShippingDimension of the product. # Length of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shippingWeight": { # The ShippingWeight of the product. # Weight of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The weight of the product used to calculate the shipping cost of the item.
        },
        "shippingWidth": { # The ShippingDimension of the product. # Width of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shoppingAdsExcludedCountries": [ # List of country codes [(ISO 3166-1 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings.
          "A String",
        ],
        "size": "A String", # Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value, see [Size](https://support.google.com/merchants/answer/6324492).
        "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items. For example, "US", "UK", "DE". For more information, see [Size system](https://support.google.com/merchants/answer/6324502).
        "sizeTypes": [ # The cut of the item. It can be used to represent combined size types for apparel items. Maximum two of size types can be provided, see [Size type](https://support.google.com/merchants/answer/6324497). For example, "petite", "plus size".
          "A String",
        ],
        "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. # Structured description, for algorithmically (AI)-generated descriptions.
          "content": "A String", # The description text Maximum length is 5000 characters
          "digitalSourceType": "A String", # The digital source type, for example "trained_algorithmic_media". Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). Maximum length is 40 characters.
        },
        "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. # Structured title, for algorithmically (AI)-generated titles.
          "content": "A String", # The title text Maximum length is 150 characters
          "digitalSourceType": "A String", # The digital source type, for example "trained_algorithmic_media". Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). Maximum length is 40 characters.
        },
        "subscriptionCost": { # The SubscriptionCost of the product. # Number of periods (weeks, months or years) and amount of payment per period for an item with an associated subscription contract.
          "amount": { # The price represented as a number and currency. # The amount the buyer has to pay per subscription period.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "period": "A String", # The type of subscription period. Supported values are: * "`month`" * "`year`" * "`week`"
          "periodLength": "A String", # The number of subscription periods the buyer has to pay.
        },
        "sustainabilityIncentives": [ # The list of sustainability incentive programs.
          { # Information regarding sustainability-related incentive programs such as rebates or tax relief.
            "amount": { # The price represented as a number and currency. # The fixed amount of the incentive.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "percentage": 3.14, # The percentage of the sale price that the incentive is applied to.
            "type": "A String", # Sustainability incentive program.
          },
        ],
        "taxCategory": "A String", # The [tax category](https://support.google.com/merchants/answer/7569847) of the product.
        "taxes": [ # Tax information.
          { # The Tax of the product.
            "country": "A String", # The country within which the item is taxed, specified as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
            "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
            "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
            "rate": 3.14, # The percentage of tax rate that applies to the item price.
            "region": "A String", # The geographic region to which the tax rate applies.
            "taxShip": True or False, # Set to true if tax is charged on shipping.
          },
        ],
        "title": "A String", # Title of the item.
        "transitTimeLabel": "A String", # The transit time label of the product, used to group product in account-level transit time tables.
        "unitPricingBaseMeasure": { # The UnitPricingBaseMeasure of the product. # The preference of the denominator of the unit price.
          "unit": "A String", # The unit of the denominator.
          "value": "A String", # The denominator of the unit price.
        },
        "unitPricingMeasure": { # The UnitPricingMeasure of the product. # The measure and dimension of an item.
          "unit": "A String", # The unit of the measure.
          "value": 3.14, # The measure of an item.
        },
        "virtualModelLink": "A String", # URL of the 3D image of the item. See the [Help Center article](https://support.google.com/merchants/answer/13674896) for more information.
      },
      "base64EncodedName": "A String", # Output only. The **unpadded base64url encoded name** of the product input. Format: `accounts/{account}/productInputs/{productinput}` where the last section `productinput` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw` for the decoded product input name `accounts/123/productInputs/en~US~sku/123`. This field can be used directly as input to the API methods that require the product input name to be encoded if it contains special characters, for example [`GetProductInput`](https://developers.google.com/merchant/api/reference/rest/products_v1beta/accounts.productInputs/get).
      "base64EncodedProduct": "A String", # Output only. The **unpadded base64url encoded name** of the processed product. Format: `accounts/{account}/products/{product}` where the last section `product` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/products/ZW5-VVN-c2t1LzEyMw` for the decoded product name `accounts/123/products/en~US~sku/123`. This field can be used directly as input to the API methods that require the product name to be encoded if it contains special characters, for example [`GetProduct`](https://developers.google.com/merchant/api/reference/rest/products_v1beta/accounts.products/get).
      "channel": "A String", # Immutable. The [channel](https://support.google.com/merchants/answer/7361332) of the product.
      "contentLanguage": "A String", # Required. Immutable. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.
      "customAttributes": [ # Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.
        { # A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.
          "groupValues": [ # Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.
            # Object with schema name: CustomAttribute
          ],
          "name": "A String", # The name of the attribute.
          "value": "A String", # The value of the attribute. If `value` is not empty, `group_values` must be empty.
        },
      ],
      "feedLabel": "A String", # Required. Immutable. The feed label that lets you categorize and identify your products. The maximum allowed characters are 20, and the supported characters are `A-Z`, `0-9`, hyphen, and underscore. The feed label must not include any spaces. For more information, see [Using feed labels](//support.google.com/merchants/answer/14994087).
      "name": "A String", # Identifier. The name of the product. Format: `accounts/{account}/productInputs/{productinput}` The {productinput} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productinput}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` 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 `{productinput}` segment is used to differentiate between the two formats.
      "offerId": "A String", # Required. Immutable. Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. See the [products data specification](https://support.google.com/merchants/answer/188494#id) for details.
      "product": "A String", # Output only. The name of the processed product. Format: `accounts/{account}/products/{product}`
      "versionNumber": "A String", # Optional. Immutable. Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current `version_number`. Only supported for insertions into primary data sources. Do not set this field for updates. Do not set this field for insertions into supplemental data sources. If the operation is prevented, the aborted exception will be thrown.
    }

      dataSource: string, Required. The primary or supplemental product data source name. If the product already exists and data source provided is different, then the product will be moved to a new data source. For more information, see [Create a primary data source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source). Only API data sources are supported. Format: `accounts/{account}/dataSources/{datasource}`. For example, `accounts/123456/dataSources/104628`.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. For more information, see [Manage products](/merchant/api/guides/products/overview). Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the [Products Data Specification](https://support.google.com/merchants/answer/188494) with [some exceptions](https://support.google.com/merchants/answer/7052112). The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style.
      "attributes": { # Attributes. # Optional. A list of product attributes.
        "additionalImageLinks": [ # Additional URLs of images of the item.
          "A String",
        ],
        "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA, discouraged otherwise. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
        "adsLabels": [ # Similar to ads_grouping, but only works on CPC.
          "A String",
        ],
        "adsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product ads.
        "adult": True or False, # Set to true if the item is targeted towards adults.
        "ageGroup": "A String", # Target [age group](https://support.google.com/merchants/answer/6324463) of the item.
        "autoPricingMinPrice": { # The price represented as a number and currency. # A safeguard in the [automated discounts] (https://support.google.com/merchants/answer/10295759) and ["dynamic promotions"](https://support.google.com/merchants/answer/13949249) projects, ensuring that discounts on business offers do not fall below this value, thereby preserving the offer's value and profitability.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "availability": "A String", # [Availability](https://support.google.com/merchants/answer/6324448) status of the item. For example, "in_stock" or "out_of_stock".
        "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
        "brand": "A String", # [Brand](https://support.google.com/merchants/answer/6324351) of the item. For example, "Google".
        "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
        "certifications": [ # Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information.
          { # Product [certification](https://support.google.com/merchants/answer/13528839), initially introduced for EU energy efficiency labeling compliance using the EU EPREL database.
            "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
            "certificationCode": "A String", # The certification code. Maximum length is 2000 characters.
            "certificationName": "A String", # The name of the certification, for example "EPREL". Maximum length is 2000 characters.
            "certificationValue": "A String", # The certification value (also known as class, level or grade), for example "A+", "C", "gold". Maximum length is 2000 characters.
          },
        ],
        "cloudExportAdditionalProperties": [ # Extra fields to export to the Cloud Retail program.
          { # Product property for the Cloud Retail API. For example, properties for a TV product could be "Screen-Resolution" or "Screen-Size".
            "boolValue": True or False, # Boolean value of the given property. For example for a TV product, "True" or "False" if the screen is UHD.
            "floatValue": [ # Float values of the given property. For example for a TV product 1.2345. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.
              3.14,
            ],
            "intValue": [ # Integer values of the given property. For example, 1080 for a TV product's Screen Resolution. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.
              "A String",
            ],
            "maxValue": 3.14, # Maximum float value of the given property. For example for a TV product 100.00.
            "minValue": 3.14, # Minimum float value of the given property. For example for a TV product 1.00.
            "propertyName": "A String", # Name of the given property. For example, "Screen-Resolution" for a TV product. Maximum string size is 256 characters.
            "textValue": [ # Text value of the given property. For example, "8K(UHD)" could be a text value for a TV product. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters.
              "A String",
            ],
            "unitCode": "A String", # Unit of the given property. For example, "Pixels" for a TV product. Maximum string size is 256B.
          },
        ],
        "color": "A String", # [Color](https://support.google.com/merchants/answer/6324487) of the item. For example, "red".
        "condition": "A String", # [Condition](https://support.google.com/merchants/answer/6324469) or state of the item. For example, "new" or "used".
        "costOfGoodsSold": { # The price represented as a number and currency. # Cost of goods sold. Used for gross profit reporting.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "customLabel0": "A String", # [Custom label 0](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel1": "A String", # [Custom label 1](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel2": "A String", # [Custom label 2](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel3": "A String", # [Custom label 3](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel4": "A String", # [Custom label 4](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "description": "A String", # Description of the item.
        "disclosureDate": "A String", # The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information.
        "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
        "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
        "displayAdsSimilarIds": [ # Advertiser-specified recommendations. For more information, see [Display ads attribute specification](https://support.google.com/merchants/answer/6069387).
          "A String",
        ],
        "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
        "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
        "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "excludedDestinations": [ # Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). For more information, see [Excluded destination](https://support.google.com/merchants/answer/6324486). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
          "A String",
        ],
        "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future.
        "externalSellerId": "A String", # Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account.
        "freeShippingThreshold": [ # Conditions to be met for a product to have free shipping.
          { # Conditions to be met for a product to have free shipping.
            "country": "A String", # The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
            "priceThreshold": { # The price represented as a number and currency. # The minimum product price for the shipping cost to become free. Represented as a number.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
          },
        ],
        "gender": "A String", # Target [gender](https://support.google.com/merchants/answer/6324479) of the item. For example, "male" or "female".
        "googleProductCategory": "A String", # Google's category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.
        "gtin": [ # Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs. Deprecated: Use `gtins` instead.
          "A String",
        ],
        "gtins": [ # A list of Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs.
          "A String",
        ],
        "identifierExists": True or False, # Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided.
        "imageLink": "A String", # URL of an image of the item.
        "includedDestinations": [ # Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. For more information, see [Included destination](https://support.google.com/merchants/answer/7501026). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
          "A String",
        ],
        "installment": { # A message that represents installment. # Number and amount of installments to pay for an item.
          "amount": { # The price represented as a number and currency. # The amount the buyer has to pay per month.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "creditType": "A String", # Type of installment payments. Supported values are: * "`finance`" * "`lease`"
          "downpayment": { # The price represented as a number and currency. # The up-front down payment amount the buyer has to pay.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "months": "A String", # The number of installments the buyer has to pay.
        },
        "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price.
        "itemGroupId": "A String", # Shared identifier for all variants of the same product.
        "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information.
          "A String",
        ],
        "link": "A String", # URL directly linking to your item's page on your online store.
        "linkTemplate": "A String", # [Link template](https://support.google.com/merchants/answer/13871172) for business hosted local storefront.
        "loyaltyPoints": { # A message that represents loyalty points. # Loyalty points that users receive after purchasing the item. Japan only.
          "name": "A String", # Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.
          "pointsValue": "A String", # The retailer's loyalty points in absolute value.
          "ratio": 3.14, # The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.
        },
        "loyaltyPrograms": [ # A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item.
          { # A message that represents loyalty program.
            "cashbackForFutureUse": { # The price represented as a number and currency. # The cashback that can be used for future purchases.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "loyaltyPoints": "A String", # The amount of loyalty points earned on a purchase.
            "memberPriceEffectiveDate": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash.
              "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
              "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
            },
            "price": { # The price represented as a number and currency. # The price for members of the given tier, that is, the instant discount price. Must be smaller or equal to the regular price.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "programLabel": "A String", # The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a business entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a business. The corresponding program must be linked to the Merchant Center account.
            "shippingLabel": "A String", # The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn't provided, the item is not eligible for loyalty shipping for the given loyalty tier.
            "tierLabel": "A String", # The label of the tier within the loyalty program. Must match one of the labels within the program.
          },
        ],
        "material": "A String", # The [material](https://support.google.com/merchants/answer/6324410) of which the item is made. For example, "Leather" or "Cotton".
        "maxEnergyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "maxHandlingTime": "A String", # Maximal product handling time (in business days).
        "maximumRetailPrice": { # The price represented as a number and currency. # Maximum retail price (MRP) of the item. Applicable to India only.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "minEnergyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "minHandlingTime": "A String", # Minimal product handling time (in business days).
        "mobileLink": "A String", # URL for the mobile-optimized version of your item's landing page.
        "mobileLinkTemplate": "A String", # [Link template](https://support.google.com/merchants/answer/13870216) for business hosted local storefront optimized for mobile devices.
        "mpn": "A String", # Manufacturer Part Number ([MPN](https://support.google.com/merchants/answer/6324482)) of the item.
        "multipack": "A String", # The number of identical products in a business-defined multipack.
        "pattern": "A String", # The item's [pattern](https://support.google.com/merchants/answer/6324483). For example, polka dots.
        "pause": "A String", # Publication of this item will be temporarily [paused](https://support.google.com/merchants/answer/11909930).
        "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item.
        "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400).
        "price": { # The price represented as a number and currency. # Price of the item.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "productDetails": [ # Technical specification or additional product details.
          { # The product details.
            "attributeName": "A String", # The name of the product detail.
            "attributeValue": "A String", # The value of the product detail.
            "sectionName": "A String", # The section header used to group a set of product details.
          },
        ],
        "productHeight": { # The dimension of the product. # The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productHighlights": [ # Bullet points describing the most relevant [product highlights](https://support.google.com/merchants/answer/9216100).
          "A String",
        ],
        "productLength": { # The dimension of the product. # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productTypes": [ # Categories of the item (formatted as in [product data specification](https://support.google.com/merchants/answer/7052112#product_category)).
          "A String",
        ],
        "productWeight": { # The weight of the product. # The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive).
          "unit": "A String", # Required. The weight unit. Acceptable values are: * "`g`" * "`kg`" * "`oz`" * "`lb`"
          "value": 3.14, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
        },
        "productWidth": { # The dimension of the product. # The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "promotionIds": [ # The unique ID of a promotion.
          "A String",
        ],
        "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "salePriceEffectiveDate": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # Date range during which the item is on sale, see [product data specification](https://support.google.com/merchants/answer/7052112#price_and_availability).
          "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
          "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
        },
        "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
        "shipping": [ # Shipping rules.
          { # The Shipping of the product.
            "country": "A String", # The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
            "handlingCutoffTime": "A String", # The handling cutoff time until which an order has to be placed to be processed in the same day. This is a string in format of HHMM (e.g. `1530`) for 3:30 PM. If not configured, the cutoff time will be defaulted to 8AM PST and `handling_cutoff_timezone` will be ignored.
            "handlingCutoffTimezone": "A String", # [Timezone identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids) For example `Europe/Zurich`. This field only applies if `handling_cutoff_time` is set. If `handling_cutoff_time` is set but this field is not set, the shipping destination timezone will be used. If both fields are not set, the handling cutoff time will default to 8AM PST.
            "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
            "locationId": "A String", # The numeric ID of a location that the shipping rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
            "loyaltyProgramLabel": "A String", # Optional. The label of the [loyalty program](https://support.google.com/merchants/answer/6324484). Must match one of the program labels set in loyalty_programs. When set (in combination with [loyalty_tier_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
            "loyaltyTierLabel": "A String", # Optional. The label of the [loyalty tier](https://support.google.com/merchants/answer/6324484) within the loyalty program. Must match one of the tiers set in the loyalty_programs. When set (in combination with [loyalty_program_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
            "maxHandlingTime": "A String", # Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minHandlingTime is optional if maxHandlingTime is present.
            "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minTransitTime is optional if maxTransitTime is present.
            "minHandlingTime": "A String", # Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it is not required if maxHandlingTime is present.
            "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it is not required if maxTransitTime is present.
            "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
            "price": { # The price represented as a number and currency. # Fixed shipping price, represented as a number.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "region": "A String", # The geographic region to which a shipping rate applies. See [region](https://support.google.com/merchants/answer/6324484) for more information.
            "service": "A String", # A free-form description of the service class or delivery speed.
          },
        ],
        "shippingHeight": { # The ShippingDimension of the product. # Height of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
        "shippingLength": { # The ShippingDimension of the product. # Length of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shippingWeight": { # The ShippingWeight of the product. # Weight of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The weight of the product used to calculate the shipping cost of the item.
        },
        "shippingWidth": { # The ShippingDimension of the product. # Width of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shoppingAdsExcludedCountries": [ # List of country codes [(ISO 3166-1 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings.
          "A String",
        ],
        "size": "A String", # Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value, see [Size](https://support.google.com/merchants/answer/6324492).
        "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items. For example, "US", "UK", "DE". For more information, see [Size system](https://support.google.com/merchants/answer/6324502).
        "sizeTypes": [ # The cut of the item. It can be used to represent combined size types for apparel items. Maximum two of size types can be provided, see [Size type](https://support.google.com/merchants/answer/6324497). For example, "petite", "plus size".
          "A String",
        ],
        "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. # Structured description, for algorithmically (AI)-generated descriptions.
          "content": "A String", # The description text Maximum length is 5000 characters
          "digitalSourceType": "A String", # The digital source type, for example "trained_algorithmic_media". Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). Maximum length is 40 characters.
        },
        "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. # Structured title, for algorithmically (AI)-generated titles.
          "content": "A String", # The title text Maximum length is 150 characters
          "digitalSourceType": "A String", # The digital source type, for example "trained_algorithmic_media". Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). Maximum length is 40 characters.
        },
        "subscriptionCost": { # The SubscriptionCost of the product. # Number of periods (weeks, months or years) and amount of payment per period for an item with an associated subscription contract.
          "amount": { # The price represented as a number and currency. # The amount the buyer has to pay per subscription period.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "period": "A String", # The type of subscription period. Supported values are: * "`month`" * "`year`" * "`week`"
          "periodLength": "A String", # The number of subscription periods the buyer has to pay.
        },
        "sustainabilityIncentives": [ # The list of sustainability incentive programs.
          { # Information regarding sustainability-related incentive programs such as rebates or tax relief.
            "amount": { # The price represented as a number and currency. # The fixed amount of the incentive.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "percentage": 3.14, # The percentage of the sale price that the incentive is applied to.
            "type": "A String", # Sustainability incentive program.
          },
        ],
        "taxCategory": "A String", # The [tax category](https://support.google.com/merchants/answer/7569847) of the product.
        "taxes": [ # Tax information.
          { # The Tax of the product.
            "country": "A String", # The country within which the item is taxed, specified as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
            "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
            "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
            "rate": 3.14, # The percentage of tax rate that applies to the item price.
            "region": "A String", # The geographic region to which the tax rate applies.
            "taxShip": True or False, # Set to true if tax is charged on shipping.
          },
        ],
        "title": "A String", # Title of the item.
        "transitTimeLabel": "A String", # The transit time label of the product, used to group product in account-level transit time tables.
        "unitPricingBaseMeasure": { # The UnitPricingBaseMeasure of the product. # The preference of the denominator of the unit price.
          "unit": "A String", # The unit of the denominator.
          "value": "A String", # The denominator of the unit price.
        },
        "unitPricingMeasure": { # The UnitPricingMeasure of the product. # The measure and dimension of an item.
          "unit": "A String", # The unit of the measure.
          "value": 3.14, # The measure of an item.
        },
        "virtualModelLink": "A String", # URL of the 3D image of the item. See the [Help Center article](https://support.google.com/merchants/answer/13674896) for more information.
      },
      "base64EncodedName": "A String", # Output only. The **unpadded base64url encoded name** of the product input. Format: `accounts/{account}/productInputs/{productinput}` where the last section `productinput` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw` for the decoded product input name `accounts/123/productInputs/en~US~sku/123`. This field can be used directly as input to the API methods that require the product input name to be encoded if it contains special characters, for example [`GetProductInput`](https://developers.google.com/merchant/api/reference/rest/products_v1beta/accounts.productInputs/get).
      "base64EncodedProduct": "A String", # Output only. The **unpadded base64url encoded name** of the processed product. Format: `accounts/{account}/products/{product}` where the last section `product` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/products/ZW5-VVN-c2t1LzEyMw` for the decoded product name `accounts/123/products/en~US~sku/123`. This field can be used directly as input to the API methods that require the product name to be encoded if it contains special characters, for example [`GetProduct`](https://developers.google.com/merchant/api/reference/rest/products_v1beta/accounts.products/get).
      "channel": "A String", # Immutable. The [channel](https://support.google.com/merchants/answer/7361332) of the product.
      "contentLanguage": "A String", # Required. Immutable. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.
      "customAttributes": [ # Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.
        { # A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.
          "groupValues": [ # Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.
            # Object with schema name: CustomAttribute
          ],
          "name": "A String", # The name of the attribute.
          "value": "A String", # The value of the attribute. If `value` is not empty, `group_values` must be empty.
        },
      ],
      "feedLabel": "A String", # Required. Immutable. The feed label that lets you categorize and identify your products. The maximum allowed characters are 20, and the supported characters are `A-Z`, `0-9`, hyphen, and underscore. The feed label must not include any spaces. For more information, see [Using feed labels](//support.google.com/merchants/answer/14994087).
      "name": "A String", # Identifier. The name of the product. Format: `accounts/{account}/productInputs/{productinput}` The {productinput} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productinput}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` 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 `{productinput}` segment is used to differentiate between the two formats.
      "offerId": "A String", # Required. Immutable. Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. See the [products data specification](https://support.google.com/merchants/answer/188494#id) for details.
      "product": "A String", # Output only. The name of the processed product. Format: `accounts/{account}/products/{product}`
      "versionNumber": "A String", # Optional. Immutable. Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current `version_number`. Only supported for insertions into primary data sources. Do not set this field for updates. Do not set this field for insertions into supplemental data sources. If the operation is prevented, the aborted exception will be thrown.
    }

`patch(name, body=None, dataSource=None, updateMask=None, x__xgafv=None)`

    Updates the existing product input in your Merchant Center account. The name of the product input to update is taken from the `name` field within the `ProductInput` resource. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved.

    Args:
      name: string, Identifier. The name of the product. Format: `accounts/{account}/productInputs/{productinput}` The {productinput} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productinput}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` 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 `{productinput}` segment is used to differentiate between the two formats. (required)
      body: object, The request body.
        The object takes the form of:

    { # This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. For more information, see [Manage products](/merchant/api/guides/products/overview). Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the [Products Data Specification](https://support.google.com/merchants/answer/188494) with [some exceptions](https://support.google.com/merchants/answer/7052112). The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style.
      "attributes": { # Attributes. # Optional. A list of product attributes.
        "additionalImageLinks": [ # Additional URLs of images of the item.
          "A String",
        ],
        "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA, discouraged otherwise. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
        "adsLabels": [ # Similar to ads_grouping, but only works on CPC.
          "A String",
        ],
        "adsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product ads.
        "adult": True or False, # Set to true if the item is targeted towards adults.
        "ageGroup": "A String", # Target [age group](https://support.google.com/merchants/answer/6324463) of the item.
        "autoPricingMinPrice": { # The price represented as a number and currency. # A safeguard in the [automated discounts] (https://support.google.com/merchants/answer/10295759) and ["dynamic promotions"](https://support.google.com/merchants/answer/13949249) projects, ensuring that discounts on business offers do not fall below this value, thereby preserving the offer's value and profitability.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "availability": "A String", # [Availability](https://support.google.com/merchants/answer/6324448) status of the item. For example, "in_stock" or "out_of_stock".
        "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
        "brand": "A String", # [Brand](https://support.google.com/merchants/answer/6324351) of the item. For example, "Google".
        "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
        "certifications": [ # Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information.
          { # Product [certification](https://support.google.com/merchants/answer/13528839), initially introduced for EU energy efficiency labeling compliance using the EU EPREL database.
            "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
            "certificationCode": "A String", # The certification code. Maximum length is 2000 characters.
            "certificationName": "A String", # The name of the certification, for example "EPREL". Maximum length is 2000 characters.
            "certificationValue": "A String", # The certification value (also known as class, level or grade), for example "A+", "C", "gold". Maximum length is 2000 characters.
          },
        ],
        "cloudExportAdditionalProperties": [ # Extra fields to export to the Cloud Retail program.
          { # Product property for the Cloud Retail API. For example, properties for a TV product could be "Screen-Resolution" or "Screen-Size".
            "boolValue": True or False, # Boolean value of the given property. For example for a TV product, "True" or "False" if the screen is UHD.
            "floatValue": [ # Float values of the given property. For example for a TV product 1.2345. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.
              3.14,
            ],
            "intValue": [ # Integer values of the given property. For example, 1080 for a TV product's Screen Resolution. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.
              "A String",
            ],
            "maxValue": 3.14, # Maximum float value of the given property. For example for a TV product 100.00.
            "minValue": 3.14, # Minimum float value of the given property. For example for a TV product 1.00.
            "propertyName": "A String", # Name of the given property. For example, "Screen-Resolution" for a TV product. Maximum string size is 256 characters.
            "textValue": [ # Text value of the given property. For example, "8K(UHD)" could be a text value for a TV product. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters.
              "A String",
            ],
            "unitCode": "A String", # Unit of the given property. For example, "Pixels" for a TV product. Maximum string size is 256B.
          },
        ],
        "color": "A String", # [Color](https://support.google.com/merchants/answer/6324487) of the item. For example, "red".
        "condition": "A String", # [Condition](https://support.google.com/merchants/answer/6324469) or state of the item. For example, "new" or "used".
        "costOfGoodsSold": { # The price represented as a number and currency. # Cost of goods sold. Used for gross profit reporting.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "customLabel0": "A String", # [Custom label 0](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel1": "A String", # [Custom label 1](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel2": "A String", # [Custom label 2](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel3": "A String", # [Custom label 3](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel4": "A String", # [Custom label 4](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "description": "A String", # Description of the item.
        "disclosureDate": "A String", # The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information.
        "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
        "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
        "displayAdsSimilarIds": [ # Advertiser-specified recommendations. For more information, see [Display ads attribute specification](https://support.google.com/merchants/answer/6069387).
          "A String",
        ],
        "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
        "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
        "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "excludedDestinations": [ # Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). For more information, see [Excluded destination](https://support.google.com/merchants/answer/6324486). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
          "A String",
        ],
        "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future.
        "externalSellerId": "A String", # Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account.
        "freeShippingThreshold": [ # Conditions to be met for a product to have free shipping.
          { # Conditions to be met for a product to have free shipping.
            "country": "A String", # The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
            "priceThreshold": { # The price represented as a number and currency. # The minimum product price for the shipping cost to become free. Represented as a number.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
          },
        ],
        "gender": "A String", # Target [gender](https://support.google.com/merchants/answer/6324479) of the item. For example, "male" or "female".
        "googleProductCategory": "A String", # Google's category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.
        "gtin": [ # Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs. Deprecated: Use `gtins` instead.
          "A String",
        ],
        "gtins": [ # A list of Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs.
          "A String",
        ],
        "identifierExists": True or False, # Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided.
        "imageLink": "A String", # URL of an image of the item.
        "includedDestinations": [ # Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. For more information, see [Included destination](https://support.google.com/merchants/answer/7501026). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
          "A String",
        ],
        "installment": { # A message that represents installment. # Number and amount of installments to pay for an item.
          "amount": { # The price represented as a number and currency. # The amount the buyer has to pay per month.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "creditType": "A String", # Type of installment payments. Supported values are: * "`finance`" * "`lease`"
          "downpayment": { # The price represented as a number and currency. # The up-front down payment amount the buyer has to pay.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "months": "A String", # The number of installments the buyer has to pay.
        },
        "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price.
        "itemGroupId": "A String", # Shared identifier for all variants of the same product.
        "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information.
          "A String",
        ],
        "link": "A String", # URL directly linking to your item's page on your online store.
        "linkTemplate": "A String", # [Link template](https://support.google.com/merchants/answer/13871172) for business hosted local storefront.
        "loyaltyPoints": { # A message that represents loyalty points. # Loyalty points that users receive after purchasing the item. Japan only.
          "name": "A String", # Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.
          "pointsValue": "A String", # The retailer's loyalty points in absolute value.
          "ratio": 3.14, # The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.
        },
        "loyaltyPrograms": [ # A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item.
          { # A message that represents loyalty program.
            "cashbackForFutureUse": { # The price represented as a number and currency. # The cashback that can be used for future purchases.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "loyaltyPoints": "A String", # The amount of loyalty points earned on a purchase.
            "memberPriceEffectiveDate": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash.
              "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
              "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
            },
            "price": { # The price represented as a number and currency. # The price for members of the given tier, that is, the instant discount price. Must be smaller or equal to the regular price.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "programLabel": "A String", # The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a business entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a business. The corresponding program must be linked to the Merchant Center account.
            "shippingLabel": "A String", # The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn't provided, the item is not eligible for loyalty shipping for the given loyalty tier.
            "tierLabel": "A String", # The label of the tier within the loyalty program. Must match one of the labels within the program.
          },
        ],
        "material": "A String", # The [material](https://support.google.com/merchants/answer/6324410) of which the item is made. For example, "Leather" or "Cotton".
        "maxEnergyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "maxHandlingTime": "A String", # Maximal product handling time (in business days).
        "maximumRetailPrice": { # The price represented as a number and currency. # Maximum retail price (MRP) of the item. Applicable to India only.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "minEnergyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "minHandlingTime": "A String", # Minimal product handling time (in business days).
        "mobileLink": "A String", # URL for the mobile-optimized version of your item's landing page.
        "mobileLinkTemplate": "A String", # [Link template](https://support.google.com/merchants/answer/13870216) for business hosted local storefront optimized for mobile devices.
        "mpn": "A String", # Manufacturer Part Number ([MPN](https://support.google.com/merchants/answer/6324482)) of the item.
        "multipack": "A String", # The number of identical products in a business-defined multipack.
        "pattern": "A String", # The item's [pattern](https://support.google.com/merchants/answer/6324483). For example, polka dots.
        "pause": "A String", # Publication of this item will be temporarily [paused](https://support.google.com/merchants/answer/11909930).
        "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item.
        "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400).
        "price": { # The price represented as a number and currency. # Price of the item.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "productDetails": [ # Technical specification or additional product details.
          { # The product details.
            "attributeName": "A String", # The name of the product detail.
            "attributeValue": "A String", # The value of the product detail.
            "sectionName": "A String", # The section header used to group a set of product details.
          },
        ],
        "productHeight": { # The dimension of the product. # The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productHighlights": [ # Bullet points describing the most relevant [product highlights](https://support.google.com/merchants/answer/9216100).
          "A String",
        ],
        "productLength": { # The dimension of the product. # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productTypes": [ # Categories of the item (formatted as in [product data specification](https://support.google.com/merchants/answer/7052112#product_category)).
          "A String",
        ],
        "productWeight": { # The weight of the product. # The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive).
          "unit": "A String", # Required. The weight unit. Acceptable values are: * "`g`" * "`kg`" * "`oz`" * "`lb`"
          "value": 3.14, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
        },
        "productWidth": { # The dimension of the product. # The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "promotionIds": [ # The unique ID of a promotion.
          "A String",
        ],
        "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "salePriceEffectiveDate": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # Date range during which the item is on sale, see [product data specification](https://support.google.com/merchants/answer/7052112#price_and_availability).
          "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
          "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
        },
        "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
        "shipping": [ # Shipping rules.
          { # The Shipping of the product.
            "country": "A String", # The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
            "handlingCutoffTime": "A String", # The handling cutoff time until which an order has to be placed to be processed in the same day. This is a string in format of HHMM (e.g. `1530`) for 3:30 PM. If not configured, the cutoff time will be defaulted to 8AM PST and `handling_cutoff_timezone` will be ignored.
            "handlingCutoffTimezone": "A String", # [Timezone identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids) For example `Europe/Zurich`. This field only applies if `handling_cutoff_time` is set. If `handling_cutoff_time` is set but this field is not set, the shipping destination timezone will be used. If both fields are not set, the handling cutoff time will default to 8AM PST.
            "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
            "locationId": "A String", # The numeric ID of a location that the shipping rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
            "loyaltyProgramLabel": "A String", # Optional. The label of the [loyalty program](https://support.google.com/merchants/answer/6324484). Must match one of the program labels set in loyalty_programs. When set (in combination with [loyalty_tier_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
            "loyaltyTierLabel": "A String", # Optional. The label of the [loyalty tier](https://support.google.com/merchants/answer/6324484) within the loyalty program. Must match one of the tiers set in the loyalty_programs. When set (in combination with [loyalty_program_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
            "maxHandlingTime": "A String", # Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minHandlingTime is optional if maxHandlingTime is present.
            "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minTransitTime is optional if maxTransitTime is present.
            "minHandlingTime": "A String", # Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it is not required if maxHandlingTime is present.
            "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it is not required if maxTransitTime is present.
            "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
            "price": { # The price represented as a number and currency. # Fixed shipping price, represented as a number.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "region": "A String", # The geographic region to which a shipping rate applies. See [region](https://support.google.com/merchants/answer/6324484) for more information.
            "service": "A String", # A free-form description of the service class or delivery speed.
          },
        ],
        "shippingHeight": { # The ShippingDimension of the product. # Height of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
        "shippingLength": { # The ShippingDimension of the product. # Length of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shippingWeight": { # The ShippingWeight of the product. # Weight of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The weight of the product used to calculate the shipping cost of the item.
        },
        "shippingWidth": { # The ShippingDimension of the product. # Width of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shoppingAdsExcludedCountries": [ # List of country codes [(ISO 3166-1 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings.
          "A String",
        ],
        "size": "A String", # Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value, see [Size](https://support.google.com/merchants/answer/6324492).
        "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items. For example, "US", "UK", "DE". For more information, see [Size system](https://support.google.com/merchants/answer/6324502).
        "sizeTypes": [ # The cut of the item. It can be used to represent combined size types for apparel items. Maximum two of size types can be provided, see [Size type](https://support.google.com/merchants/answer/6324497). For example, "petite", "plus size".
          "A String",
        ],
        "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. # Structured description, for algorithmically (AI)-generated descriptions.
          "content": "A String", # The description text Maximum length is 5000 characters
          "digitalSourceType": "A String", # The digital source type, for example "trained_algorithmic_media". Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). Maximum length is 40 characters.
        },
        "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. # Structured title, for algorithmically (AI)-generated titles.
          "content": "A String", # The title text Maximum length is 150 characters
          "digitalSourceType": "A String", # The digital source type, for example "trained_algorithmic_media". Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). Maximum length is 40 characters.
        },
        "subscriptionCost": { # The SubscriptionCost of the product. # Number of periods (weeks, months or years) and amount of payment per period for an item with an associated subscription contract.
          "amount": { # The price represented as a number and currency. # The amount the buyer has to pay per subscription period.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "period": "A String", # The type of subscription period. Supported values are: * "`month`" * "`year`" * "`week`"
          "periodLength": "A String", # The number of subscription periods the buyer has to pay.
        },
        "sustainabilityIncentives": [ # The list of sustainability incentive programs.
          { # Information regarding sustainability-related incentive programs such as rebates or tax relief.
            "amount": { # The price represented as a number and currency. # The fixed amount of the incentive.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "percentage": 3.14, # The percentage of the sale price that the incentive is applied to.
            "type": "A String", # Sustainability incentive program.
          },
        ],
        "taxCategory": "A String", # The [tax category](https://support.google.com/merchants/answer/7569847) of the product.
        "taxes": [ # Tax information.
          { # The Tax of the product.
            "country": "A String", # The country within which the item is taxed, specified as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
            "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
            "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
            "rate": 3.14, # The percentage of tax rate that applies to the item price.
            "region": "A String", # The geographic region to which the tax rate applies.
            "taxShip": True or False, # Set to true if tax is charged on shipping.
          },
        ],
        "title": "A String", # Title of the item.
        "transitTimeLabel": "A String", # The transit time label of the product, used to group product in account-level transit time tables.
        "unitPricingBaseMeasure": { # The UnitPricingBaseMeasure of the product. # The preference of the denominator of the unit price.
          "unit": "A String", # The unit of the denominator.
          "value": "A String", # The denominator of the unit price.
        },
        "unitPricingMeasure": { # The UnitPricingMeasure of the product. # The measure and dimension of an item.
          "unit": "A String", # The unit of the measure.
          "value": 3.14, # The measure of an item.
        },
        "virtualModelLink": "A String", # URL of the 3D image of the item. See the [Help Center article](https://support.google.com/merchants/answer/13674896) for more information.
      },
      "base64EncodedName": "A String", # Output only. The **unpadded base64url encoded name** of the product input. Format: `accounts/{account}/productInputs/{productinput}` where the last section `productinput` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw` for the decoded product input name `accounts/123/productInputs/en~US~sku/123`. This field can be used directly as input to the API methods that require the product input name to be encoded if it contains special characters, for example [`GetProductInput`](https://developers.google.com/merchant/api/reference/rest/products_v1beta/accounts.productInputs/get).
      "base64EncodedProduct": "A String", # Output only. The **unpadded base64url encoded name** of the processed product. Format: `accounts/{account}/products/{product}` where the last section `product` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/products/ZW5-VVN-c2t1LzEyMw` for the decoded product name `accounts/123/products/en~US~sku/123`. This field can be used directly as input to the API methods that require the product name to be encoded if it contains special characters, for example [`GetProduct`](https://developers.google.com/merchant/api/reference/rest/products_v1beta/accounts.products/get).
      "channel": "A String", # Immutable. The [channel](https://support.google.com/merchants/answer/7361332) of the product.
      "contentLanguage": "A String", # Required. Immutable. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.
      "customAttributes": [ # Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.
        { # A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.
          "groupValues": [ # Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.
            # Object with schema name: CustomAttribute
          ],
          "name": "A String", # The name of the attribute.
          "value": "A String", # The value of the attribute. If `value` is not empty, `group_values` must be empty.
        },
      ],
      "feedLabel": "A String", # Required. Immutable. The feed label that lets you categorize and identify your products. The maximum allowed characters are 20, and the supported characters are `A-Z`, `0-9`, hyphen, and underscore. The feed label must not include any spaces. For more information, see [Using feed labels](//support.google.com/merchants/answer/14994087).
      "name": "A String", # Identifier. The name of the product. Format: `accounts/{account}/productInputs/{productinput}` The {productinput} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productinput}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` 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 `{productinput}` segment is used to differentiate between the two formats.
      "offerId": "A String", # Required. Immutable. Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. See the [products data specification](https://support.google.com/merchants/answer/188494#id) for details.
      "product": "A String", # Output only. The name of the processed product. Format: `accounts/{account}/products/{product}`
      "versionNumber": "A String", # Optional. Immutable. Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current `version_number`. Only supported for insertions into primary data sources. Do not set this field for updates. Do not set this field for insertions into supplemental data sources. If the operation is prevented, the aborted exception will be thrown.
    }

      dataSource: string, Required. The primary or supplemental product data source where `data_source` name identifies the product input to be updated. Only API data sources are supported. Format: `accounts/{account}/dataSources/{datasource}`. For example, `accounts/123456/dataSources/104628`.
      updateMask: string, Optional. The list of product attributes to be updated. If the update mask is omitted, then it is treated as implied field mask equivalent to all fields that are populated (have a non-empty value). Attributes specified in the update mask without a value specified in the body will be deleted from the product. Update mask can only be specified for top level fields in attributes and custom attributes. To specify the update mask for custom attributes you need to add the `custom_attribute.` prefix. Providing special "*" value for full product replacement is not supported.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. For more information, see [Manage products](/merchant/api/guides/products/overview). Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the [Products Data Specification](https://support.google.com/merchants/answer/188494) with [some exceptions](https://support.google.com/merchants/answer/7052112). The following reference documentation lists the field names in the **camelCase** casing style while the Products Data Specification lists the names in the **snake_case** casing style.
      "attributes": { # Attributes. # Optional. A list of product attributes.
        "additionalImageLinks": [ # Additional URLs of images of the item.
          "A String",
        ],
        "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA, discouraged otherwise. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
        "adsLabels": [ # Similar to ads_grouping, but only works on CPC.
          "A String",
        ],
        "adsRedirect": "A String", # Allows advertisers to override the item URL when the product is shown within the context of Product ads.
        "adult": True or False, # Set to true if the item is targeted towards adults.
        "ageGroup": "A String", # Target [age group](https://support.google.com/merchants/answer/6324463) of the item.
        "autoPricingMinPrice": { # The price represented as a number and currency. # A safeguard in the [automated discounts] (https://support.google.com/merchants/answer/10295759) and ["dynamic promotions"](https://support.google.com/merchants/answer/13949249) projects, ensuring that discounts on business offers do not fall below this value, thereby preserving the offer's value and profitability.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "availability": "A String", # [Availability](https://support.google.com/merchants/answer/6324448) status of the item. For example, "in_stock" or "out_of_stock".
        "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
        "brand": "A String", # [Brand](https://support.google.com/merchants/answer/6324351) of the item. For example, "Google".
        "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
        "certifications": [ # Product Certifications, for example for energy efficiency labeling of products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database. See the [Help Center](https://support.google.com/merchants/answer/13528839) article for more information.
          { # Product [certification](https://support.google.com/merchants/answer/13528839), initially introduced for EU energy efficiency labeling compliance using the EU EPREL database.
            "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
            "certificationCode": "A String", # The certification code. Maximum length is 2000 characters.
            "certificationName": "A String", # The name of the certification, for example "EPREL". Maximum length is 2000 characters.
            "certificationValue": "A String", # The certification value (also known as class, level or grade), for example "A+", "C", "gold". Maximum length is 2000 characters.
          },
        ],
        "cloudExportAdditionalProperties": [ # Extra fields to export to the Cloud Retail program.
          { # Product property for the Cloud Retail API. For example, properties for a TV product could be "Screen-Resolution" or "Screen-Size".
            "boolValue": True or False, # Boolean value of the given property. For example for a TV product, "True" or "False" if the screen is UHD.
            "floatValue": [ # Float values of the given property. For example for a TV product 1.2345. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.
              3.14,
            ],
            "intValue": [ # Integer values of the given property. For example, 1080 for a TV product's Screen Resolution. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order.
              "A String",
            ],
            "maxValue": 3.14, # Maximum float value of the given property. For example for a TV product 100.00.
            "minValue": 3.14, # Minimum float value of the given property. For example for a TV product 1.00.
            "propertyName": "A String", # Name of the given property. For example, "Screen-Resolution" for a TV product. Maximum string size is 256 characters.
            "textValue": [ # Text value of the given property. For example, "8K(UHD)" could be a text value for a TV product. Maximum repeatedness of this value is 400. Values are stored in an arbitrary but consistent order. Maximum string size is 256 characters.
              "A String",
            ],
            "unitCode": "A String", # Unit of the given property. For example, "Pixels" for a TV product. Maximum string size is 256B.
          },
        ],
        "color": "A String", # [Color](https://support.google.com/merchants/answer/6324487) of the item. For example, "red".
        "condition": "A String", # [Condition](https://support.google.com/merchants/answer/6324469) or state of the item. For example, "new" or "used".
        "costOfGoodsSold": { # The price represented as a number and currency. # Cost of goods sold. Used for gross profit reporting.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "customLabel0": "A String", # [Custom label 0](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel1": "A String", # [Custom label 1](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel2": "A String", # [Custom label 2](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel3": "A String", # [Custom label 3](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "customLabel4": "A String", # [Custom label 4](https://support.google.com/merchants/answer/6324473) for custom grouping of items in a Shopping campaign.
        "description": "A String", # Description of the item.
        "disclosureDate": "A String", # The date time when an offer becomes visible in search results across Google’s YouTube surfaces, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](https://support.google.com/merchants/answer/13034208) for more information.
        "displayAdsId": "A String", # An identifier for an item for dynamic remarketing campaigns.
        "displayAdsLink": "A String", # URL directly to your item's landing page for dynamic remarketing campaigns.
        "displayAdsSimilarIds": [ # Advertiser-specified recommendations. For more information, see [Display ads attribute specification](https://support.google.com/merchants/answer/6069387).
          "A String",
        ],
        "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
        "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387).
        "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "excludedDestinations": [ # Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center). For more information, see [Excluded destination](https://support.google.com/merchants/answer/6324486). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
          "A String",
        ],
        "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration date is exposed in `productstatuses` as [googleExpirationDate](https://support.google.com/merchants/answer/6324499) and might be earlier if `expirationDate` is too far in the future.
        "externalSellerId": "A String", # Required for multi-seller accounts. Use this attribute if you're a marketplace uploading products for various sellers to your multi-seller account.
        "freeShippingThreshold": [ # Conditions to be met for a product to have free shipping.
          { # Conditions to be met for a product to have free shipping.
            "country": "A String", # The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
            "priceThreshold": { # The price represented as a number and currency. # The minimum product price for the shipping cost to become free. Represented as a number.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
          },
        ],
        "gender": "A String", # Target [gender](https://support.google.com/merchants/answer/6324479) of the item. For example, "male" or "female".
        "googleProductCategory": "A String", # Google's category of the item (see [Google product taxonomy](https://support.google.com/merchants/answer/1705911)). When querying products, this field will contain the user provided value. There is currently no way to get back the auto assigned google product categories through the API.
        "gtin": [ # Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs. Deprecated: Use `gtins` instead.
          "A String",
        ],
        "gtins": [ # A list of Global Trade Item Numbers ([GTIN](https://support.google.com/merchants/answer/6324461)) of the item. You can provide up to 10 GTINs.
          "A String",
        ],
        "identifierExists": True or False, # Set this value to false when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Defaults to true, if not provided.
        "imageLink": "A String", # URL of an image of the item.
        "includedDestinations": [ # Destinations also known as [Marketing methods](https://support.google.com/merchants/answer/15130232) selections. The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`. For more information, see [Included destination](https://support.google.com/merchants/answer/7501026). Note: We recommend setting destinations on datasources level for most use cases. Use this field within products to only setup exceptions.
          "A String",
        ],
        "installment": { # A message that represents installment. # Number and amount of installments to pay for an item.
          "amount": { # The price represented as a number and currency. # The amount the buyer has to pay per month.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "creditType": "A String", # Type of installment payments. Supported values are: * "`finance`" * "`lease`"
          "downpayment": { # The price represented as a number and currency. # The up-front down payment amount the buyer has to pay.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "months": "A String", # The number of installments the buyer has to pay.
        },
        "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price.
        "itemGroupId": "A String", # Shared identifier for all variants of the same product.
        "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information.
          "A String",
        ],
        "link": "A String", # URL directly linking to your item's page on your online store.
        "linkTemplate": "A String", # [Link template](https://support.google.com/merchants/answer/13871172) for business hosted local storefront.
        "loyaltyPoints": { # A message that represents loyalty points. # Loyalty points that users receive after purchasing the item. Japan only.
          "name": "A String", # Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.
          "pointsValue": "A String", # The retailer's loyalty points in absolute value.
          "ratio": 3.14, # The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.
        },
        "loyaltyPrograms": [ # A list of loyalty program information that is used to surface loyalty benefits (for example, better pricing, points, etc) to the user of this item.
          { # A message that represents loyalty program.
            "cashbackForFutureUse": { # The price represented as a number and currency. # The cashback that can be used for future purchases.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "loyaltyPoints": "A String", # The amount of loyalty points earned on a purchase.
            "memberPriceEffectiveDate": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # A date range during which the item is eligible for member price. If not specified, the member price is always applicable. The date range is represented by a pair of ISO 8601 dates separated by a space, comma, or slash.
              "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
              "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
            },
            "price": { # The price represented as a number and currency. # The price for members of the given tier, that is, the instant discount price. Must be smaller or equal to the regular price.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "programLabel": "A String", # The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a business entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a business. The corresponding program must be linked to the Merchant Center account.
            "shippingLabel": "A String", # The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn't provided, the item is not eligible for loyalty shipping for the given loyalty tier.
            "tierLabel": "A String", # The label of the tier within the loyalty program. Must match one of the labels within the program.
          },
        ],
        "material": "A String", # The [material](https://support.google.com/merchants/answer/6324410) of which the item is made. For example, "Leather" or "Cotton".
        "maxEnergyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "maxHandlingTime": "A String", # Maximal product handling time (in business days).
        "maximumRetailPrice": { # The price represented as a number and currency. # Maximum retail price (MRP) of the item. Applicable to India only.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "minEnergyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "minHandlingTime": "A String", # Minimal product handling time (in business days).
        "mobileLink": "A String", # URL for the mobile-optimized version of your item's landing page.
        "mobileLinkTemplate": "A String", # [Link template](https://support.google.com/merchants/answer/13870216) for business hosted local storefront optimized for mobile devices.
        "mpn": "A String", # Manufacturer Part Number ([MPN](https://support.google.com/merchants/answer/6324482)) of the item.
        "multipack": "A String", # The number of identical products in a business-defined multipack.
        "pattern": "A String", # The item's [pattern](https://support.google.com/merchants/answer/6324483). For example, polka dots.
        "pause": "A String", # Publication of this item will be temporarily [paused](https://support.google.com/merchants/answer/11909930).
        "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item.
        "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400).
        "price": { # The price represented as a number and currency. # Price of the item.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "productDetails": [ # Technical specification or additional product details.
          { # The product details.
            "attributeName": "A String", # The name of the product detail.
            "attributeValue": "A String", # The value of the product detail.
            "sectionName": "A String", # The section header used to group a set of product details.
          },
        ],
        "productHeight": { # The dimension of the product. # The height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productHighlights": [ # Bullet points describing the most relevant [product highlights](https://support.google.com/merchants/answer/9216100).
          "A String",
        ],
        "productLength": { # The dimension of the product. # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productTypes": [ # Categories of the item (formatted as in [product data specification](https://support.google.com/merchants/answer/7052112#product_category)).
          "A String",
        ],
        "productWeight": { # The weight of the product. # The weight of the product in the units provided. The value must be between 0 (exclusive) and 2000 (inclusive).
          "unit": "A String", # Required. The weight unit. Acceptable values are: * "`g`" * "`kg`" * "`oz`" * "`lb`"
          "value": 3.14, # Required. The weight represented as a number. The weight can have a maximum precision of four decimal places.
        },
        "productWidth": { # The dimension of the product. # The width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The dimension units. Acceptable values are: * "`in`" * "`cm`"
          "value": 3.14, # Required. The dimension value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "promotionIds": [ # The unique ID of a promotion.
          "A String",
        ],
        "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item.
          "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
          "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
        },
        "salePriceEffectiveDate": { # Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. # Date range during which the item is on sale, see [product data specification](https://support.google.com/merchants/answer/7052112#price_and_availability).
          "endTime": "A String", # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
          "startTime": "A String", # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
        },
        "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
        "shipping": [ # Shipping rules.
          { # The Shipping of the product.
            "country": "A String", # The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.
            "handlingCutoffTime": "A String", # The handling cutoff time until which an order has to be placed to be processed in the same day. This is a string in format of HHMM (e.g. `1530`) for 3:30 PM. If not configured, the cutoff time will be defaulted to 8AM PST and `handling_cutoff_timezone` will be ignored.
            "handlingCutoffTimezone": "A String", # [Timezone identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids) For example `Europe/Zurich`. This field only applies if `handling_cutoff_time` is set. If `handling_cutoff_time` is set but this field is not set, the shipping destination timezone will be used. If both fields are not set, the handling cutoff time will default to 8AM PST.
            "locationGroupName": "A String", # The location where the shipping is applicable, represented by a location group name.
            "locationId": "A String", # The numeric ID of a location that the shipping rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
            "loyaltyProgramLabel": "A String", # Optional. The label of the [loyalty program](https://support.google.com/merchants/answer/6324484). Must match one of the program labels set in loyalty_programs. When set (in combination with [loyalty_tier_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
            "loyaltyTierLabel": "A String", # Optional. The label of the [loyalty tier](https://support.google.com/merchants/answer/6324484) within the loyalty program. Must match one of the tiers set in the loyalty_programs. When set (in combination with [loyalty_program_label](https://support.google.com/merchants/answer/6324484)), this shipping option is only applicable to loyalty program members of the specified tier.
            "maxHandlingTime": "A String", # Maximum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minHandlingTime is optional if maxHandlingTime is present.
            "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds. minTransitTime is optional if maxTransitTime is present.
            "minHandlingTime": "A String", # Minimum handling time (inclusive) between when the order is received and shipped in business days. 0 means that the order is shipped on the same day as it is received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it is not required if maxHandlingTime is present.
            "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it is delivered in business days. 0 means that the order is delivered on the same day as it ships. minTransitTime can only be present together with maxTransitTime; but it is not required if maxTransitTime is present.
            "postalCode": "A String", # The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.
            "price": { # The price represented as a number and currency. # Fixed shipping price, represented as a number.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "region": "A String", # The geographic region to which a shipping rate applies. See [region](https://support.google.com/merchants/answer/6324484) for more information.
            "service": "A String", # A free-form description of the service class or delivery speed.
          },
        ],
        "shippingHeight": { # The ShippingDimension of the product. # Height of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shippingLabel": "A String", # The shipping label of the product, used to group product in account-level shipping rules.
        "shippingLength": { # The ShippingDimension of the product. # Length of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shippingWeight": { # The ShippingWeight of the product. # Weight of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The weight of the product used to calculate the shipping cost of the item.
        },
        "shippingWidth": { # The ShippingDimension of the product. # Width of the item for shipping.
          "unit": "A String", # The unit of value.
          "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item.
        },
        "shoppingAdsExcludedCountries": [ # List of country codes [(ISO 3166-1 alpha-2)](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in data source settings.
          "A String",
        ],
        "size": "A String", # Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same `itemGroupId` value, see [Size](https://support.google.com/merchants/answer/6324492).
        "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items. For example, "US", "UK", "DE". For more information, see [Size system](https://support.google.com/merchants/answer/6324502).
        "sizeTypes": [ # The cut of the item. It can be used to represent combined size types for apparel items. Maximum two of size types can be provided, see [Size type](https://support.google.com/merchants/answer/6324497). For example, "petite", "plus size".
          "A String",
        ],
        "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. # Structured description, for algorithmically (AI)-generated descriptions.
          "content": "A String", # The description text Maximum length is 5000 characters
          "digitalSourceType": "A String", # The digital source type, for example "trained_algorithmic_media". Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). Maximum length is 40 characters.
        },
        "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. # Structured title, for algorithmically (AI)-generated titles.
          "content": "A String", # The title text Maximum length is 150 characters
          "digitalSourceType": "A String", # The digital source type, for example "trained_algorithmic_media". Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype). Maximum length is 40 characters.
        },
        "subscriptionCost": { # The SubscriptionCost of the product. # Number of periods (weeks, months or years) and amount of payment per period for an item with an associated subscription contract.
          "amount": { # The price represented as a number and currency. # The amount the buyer has to pay per subscription period.
            "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
            "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
          },
          "period": "A String", # The type of subscription period. Supported values are: * "`month`" * "`year`" * "`week`"
          "periodLength": "A String", # The number of subscription periods the buyer has to pay.
        },
        "sustainabilityIncentives": [ # The list of sustainability incentive programs.
          { # Information regarding sustainability-related incentive programs such as rebates or tax relief.
            "amount": { # The price represented as a number and currency. # The fixed amount of the incentive.
              "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros).
              "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).
            },
            "percentage": 3.14, # The percentage of the sale price that the incentive is applied to.
            "type": "A String", # Sustainability incentive program.
          },
        ],
        "taxCategory": "A String", # The [tax category](https://support.google.com/merchants/answer/7569847) of the product.
        "taxes": [ # Tax information.
          { # The Tax of the product.
            "country": "A String", # The country within which the item is taxed, specified as a [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
            "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the [AdWords API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
            "postalCode": "A String", # The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.
            "rate": 3.14, # The percentage of tax rate that applies to the item price.
            "region": "A String", # The geographic region to which the tax rate applies.
            "taxShip": True or False, # Set to true if tax is charged on shipping.
          },
        ],
        "title": "A String", # Title of the item.
        "transitTimeLabel": "A String", # The transit time label of the product, used to group product in account-level transit time tables.
        "unitPricingBaseMeasure": { # The UnitPricingBaseMeasure of the product. # The preference of the denominator of the unit price.
          "unit": "A String", # The unit of the denominator.
          "value": "A String", # The denominator of the unit price.
        },
        "unitPricingMeasure": { # The UnitPricingMeasure of the product. # The measure and dimension of an item.
          "unit": "A String", # The unit of the measure.
          "value": 3.14, # The measure of an item.
        },
        "virtualModelLink": "A String", # URL of the 3D image of the item. See the [Help Center article](https://support.google.com/merchants/answer/13674896) for more information.
      },
      "base64EncodedName": "A String", # Output only. The **unpadded base64url encoded name** of the product input. Format: `accounts/{account}/productInputs/{productinput}` where the last section `productinput` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw` for the decoded product input name `accounts/123/productInputs/en~US~sku/123`. This field can be used directly as input to the API methods that require the product input name to be encoded if it contains special characters, for example [`GetProductInput`](https://developers.google.com/merchant/api/reference/rest/products_v1beta/accounts.productInputs/get).
      "base64EncodedProduct": "A String", # Output only. The **unpadded base64url encoded name** of the processed product. Format: `accounts/{account}/products/{product}` where the last section `product` is the unpadded base64url encoding of the `content_language~feed_label~offer_id` name. Example: `accounts/123/products/ZW5-VVN-c2t1LzEyMw` for the decoded product name `accounts/123/products/en~US~sku/123`. This field can be used directly as input to the API methods that require the product name to be encoded if it contains special characters, for example [`GetProduct`](https://developers.google.com/merchant/api/reference/rest/products_v1beta/accounts.products/get).
      "channel": "A String", # Immutable. The [channel](https://support.google.com/merchants/answer/7361332) of the product.
      "contentLanguage": "A String", # Required. Immutable. The two-letter [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the product.
      "customAttributes": [ # Optional. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.
        { # A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.
          "groupValues": [ # Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.
            # Object with schema name: CustomAttribute
          ],
          "name": "A String", # The name of the attribute.
          "value": "A String", # The value of the attribute. If `value` is not empty, `group_values` must be empty.
        },
      ],
      "feedLabel": "A String", # Required. Immutable. The feed label that lets you categorize and identify your products. The maximum allowed characters are 20, and the supported characters are `A-Z`, `0-9`, hyphen, and underscore. The feed label must not include any spaces. For more information, see [Using feed labels](//support.google.com/merchants/answer/14994087).
      "name": "A String", # Identifier. The name of the product. Format: `accounts/{account}/productInputs/{productinput}` The {productinput} segment is a unique identifier for the product. This identifier must be unique within a merchant account and generally follows the structure: `content_language~feed_label~offer_id`. Example: `en~US~sku123` For legacy local products, the structure is: `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123` The format of the {productinput} segment in the URL is automatically detected by the server, supporting two options: 1. **Encoded Format**: The `{productinput}` segment is an unpadded base64url encoded string (RFC 4648 Section 5). The decoded string must result in the `content_language~feed_label~offer_id` structure. This encoding MUST be used if any part of the product identifier (like `offer_id`) contains characters such as `/`, `%`, or `~`. * Example: To represent the product ID `en~US~sku/123`, the `{productinput}` segment must be the unpadded base64url encoding of this string, which is `ZW5-VVN-c2t1LzEyMw`. The full resource name for the product would be `accounts/123/productInputs/ZW5-VVN-c2t1LzEyMw`. 2. **Plain Format**: The `{productinput}` segment is the tilde-separated string `content_language~feed_label~offer_id`. This format is suitable only when `content_language`, `feed_label`, and `offer_id` 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 `{productinput}` segment is used to differentiate between the two formats.
      "offerId": "A String", # Required. Immutable. Your unique identifier for the product. This is the same for the product input and processed product. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. See the [products data specification](https://support.google.com/merchants/answer/188494#id) for details.
      "product": "A String", # Output only. The name of the processed product. Format: `accounts/{account}/products/{product}`
      "versionNumber": "A String", # Optional. Immutable. Represents the existing version (freshness) of the product, which can be used to preserve the right order when multiple updates are done at the same time. If set, the insertion is prevented when version number is lower than the current version number of the existing product. Re-insertion (for example, product refresh after 30 days) can be performed with the current `version_number`. Only supported for insertions into primary data sources. Do not set this field for updates. Do not set this field for insertions into supplemental data sources. If the operation is prevented, the aborted exception will be thrown.
    }