Content API for Shopping . products

Instance Methods

close()

Close httplib2 connections.

custombatch(body=None, x__xgafv=None)

Retrieves, inserts, and deletes multiple products in a single request.

delete(merchantId, productId, feedId=None, x__xgafv=None)

Deletes a product from your Merchant Center account.

get(merchantId, productId, x__xgafv=None)

Retrieves a product from your Merchant Center account.

insert(merchantId, body=None, feedId=None, x__xgafv=None)

Uploads a product to your Merchant Center account. If an item with the same channel, contentLanguage, offerId, and targetCountry already exists, this method updates that entry.

list(merchantId, maxResults=None, pageToken=None, x__xgafv=None)

Lists the products in your Merchant Center account. The response might contain fewer items than specified by maxResults. Rely on nextPageToken to determine if there are more items to be requested.

list_next()

Retrieves the next page of results.

update(merchantId, productId, body=None, updateMask=None, x__xgafv=None)

Updates an existing product in your Merchant Center account. Only updates attributes provided in the request.

Method Details

close()
Close httplib2 connections.
custombatch(body=None, x__xgafv=None)
Retrieves, inserts, and deletes multiple products in a single request.

Args:
  body: object, The request body.
    The object takes the form of:

{
  "entries": [ # The request entries to be processed in the batch.
    { # A batch entry encoding a single non-batch products request.
      "batchId": 42, # An entry ID, unique within the batch request.
      "feedId": "A String", # The Content API Supplemental Feed ID. If present then product insertion or deletion applies to a supplemental feed instead of primary Content API feed.
      "merchantId": "A String", # The ID of the managing account.
      "method": "A String", # The method of the batch entry. Acceptable values are: - "`delete`" - "`get`" - "`insert`" - "`update`"
      "product": { #  Required product attributes are primarily defined by the product data specification. See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The product to insert or update. Only required if the method is `insert` or `update`. If the `update` method is used with `updateMask` only to delete a field, then this isn't required. For example, setting `salePrice` on the `updateMask` and not providing a `product` will result in an existing sale price on the product specified by `productId` being deleted.
        "additionalImageLinks": [ # Additional URLs of images of the item.
          "A String",
        ],
        "additionalSizeType": "A String", # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
        "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
        "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, # Should be set to true if the item is targeted towards adults.
        "ageGroup": "A String", # Target age group of the item.
        "autoPricingMinPrice": { # A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "availability": "A String", # Availability status of the item.
        "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
        "brand": "A String", # Brand of the item.
        "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
        "certifications": [ # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
          { # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
            "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
            "certificationCode": "A String", # The certification code, for eaxample "123456". 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.
          },
        ],
        "channel": "A String", # Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`"
        "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 number of specified values for this field 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 screen resolution of a TV product. Maximum number of specified values for this field 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 number of specified values for this field 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 256 bytes.
          },
        ],
        "color": "A String", # Color of the item.
        "condition": "A String", # Condition or state of the item.
        "contentLanguage": "A String", # Required. The two-letter ISO 639-1 language code for the item.
        "costOfGoodsSold": { # Cost of goods sold. Used for gross profit reporting.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
          { # A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. 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 merchant, with total size of 102.4kB.
            "groupValues": [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
              # Object with schema name: CustomAttribute
            ],
            "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
            "value": "A String", # The value of the attribute.
          },
        ],
        "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
        "customLabel1": "A String", # Custom label 1 for custom grouping of items in a Shopping campaign.
        "customLabel2": "A String", # Custom label 2 for custom grouping of items in a Shopping campaign.
        "customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign.
        "customLabel4": "A String", # Custom label 4 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.
          "A String",
        ],
        "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
        "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
        "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "excludedDestinations": [ # The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.
          "A String",
        ],
        "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` 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.
        "feedLabel": "A String", # Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).
        "freeShippingThreshold": [ # Optional. 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", # Required. 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": { # Required. The minimum product price for the shipping cost to become free. Represented as a number.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
          },
        ],
        "gender": "A String", # Target gender of the item.
        "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": "A String", # Global Trade Item Number (GTIN) of the item.
        "id": "A String", # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.
        "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
        "imageLink": "A String", # URL of an image of the item.
        "includedDestinations": [ # The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
          "A String",
        ],
        "installment": { # Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. # Number and amount of installments to pay for an item.
          "amount": { # The amount the buyer has to pay per month.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "creditType": "A String", # Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`"
          "downpayment": { # Optional. The initial down payment amount the buyer has to pay.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "months": "A String", # The number of installments the buyer has to pay.
        },
        "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
        "itemGroupId": "A String", # Shared identifier for all variants of the same product.
        "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#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 for more information.
          "A String",
        ],
        "link": "A String", # URL directly linking to your item's page on your website.
        "linkTemplate": "A String", # URL template for merchant hosted local storefront.
        "loyaltyProgram": { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 # Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below.
          "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
          "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
          "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
        },
        "loyaltyPrograms": [ # Optional. 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.
          { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446
            "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
            "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
            "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
            "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
            "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
          },
        ],
        "material": "A String", # The material of which the item is made.
        "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).
        "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", # URL template for merchant hosted local storefront optimized for mobile devices.
        "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
        "multipack": "A String", # The number of identical products in a merchant-defined multipack.
        "offerId": "A String", # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
        "pattern": "A String", # The item's pattern (for example, polka dots).
        "pause": "A String", # Publication of this item should be temporarily paused. Acceptable values are: - "`ads`"
        "pickupMethod": "A String", # The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
        "pickupSla": "A String", # Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
        "price": { # Price of the item.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "productDetails": [ # Technical specification or additional 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 height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
          "value": 3.14, # Required. The length value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productHighlights": [ # Bullet points describing the most relevant highlights of a product.
          "A String",
        ],
        "productLength": { # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
          "value": 3.14, # Required. The length 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).
          "A String",
        ],
        "productWeight": { # 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 width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
          "value": 3.14, # Required. The length 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": { # Advertised sale price of the item.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product data specification ).
        "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
        "shipping": [ # Shipping rules.
          {
            "country": "A String", # The CLDR territory code of the country to which an item will ship.
            "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 Google Ads API.
            "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's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
            "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it's 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.
            "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's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.
            "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it's 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's 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": { # Fixed shipping price, represented as a number.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
            "region": "A String", # The geographic region to which a shipping rate applies.
            "service": "A String", # A free-form description of the service class or delivery speed.
          },
        ],
        "shippingHeight": { # 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": { # 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": { # 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": { # 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) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
          "A String",
        ],
        "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
        "sizeType": "A String", # The cut of the item. Recommended for apparel items.
        "sizes": [ # 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 definition).
          "A String",
        ],
        "source": "A String", # The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`"
        "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. # Structured description, for algorithmically (AI)-generated descriptions.
          "content": "A String", # Required. The description text. Maximum length is 5000 characters.
          "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
        },
        "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. # Structured title, for algorithmically (AI)-generated titles.
          "content": "A String", # Required. The title text. Maximum length is 150 characters.
          "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
        },
        "subscriptionCost": { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
          "amount": { # The amount the buyer has to pay per subscription period.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "period": "A String", # The type of subscription period. - "`month`" - "`year`"
          "periodLength": "A String", # The number of subscription periods the buyer has to pay.
        },
        "targetCountry": "A String", # Required. The CLDR territory code for the item's country of sale.
        "taxCategory": "A String", # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
        "taxes": [ # Tax information.
          {
            "country": "A String", # The country within which the item is taxed, specified as a CLDR territory code.
            "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.
            "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, # Should be 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 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 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 model of the item to provide more visuals.
      },
      "productId": "A String", # The ID of the product to get or mutate. Only defined if the method is `get`, `delete`, or `update`.
      "updateMask": "A String", # The comma-separated list of product attributes to be updated. Example: `"title,salePrice"`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. *You must specify the update mask to delete attributes.* Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged. Only defined if the method is `update`.
    },
  ],
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  "entries": [ # The result of the execution of the batch requests.
    { # A batch entry encoding a single non-batch products response.
      "batchId": 42, # The ID of the request entry this entry responds to.
      "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request.
        "code": 42, # The HTTP status of the first error in `errors`.
        "errors": [ # A list of errors.
          { # An error returned by the API.
            "domain": "A String", # The domain of the error.
            "message": "A String", # A description of the error.
            "reason": "A String", # The error code.
          },
        ],
        "message": "A String", # The message of the first error in `errors`.
      },
      "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#productsCustomBatchResponseEntry`"
      "product": { #  Required product attributes are primarily defined by the product data specification. See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect. # The inserted product. Only defined if the method is `insert` and if the request was successful.
        "additionalImageLinks": [ # Additional URLs of images of the item.
          "A String",
        ],
        "additionalSizeType": "A String", # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
        "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
        "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, # Should be set to true if the item is targeted towards adults.
        "ageGroup": "A String", # Target age group of the item.
        "autoPricingMinPrice": { # A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "availability": "A String", # Availability status of the item.
        "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
        "brand": "A String", # Brand of the item.
        "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
        "certifications": [ # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
          { # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
            "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
            "certificationCode": "A String", # The certification code, for eaxample "123456". 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.
          },
        ],
        "channel": "A String", # Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`"
        "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 number of specified values for this field 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 screen resolution of a TV product. Maximum number of specified values for this field 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 number of specified values for this field 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 256 bytes.
          },
        ],
        "color": "A String", # Color of the item.
        "condition": "A String", # Condition or state of the item.
        "contentLanguage": "A String", # Required. The two-letter ISO 639-1 language code for the item.
        "costOfGoodsSold": { # Cost of goods sold. Used for gross profit reporting.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
          { # A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. 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 merchant, with total size of 102.4kB.
            "groupValues": [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
              # Object with schema name: CustomAttribute
            ],
            "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
            "value": "A String", # The value of the attribute.
          },
        ],
        "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
        "customLabel1": "A String", # Custom label 1 for custom grouping of items in a Shopping campaign.
        "customLabel2": "A String", # Custom label 2 for custom grouping of items in a Shopping campaign.
        "customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign.
        "customLabel4": "A String", # Custom label 4 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.
          "A String",
        ],
        "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
        "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
        "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
        "excludedDestinations": [ # The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.
          "A String",
        ],
        "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` 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.
        "feedLabel": "A String", # Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).
        "freeShippingThreshold": [ # Optional. 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", # Required. 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": { # Required. The minimum product price for the shipping cost to become free. Represented as a number.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
          },
        ],
        "gender": "A String", # Target gender of the item.
        "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": "A String", # Global Trade Item Number (GTIN) of the item.
        "id": "A String", # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.
        "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
        "imageLink": "A String", # URL of an image of the item.
        "includedDestinations": [ # The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
          "A String",
        ],
        "installment": { # Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. # Number and amount of installments to pay for an item.
          "amount": { # The amount the buyer has to pay per month.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "creditType": "A String", # Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`"
          "downpayment": { # Optional. The initial down payment amount the buyer has to pay.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "months": "A String", # The number of installments the buyer has to pay.
        },
        "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
        "itemGroupId": "A String", # Shared identifier for all variants of the same product.
        "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#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 for more information.
          "A String",
        ],
        "link": "A String", # URL directly linking to your item's page on your website.
        "linkTemplate": "A String", # URL template for merchant hosted local storefront.
        "loyaltyProgram": { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 # Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below.
          "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
          "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
          "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
        },
        "loyaltyPrograms": [ # Optional. 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.
          { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446
            "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
            "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
            "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
            "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
            "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
          },
        ],
        "material": "A String", # The material of which the item is made.
        "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).
        "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", # URL template for merchant hosted local storefront optimized for mobile devices.
        "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
        "multipack": "A String", # The number of identical products in a merchant-defined multipack.
        "offerId": "A String", # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
        "pattern": "A String", # The item's pattern (for example, polka dots).
        "pause": "A String", # Publication of this item should be temporarily paused. Acceptable values are: - "`ads`"
        "pickupMethod": "A String", # The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
        "pickupSla": "A String", # Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
        "price": { # Price of the item.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "productDetails": [ # Technical specification or additional 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 height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
          "value": 3.14, # Required. The length value represented as a number. The value can have a maximum precision of four decimal places.
        },
        "productHighlights": [ # Bullet points describing the most relevant highlights of a product.
          "A String",
        ],
        "productLength": { # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
          "value": 3.14, # Required. The length 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).
          "A String",
        ],
        "productWeight": { # 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 width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
          "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
          "value": 3.14, # Required. The length 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": { # Advertised sale price of the item.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product data specification ).
        "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
        "shipping": [ # Shipping rules.
          {
            "country": "A String", # The CLDR territory code of the country to which an item will ship.
            "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 Google Ads API.
            "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's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
            "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it's 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.
            "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's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.
            "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it's 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's 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": { # Fixed shipping price, represented as a number.
              "currency": "A String", # The currency of the price.
              "value": "A String", # The price represented as a number.
            },
            "region": "A String", # The geographic region to which a shipping rate applies.
            "service": "A String", # A free-form description of the service class or delivery speed.
          },
        ],
        "shippingHeight": { # 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": { # 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": { # 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": { # 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) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
          "A String",
        ],
        "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
        "sizeType": "A String", # The cut of the item. Recommended for apparel items.
        "sizes": [ # 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 definition).
          "A String",
        ],
        "source": "A String", # The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`"
        "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. # Structured description, for algorithmically (AI)-generated descriptions.
          "content": "A String", # Required. The description text. Maximum length is 5000 characters.
          "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
        },
        "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. # Structured title, for algorithmically (AI)-generated titles.
          "content": "A String", # Required. The title text. Maximum length is 150 characters.
          "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
        },
        "subscriptionCost": { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
          "amount": { # The amount the buyer has to pay per subscription period.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "period": "A String", # The type of subscription period. - "`month`" - "`year`"
          "periodLength": "A String", # The number of subscription periods the buyer has to pay.
        },
        "targetCountry": "A String", # Required. The CLDR territory code for the item's country of sale.
        "taxCategory": "A String", # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
        "taxes": [ # Tax information.
          {
            "country": "A String", # The country within which the item is taxed, specified as a CLDR territory code.
            "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.
            "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, # Should be 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 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 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 model of the item to provide more visuals.
      },
    },
  ],
  "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#productsCustomBatchResponse`".
}
delete(merchantId, productId, feedId=None, x__xgafv=None)
Deletes a product from your Merchant Center account.

Args:
  merchantId: string, The ID of the account that contains the product. This account cannot be a multi-client account. (required)
  productId: string, The REST ID of the product. (required)
  feedId: string, The Content API Supplemental Feed ID. If present then product deletion applies to the data in a supplemental feed. If absent, entire product will be deleted.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
get(merchantId, productId, x__xgafv=None)
Retrieves a product from your Merchant Center account.

Args:
  merchantId: string, The ID of the account that contains the product. This account cannot be a multi-client account. (required)
  productId: string, The REST ID of the product. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { #  Required product attributes are primarily defined by the product data specification. See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
  "additionalImageLinks": [ # Additional URLs of images of the item.
    "A String",
  ],
  "additionalSizeType": "A String", # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
  "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
  "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, # Should be set to true if the item is targeted towards adults.
  "ageGroup": "A String", # Target age group of the item.
  "autoPricingMinPrice": { # A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "availability": "A String", # Availability status of the item.
  "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
  "brand": "A String", # Brand of the item.
  "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
  "certifications": [ # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
    { # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
      "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
      "certificationCode": "A String", # The certification code, for eaxample "123456". 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.
    },
  ],
  "channel": "A String", # Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`"
  "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 number of specified values for this field 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 screen resolution of a TV product. Maximum number of specified values for this field 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 number of specified values for this field 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 256 bytes.
    },
  ],
  "color": "A String", # Color of the item.
  "condition": "A String", # Condition or state of the item.
  "contentLanguage": "A String", # Required. The two-letter ISO 639-1 language code for the item.
  "costOfGoodsSold": { # Cost of goods sold. Used for gross profit reporting.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
    { # A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. 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 merchant, with total size of 102.4kB.
      "groupValues": [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
        # Object with schema name: CustomAttribute
      ],
      "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
      "value": "A String", # The value of the attribute.
    },
  ],
  "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
  "customLabel1": "A String", # Custom label 1 for custom grouping of items in a Shopping campaign.
  "customLabel2": "A String", # Custom label 2 for custom grouping of items in a Shopping campaign.
  "customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign.
  "customLabel4": "A String", # Custom label 4 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.
    "A String",
  ],
  "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
  "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
  "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
  "excludedDestinations": [ # The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.
    "A String",
  ],
  "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` 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.
  "feedLabel": "A String", # Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).
  "freeShippingThreshold": [ # Optional. 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", # Required. 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": { # Required. The minimum product price for the shipping cost to become free. Represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
    },
  ],
  "gender": "A String", # Target gender of the item.
  "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": "A String", # Global Trade Item Number (GTIN) of the item.
  "id": "A String", # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.
  "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
  "imageLink": "A String", # URL of an image of the item.
  "includedDestinations": [ # The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
    "A String",
  ],
  "installment": { # Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. # Number and amount of installments to pay for an item.
    "amount": { # The amount the buyer has to pay per month.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "creditType": "A String", # Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`"
    "downpayment": { # Optional. The initial down payment amount the buyer has to pay.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "months": "A String", # The number of installments the buyer has to pay.
  },
  "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
  "itemGroupId": "A String", # Shared identifier for all variants of the same product.
  "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#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 for more information.
    "A String",
  ],
  "link": "A String", # URL directly linking to your item's page on your website.
  "linkTemplate": "A String", # URL template for merchant hosted local storefront.
  "loyaltyProgram": { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 # Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below.
    "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
    "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
    "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
  },
  "loyaltyPrograms": [ # Optional. 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.
    { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446
      "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
      "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
      "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
    },
  ],
  "material": "A String", # The material of which the item is made.
  "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).
  "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", # URL template for merchant hosted local storefront optimized for mobile devices.
  "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
  "multipack": "A String", # The number of identical products in a merchant-defined multipack.
  "offerId": "A String", # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
  "pattern": "A String", # The item's pattern (for example, polka dots).
  "pause": "A String", # Publication of this item should be temporarily paused. Acceptable values are: - "`ads`"
  "pickupMethod": "A String", # The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
  "pickupSla": "A String", # Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
  "price": { # Price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "productDetails": [ # Technical specification or additional 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 height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length value represented as a number. The value can have a maximum precision of four decimal places.
  },
  "productHighlights": [ # Bullet points describing the most relevant highlights of a product.
    "A String",
  ],
  "productLength": { # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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).
    "A String",
  ],
  "productWeight": { # 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 width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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": { # Advertised sale price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product data specification ).
  "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
  "shipping": [ # Shipping rules.
    {
      "country": "A String", # The CLDR territory code of the country to which an item will ship.
      "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 Google Ads API.
      "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's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
      "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it's 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.
      "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's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.
      "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it's 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's 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": { # Fixed shipping price, represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "region": "A String", # The geographic region to which a shipping rate applies.
      "service": "A String", # A free-form description of the service class or delivery speed.
    },
  ],
  "shippingHeight": { # 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": { # 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": { # 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": { # 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) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
    "A String",
  ],
  "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
  "sizeType": "A String", # The cut of the item. Recommended for apparel items.
  "sizes": [ # 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 definition).
    "A String",
  ],
  "source": "A String", # The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`"
  "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. # Structured description, for algorithmically (AI)-generated descriptions.
    "content": "A String", # Required. The description text. Maximum length is 5000 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. # Structured title, for algorithmically (AI)-generated titles.
    "content": "A String", # Required. The title text. Maximum length is 150 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "subscriptionCost": { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
    "amount": { # The amount the buyer has to pay per subscription period.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "period": "A String", # The type of subscription period. - "`month`" - "`year`"
    "periodLength": "A String", # The number of subscription periods the buyer has to pay.
  },
  "targetCountry": "A String", # Required. The CLDR territory code for the item's country of sale.
  "taxCategory": "A String", # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
  "taxes": [ # Tax information.
    {
      "country": "A String", # The country within which the item is taxed, specified as a CLDR territory code.
      "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.
      "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, # Should be 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 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 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 model of the item to provide more visuals.
}
insert(merchantId, body=None, feedId=None, x__xgafv=None)
Uploads a product to your Merchant Center account. If an item with the same channel, contentLanguage, offerId, and targetCountry already exists, this method updates that entry.

Args:
  merchantId: string, The ID of the account that contains the product. This account cannot be a multi-client account. (required)
  body: object, The request body.
    The object takes the form of:

{ #  Required product attributes are primarily defined by the product data specification. See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
  "additionalImageLinks": [ # Additional URLs of images of the item.
    "A String",
  ],
  "additionalSizeType": "A String", # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
  "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
  "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, # Should be set to true if the item is targeted towards adults.
  "ageGroup": "A String", # Target age group of the item.
  "autoPricingMinPrice": { # A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "availability": "A String", # Availability status of the item.
  "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
  "brand": "A String", # Brand of the item.
  "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
  "certifications": [ # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
    { # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
      "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
      "certificationCode": "A String", # The certification code, for eaxample "123456". 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.
    },
  ],
  "channel": "A String", # Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`"
  "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 number of specified values for this field 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 screen resolution of a TV product. Maximum number of specified values for this field 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 number of specified values for this field 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 256 bytes.
    },
  ],
  "color": "A String", # Color of the item.
  "condition": "A String", # Condition or state of the item.
  "contentLanguage": "A String", # Required. The two-letter ISO 639-1 language code for the item.
  "costOfGoodsSold": { # Cost of goods sold. Used for gross profit reporting.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
    { # A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. 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 merchant, with total size of 102.4kB.
      "groupValues": [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
        # Object with schema name: CustomAttribute
      ],
      "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
      "value": "A String", # The value of the attribute.
    },
  ],
  "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
  "customLabel1": "A String", # Custom label 1 for custom grouping of items in a Shopping campaign.
  "customLabel2": "A String", # Custom label 2 for custom grouping of items in a Shopping campaign.
  "customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign.
  "customLabel4": "A String", # Custom label 4 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.
    "A String",
  ],
  "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
  "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
  "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
  "excludedDestinations": [ # The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.
    "A String",
  ],
  "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` 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.
  "feedLabel": "A String", # Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).
  "freeShippingThreshold": [ # Optional. 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", # Required. 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": { # Required. The minimum product price for the shipping cost to become free. Represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
    },
  ],
  "gender": "A String", # Target gender of the item.
  "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": "A String", # Global Trade Item Number (GTIN) of the item.
  "id": "A String", # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.
  "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
  "imageLink": "A String", # URL of an image of the item.
  "includedDestinations": [ # The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
    "A String",
  ],
  "installment": { # Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. # Number and amount of installments to pay for an item.
    "amount": { # The amount the buyer has to pay per month.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "creditType": "A String", # Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`"
    "downpayment": { # Optional. The initial down payment amount the buyer has to pay.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "months": "A String", # The number of installments the buyer has to pay.
  },
  "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
  "itemGroupId": "A String", # Shared identifier for all variants of the same product.
  "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#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 for more information.
    "A String",
  ],
  "link": "A String", # URL directly linking to your item's page on your website.
  "linkTemplate": "A String", # URL template for merchant hosted local storefront.
  "loyaltyProgram": { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 # Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below.
    "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
    "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
    "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
  },
  "loyaltyPrograms": [ # Optional. 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.
    { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446
      "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
      "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
      "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
    },
  ],
  "material": "A String", # The material of which the item is made.
  "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).
  "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", # URL template for merchant hosted local storefront optimized for mobile devices.
  "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
  "multipack": "A String", # The number of identical products in a merchant-defined multipack.
  "offerId": "A String", # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
  "pattern": "A String", # The item's pattern (for example, polka dots).
  "pause": "A String", # Publication of this item should be temporarily paused. Acceptable values are: - "`ads`"
  "pickupMethod": "A String", # The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
  "pickupSla": "A String", # Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
  "price": { # Price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "productDetails": [ # Technical specification or additional 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 height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length value represented as a number. The value can have a maximum precision of four decimal places.
  },
  "productHighlights": [ # Bullet points describing the most relevant highlights of a product.
    "A String",
  ],
  "productLength": { # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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).
    "A String",
  ],
  "productWeight": { # 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 width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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": { # Advertised sale price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product data specification ).
  "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
  "shipping": [ # Shipping rules.
    {
      "country": "A String", # The CLDR territory code of the country to which an item will ship.
      "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 Google Ads API.
      "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's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
      "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it's 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.
      "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's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.
      "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it's 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's 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": { # Fixed shipping price, represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "region": "A String", # The geographic region to which a shipping rate applies.
      "service": "A String", # A free-form description of the service class or delivery speed.
    },
  ],
  "shippingHeight": { # 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": { # 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": { # 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": { # 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) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
    "A String",
  ],
  "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
  "sizeType": "A String", # The cut of the item. Recommended for apparel items.
  "sizes": [ # 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 definition).
    "A String",
  ],
  "source": "A String", # The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`"
  "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. # Structured description, for algorithmically (AI)-generated descriptions.
    "content": "A String", # Required. The description text. Maximum length is 5000 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. # Structured title, for algorithmically (AI)-generated titles.
    "content": "A String", # Required. The title text. Maximum length is 150 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "subscriptionCost": { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
    "amount": { # The amount the buyer has to pay per subscription period.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "period": "A String", # The type of subscription period. - "`month`" - "`year`"
    "periodLength": "A String", # The number of subscription periods the buyer has to pay.
  },
  "targetCountry": "A String", # Required. The CLDR territory code for the item's country of sale.
  "taxCategory": "A String", # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
  "taxes": [ # Tax information.
    {
      "country": "A String", # The country within which the item is taxed, specified as a CLDR territory code.
      "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.
      "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, # Should be 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 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 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 model of the item to provide more visuals.
}

  feedId: string, The Content API Supplemental Feed ID. If present then product insertion applies to the data in a supplemental feed.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { #  Required product attributes are primarily defined by the product data specification. See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
  "additionalImageLinks": [ # Additional URLs of images of the item.
    "A String",
  ],
  "additionalSizeType": "A String", # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
  "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
  "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, # Should be set to true if the item is targeted towards adults.
  "ageGroup": "A String", # Target age group of the item.
  "autoPricingMinPrice": { # A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "availability": "A String", # Availability status of the item.
  "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
  "brand": "A String", # Brand of the item.
  "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
  "certifications": [ # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
    { # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
      "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
      "certificationCode": "A String", # The certification code, for eaxample "123456". 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.
    },
  ],
  "channel": "A String", # Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`"
  "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 number of specified values for this field 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 screen resolution of a TV product. Maximum number of specified values for this field 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 number of specified values for this field 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 256 bytes.
    },
  ],
  "color": "A String", # Color of the item.
  "condition": "A String", # Condition or state of the item.
  "contentLanguage": "A String", # Required. The two-letter ISO 639-1 language code for the item.
  "costOfGoodsSold": { # Cost of goods sold. Used for gross profit reporting.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
    { # A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. 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 merchant, with total size of 102.4kB.
      "groupValues": [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
        # Object with schema name: CustomAttribute
      ],
      "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
      "value": "A String", # The value of the attribute.
    },
  ],
  "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
  "customLabel1": "A String", # Custom label 1 for custom grouping of items in a Shopping campaign.
  "customLabel2": "A String", # Custom label 2 for custom grouping of items in a Shopping campaign.
  "customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign.
  "customLabel4": "A String", # Custom label 4 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.
    "A String",
  ],
  "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
  "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
  "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
  "excludedDestinations": [ # The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.
    "A String",
  ],
  "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` 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.
  "feedLabel": "A String", # Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).
  "freeShippingThreshold": [ # Optional. 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", # Required. 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": { # Required. The minimum product price for the shipping cost to become free. Represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
    },
  ],
  "gender": "A String", # Target gender of the item.
  "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": "A String", # Global Trade Item Number (GTIN) of the item.
  "id": "A String", # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.
  "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
  "imageLink": "A String", # URL of an image of the item.
  "includedDestinations": [ # The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
    "A String",
  ],
  "installment": { # Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. # Number and amount of installments to pay for an item.
    "amount": { # The amount the buyer has to pay per month.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "creditType": "A String", # Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`"
    "downpayment": { # Optional. The initial down payment amount the buyer has to pay.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "months": "A String", # The number of installments the buyer has to pay.
  },
  "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
  "itemGroupId": "A String", # Shared identifier for all variants of the same product.
  "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#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 for more information.
    "A String",
  ],
  "link": "A String", # URL directly linking to your item's page on your website.
  "linkTemplate": "A String", # URL template for merchant hosted local storefront.
  "loyaltyProgram": { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 # Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below.
    "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
    "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
    "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
  },
  "loyaltyPrograms": [ # Optional. 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.
    { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446
      "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
      "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
      "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
    },
  ],
  "material": "A String", # The material of which the item is made.
  "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).
  "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", # URL template for merchant hosted local storefront optimized for mobile devices.
  "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
  "multipack": "A String", # The number of identical products in a merchant-defined multipack.
  "offerId": "A String", # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
  "pattern": "A String", # The item's pattern (for example, polka dots).
  "pause": "A String", # Publication of this item should be temporarily paused. Acceptable values are: - "`ads`"
  "pickupMethod": "A String", # The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
  "pickupSla": "A String", # Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
  "price": { # Price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "productDetails": [ # Technical specification or additional 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 height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length value represented as a number. The value can have a maximum precision of four decimal places.
  },
  "productHighlights": [ # Bullet points describing the most relevant highlights of a product.
    "A String",
  ],
  "productLength": { # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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).
    "A String",
  ],
  "productWeight": { # 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 width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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": { # Advertised sale price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product data specification ).
  "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
  "shipping": [ # Shipping rules.
    {
      "country": "A String", # The CLDR territory code of the country to which an item will ship.
      "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 Google Ads API.
      "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's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
      "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it's 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.
      "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's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.
      "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it's 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's 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": { # Fixed shipping price, represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "region": "A String", # The geographic region to which a shipping rate applies.
      "service": "A String", # A free-form description of the service class or delivery speed.
    },
  ],
  "shippingHeight": { # 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": { # 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": { # 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": { # 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) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
    "A String",
  ],
  "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
  "sizeType": "A String", # The cut of the item. Recommended for apparel items.
  "sizes": [ # 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 definition).
    "A String",
  ],
  "source": "A String", # The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`"
  "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. # Structured description, for algorithmically (AI)-generated descriptions.
    "content": "A String", # Required. The description text. Maximum length is 5000 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. # Structured title, for algorithmically (AI)-generated titles.
    "content": "A String", # Required. The title text. Maximum length is 150 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "subscriptionCost": { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
    "amount": { # The amount the buyer has to pay per subscription period.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "period": "A String", # The type of subscription period. - "`month`" - "`year`"
    "periodLength": "A String", # The number of subscription periods the buyer has to pay.
  },
  "targetCountry": "A String", # Required. The CLDR territory code for the item's country of sale.
  "taxCategory": "A String", # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
  "taxes": [ # Tax information.
    {
      "country": "A String", # The country within which the item is taxed, specified as a CLDR territory code.
      "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.
      "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, # Should be 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 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 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 model of the item to provide more visuals.
}
list(merchantId, maxResults=None, pageToken=None, x__xgafv=None)
Lists the products in your Merchant Center account. The response might contain fewer items than specified by maxResults. Rely on nextPageToken to determine if there are more items to be requested.

Args:
  merchantId: string, The ID of the account that contains the products. This account cannot be a multi-client account. (required)
  maxResults: integer, The maximum number of products to return in the response, used for paging. The default value is 25. The maximum value is 250.
  pageToken: string, The token returned by the previous request.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#productsListResponse`".
  "nextPageToken": "A String", # The token for the retrieval of the next page of products.
  "resources": [
    { #  Required product attributes are primarily defined by the product data specification. See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
      "additionalImageLinks": [ # Additional URLs of images of the item.
        "A String",
      ],
      "additionalSizeType": "A String", # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
      "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
      "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, # Should be set to true if the item is targeted towards adults.
      "ageGroup": "A String", # Target age group of the item.
      "autoPricingMinPrice": { # A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "availability": "A String", # Availability status of the item.
      "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
      "brand": "A String", # Brand of the item.
      "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
      "certifications": [ # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
        { # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
          "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
          "certificationCode": "A String", # The certification code, for eaxample "123456". 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.
        },
      ],
      "channel": "A String", # Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`"
      "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 number of specified values for this field 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 screen resolution of a TV product. Maximum number of specified values for this field 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 number of specified values for this field 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 256 bytes.
        },
      ],
      "color": "A String", # Color of the item.
      "condition": "A String", # Condition or state of the item.
      "contentLanguage": "A String", # Required. The two-letter ISO 639-1 language code for the item.
      "costOfGoodsSold": { # Cost of goods sold. Used for gross profit reporting.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
        { # A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. 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 merchant, with total size of 102.4kB.
          "groupValues": [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
            # Object with schema name: CustomAttribute
          ],
          "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
          "value": "A String", # The value of the attribute.
        },
      ],
      "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
      "customLabel1": "A String", # Custom label 1 for custom grouping of items in a Shopping campaign.
      "customLabel2": "A String", # Custom label 2 for custom grouping of items in a Shopping campaign.
      "customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign.
      "customLabel4": "A String", # Custom label 4 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.
        "A String",
      ],
      "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
      "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
      "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
      "excludedDestinations": [ # The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.
        "A String",
      ],
      "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` 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.
      "feedLabel": "A String", # Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).
      "freeShippingThreshold": [ # Optional. 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", # Required. 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": { # Required. The minimum product price for the shipping cost to become free. Represented as a number.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
        },
      ],
      "gender": "A String", # Target gender of the item.
      "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": "A String", # Global Trade Item Number (GTIN) of the item.
      "id": "A String", # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.
      "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
      "imageLink": "A String", # URL of an image of the item.
      "includedDestinations": [ # The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
        "A String",
      ],
      "installment": { # Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. # Number and amount of installments to pay for an item.
        "amount": { # The amount the buyer has to pay per month.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "creditType": "A String", # Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`"
        "downpayment": { # Optional. The initial down payment amount the buyer has to pay.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "months": "A String", # The number of installments the buyer has to pay.
      },
      "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
      "itemGroupId": "A String", # Shared identifier for all variants of the same product.
      "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#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 for more information.
        "A String",
      ],
      "link": "A String", # URL directly linking to your item's page on your website.
      "linkTemplate": "A String", # URL template for merchant hosted local storefront.
      "loyaltyProgram": { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 # Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below.
        "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
        "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
        "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
      },
      "loyaltyPrograms": [ # Optional. 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.
        { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446
          "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
          "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
          "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
        },
      ],
      "material": "A String", # The material of which the item is made.
      "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).
      "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", # URL template for merchant hosted local storefront optimized for mobile devices.
      "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
      "multipack": "A String", # The number of identical products in a merchant-defined multipack.
      "offerId": "A String", # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
      "pattern": "A String", # The item's pattern (for example, polka dots).
      "pause": "A String", # Publication of this item should be temporarily paused. Acceptable values are: - "`ads`"
      "pickupMethod": "A String", # The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
      "pickupSla": "A String", # Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
      "price": { # Price of the item.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "productDetails": [ # Technical specification or additional 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 height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
        "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
        "value": 3.14, # Required. The length value represented as a number. The value can have a maximum precision of four decimal places.
      },
      "productHighlights": [ # Bullet points describing the most relevant highlights of a product.
        "A String",
      ],
      "productLength": { # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
        "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
        "value": 3.14, # Required. The length 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).
        "A String",
      ],
      "productWeight": { # 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 width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
        "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
        "value": 3.14, # Required. The length 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": { # Advertised sale price of the item.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product data specification ).
      "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
      "shipping": [ # Shipping rules.
        {
          "country": "A String", # The CLDR territory code of the country to which an item will ship.
          "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 Google Ads API.
          "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's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
          "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it's 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.
          "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's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.
          "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it's 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's 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": { # Fixed shipping price, represented as a number.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "region": "A String", # The geographic region to which a shipping rate applies.
          "service": "A String", # A free-form description of the service class or delivery speed.
        },
      ],
      "shippingHeight": { # 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": { # 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": { # 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": { # 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) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
        "A String",
      ],
      "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
      "sizeType": "A String", # The cut of the item. Recommended for apparel items.
      "sizes": [ # 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 definition).
        "A String",
      ],
      "source": "A String", # The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`"
      "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. # Structured description, for algorithmically (AI)-generated descriptions.
        "content": "A String", # Required. The description text. Maximum length is 5000 characters.
        "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
      },
      "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. # Structured title, for algorithmically (AI)-generated titles.
        "content": "A String", # Required. The title text. Maximum length is 150 characters.
        "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
      },
      "subscriptionCost": { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
        "amount": { # The amount the buyer has to pay per subscription period.
          "currency": "A String", # The currency of the price.
          "value": "A String", # The price represented as a number.
        },
        "period": "A String", # The type of subscription period. - "`month`" - "`year`"
        "periodLength": "A String", # The number of subscription periods the buyer has to pay.
      },
      "targetCountry": "A String", # Required. The CLDR territory code for the item's country of sale.
      "taxCategory": "A String", # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
      "taxes": [ # Tax information.
        {
          "country": "A String", # The country within which the item is taxed, specified as a CLDR territory code.
          "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.
          "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, # Should be 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 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 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 model of the item to provide more visuals.
    },
  ],
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
update(merchantId, productId, body=None, updateMask=None, x__xgafv=None)
Updates an existing product in your Merchant Center account. Only updates attributes provided in the request.

Args:
  merchantId: string, The ID of the account that contains the product. This account cannot be a multi-client account. (required)
  productId: string, The REST ID of the product for which to update. (required)
  body: object, The request body.
    The object takes the form of:

{ #  Required product attributes are primarily defined by the product data specification. See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
  "additionalImageLinks": [ # Additional URLs of images of the item.
    "A String",
  ],
  "additionalSizeType": "A String", # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
  "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
  "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, # Should be set to true if the item is targeted towards adults.
  "ageGroup": "A String", # Target age group of the item.
  "autoPricingMinPrice": { # A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "availability": "A String", # Availability status of the item.
  "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
  "brand": "A String", # Brand of the item.
  "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
  "certifications": [ # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
    { # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
      "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
      "certificationCode": "A String", # The certification code, for eaxample "123456". 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.
    },
  ],
  "channel": "A String", # Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`"
  "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 number of specified values for this field 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 screen resolution of a TV product. Maximum number of specified values for this field 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 number of specified values for this field 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 256 bytes.
    },
  ],
  "color": "A String", # Color of the item.
  "condition": "A String", # Condition or state of the item.
  "contentLanguage": "A String", # Required. The two-letter ISO 639-1 language code for the item.
  "costOfGoodsSold": { # Cost of goods sold. Used for gross profit reporting.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
    { # A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. 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 merchant, with total size of 102.4kB.
      "groupValues": [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
        # Object with schema name: CustomAttribute
      ],
      "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
      "value": "A String", # The value of the attribute.
    },
  ],
  "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
  "customLabel1": "A String", # Custom label 1 for custom grouping of items in a Shopping campaign.
  "customLabel2": "A String", # Custom label 2 for custom grouping of items in a Shopping campaign.
  "customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign.
  "customLabel4": "A String", # Custom label 4 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.
    "A String",
  ],
  "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
  "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
  "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
  "excludedDestinations": [ # The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.
    "A String",
  ],
  "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` 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.
  "feedLabel": "A String", # Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).
  "freeShippingThreshold": [ # Optional. 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", # Required. 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": { # Required. The minimum product price for the shipping cost to become free. Represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
    },
  ],
  "gender": "A String", # Target gender of the item.
  "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": "A String", # Global Trade Item Number (GTIN) of the item.
  "id": "A String", # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.
  "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
  "imageLink": "A String", # URL of an image of the item.
  "includedDestinations": [ # The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
    "A String",
  ],
  "installment": { # Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. # Number and amount of installments to pay for an item.
    "amount": { # The amount the buyer has to pay per month.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "creditType": "A String", # Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`"
    "downpayment": { # Optional. The initial down payment amount the buyer has to pay.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "months": "A String", # The number of installments the buyer has to pay.
  },
  "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
  "itemGroupId": "A String", # Shared identifier for all variants of the same product.
  "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#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 for more information.
    "A String",
  ],
  "link": "A String", # URL directly linking to your item's page on your website.
  "linkTemplate": "A String", # URL template for merchant hosted local storefront.
  "loyaltyProgram": { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 # Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below.
    "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
    "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
    "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
  },
  "loyaltyPrograms": [ # Optional. 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.
    { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446
      "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
      "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
      "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
    },
  ],
  "material": "A String", # The material of which the item is made.
  "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).
  "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", # URL template for merchant hosted local storefront optimized for mobile devices.
  "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
  "multipack": "A String", # The number of identical products in a merchant-defined multipack.
  "offerId": "A String", # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
  "pattern": "A String", # The item's pattern (for example, polka dots).
  "pause": "A String", # Publication of this item should be temporarily paused. Acceptable values are: - "`ads`"
  "pickupMethod": "A String", # The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
  "pickupSla": "A String", # Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
  "price": { # Price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "productDetails": [ # Technical specification or additional 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 height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length value represented as a number. The value can have a maximum precision of four decimal places.
  },
  "productHighlights": [ # Bullet points describing the most relevant highlights of a product.
    "A String",
  ],
  "productLength": { # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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).
    "A String",
  ],
  "productWeight": { # 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 width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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": { # Advertised sale price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product data specification ).
  "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
  "shipping": [ # Shipping rules.
    {
      "country": "A String", # The CLDR territory code of the country to which an item will ship.
      "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 Google Ads API.
      "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's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
      "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it's 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.
      "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's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.
      "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it's 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's 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": { # Fixed shipping price, represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "region": "A String", # The geographic region to which a shipping rate applies.
      "service": "A String", # A free-form description of the service class or delivery speed.
    },
  ],
  "shippingHeight": { # 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": { # 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": { # 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": { # 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) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
    "A String",
  ],
  "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
  "sizeType": "A String", # The cut of the item. Recommended for apparel items.
  "sizes": [ # 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 definition).
    "A String",
  ],
  "source": "A String", # The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`"
  "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. # Structured description, for algorithmically (AI)-generated descriptions.
    "content": "A String", # Required. The description text. Maximum length is 5000 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. # Structured title, for algorithmically (AI)-generated titles.
    "content": "A String", # Required. The title text. Maximum length is 150 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "subscriptionCost": { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
    "amount": { # The amount the buyer has to pay per subscription period.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "period": "A String", # The type of subscription period. - "`month`" - "`year`"
    "periodLength": "A String", # The number of subscription periods the buyer has to pay.
  },
  "targetCountry": "A String", # Required. The CLDR territory code for the item's country of sale.
  "taxCategory": "A String", # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
  "taxes": [ # Tax information.
    {
      "country": "A String", # The country within which the item is taxed, specified as a CLDR territory code.
      "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.
      "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, # Should be 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 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 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 model of the item to provide more visuals.
}

  updateMask: string, The comma-separated list of product attributes to be updated. Example: `"title,salePrice"`. Attributes specified in the update mask without a value specified in the body will be deleted from the product. *You must specify the update mask to delete attributes.* Only top-level product attributes can be updated. If not defined, product attributes with set values will be updated and other attributes will stay unchanged.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { #  Required product attributes are primarily defined by the product data specification. See the Product Data Specification Help Center article for information. Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.
  "additionalImageLinks": [ # Additional URLs of images of the item.
    "A String",
  ],
  "additionalSizeType": "A String", # Additional cut of the item. Used together with size_type to represent combined size types for apparel items.
  "adsGrouping": "A String", # Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.
  "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, # Should be set to true if the item is targeted towards adults.
  "ageGroup": "A String", # Target age group of the item.
  "autoPricingMinPrice": { # A safeguard in the [Automated Discounts](//support.google.com/merchants/answer/10295759) and [Dynamic Promotions](//support.google.com/merchants/answer/13949249) projects, ensuring that discounts on merchants' offers do not fall below this value, thereby preserving the offer's value and profitability.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "availability": "A String", # Availability status of the item.
  "availabilityDate": "A String", # The day a pre-ordered product becomes available for delivery, in ISO 8601 format.
  "brand": "A String", # Brand of the item.
  "canonicalLink": "A String", # URL for the canonical version of your item's landing page.
  "certifications": [ # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
    { # Product [certification](https://support.google.com/merchants/answer/13528839), introduced for EU energy efficiency labeling compliance using the [EU EPREL](https://eprel.ec.europa.eu/screen/home) database.
      "certificationAuthority": "A String", # The certification authority, for example "European_Commission". Maximum length is 2000 characters.
      "certificationCode": "A String", # The certification code, for eaxample "123456". 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.
    },
  ],
  "channel": "A String", # Required. The item's channel (online or local). Acceptable values are: - "`local`" - "`online`"
  "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 number of specified values for this field 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 screen resolution of a TV product. Maximum number of specified values for this field 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 number of specified values for this field 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 256 bytes.
    },
  ],
  "color": "A String", # Color of the item.
  "condition": "A String", # Condition or state of the item.
  "contentLanguage": "A String", # Required. The two-letter ISO 639-1 language code for the item.
  "costOfGoodsSold": { # Cost of goods sold. Used for gross profit reporting.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "customAttributes": [ # A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (for example, `{ "name": "size type", "value": "regular" }`). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Buy on Google (formerly known as Shopping Actions).
    { # A message that represents custom attributes. Exactly one of `value` or `groupValues` must be provided. 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 merchant, with total size of 102.4kB.
      "groupValues": [ # Subattributes within this attribute group. Exactly one of value or groupValues must be provided.
        # Object with schema name: CustomAttribute
      ],
      "name": "A String", # The name of the attribute. Underscores will be replaced by spaces upon insertion.
      "value": "A String", # The value of the attribute.
    },
  ],
  "customLabel0": "A String", # Custom label 0 for custom grouping of items in a Shopping campaign.
  "customLabel1": "A String", # Custom label 1 for custom grouping of items in a Shopping campaign.
  "customLabel2": "A String", # Custom label 2 for custom grouping of items in a Shopping campaign.
  "customLabel3": "A String", # Custom label 3 for custom grouping of items in a Shopping campaign.
  "customLabel4": "A String", # Custom label 4 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.
    "A String",
  ],
  "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns.
  "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns.
  "energyEfficiencyClass": "A String", # The energy efficiency class as defined in EU directive 2010/30/EU.
  "excludedDestinations": [ # The list of [destinations to exclude](//support.google.com/merchants/answer/6324486) for this target (corresponds to cleared check boxes in Merchant Center). Products that are excluded from all destinations for more than 7 days are automatically deleted.
    "A String",
  ],
  "expirationDate": "A String", # Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in `productstatuses` as `googleExpirationDate` 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.
  "feedLabel": "A String", # Feed label for the item. Either `targetCountry` or `feedLabel` is required. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-).
  "freeShippingThreshold": [ # Optional. 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", # Required. 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": { # Required. The minimum product price for the shipping cost to become free. Represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
    },
  ],
  "gender": "A String", # Target gender of the item.
  "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": "A String", # Global Trade Item Number (GTIN) of the item.
  "id": "A String", # The REST ID of the product. Content API methods that operate on products take this as their `productId` parameter. The REST ID for a product has one of the 2 forms channel:contentLanguage: targetCountry: offerId or channel:contentLanguage:feedLabel: offerId.
  "identifierExists": True or False, # False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.
  "imageLink": "A String", # URL of an image of the item.
  "includedDestinations": [ # The list of [destinations to include](//support.google.com/merchants/answer/7501026) for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in `excludedDestinations`.
    "A String",
  ],
  "installment": { # Details of a monthly installment payment offering. [Learn more](https://support.google.com/merchants/answer/6324474) about installments. # Number and amount of installments to pay for an item.
    "amount": { # The amount the buyer has to pay per month.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "creditType": "A String", # Optional. Type of installment payments. Supported values are: - "`finance`" - "`lease`"
    "downpayment": { # Optional. The initial down payment amount the buyer has to pay.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "months": "A String", # The number of installments the buyer has to pay.
  },
  "isBundle": True or False, # Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.
  "itemGroupId": "A String", # Shared identifier for all variants of the same product.
  "kind": "A String", # Identifies what kind of resource this is. Value: the fixed string "`content#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 for more information.
    "A String",
  ],
  "link": "A String", # URL directly linking to your item's page on your website.
  "linkTemplate": "A String", # URL template for merchant hosted local storefront.
  "loyaltyProgram": { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446 # Loyalty program information that is used to surface loyalty benefits ( for example, better pricing, points, etc) to the user of this item. This signular field points to the latest uploaded loyalty program info. This field will be deprecated in the coming weeks and should not be used in favor of the plural 'LoyaltyProgram' field below.
    "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
    "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
    "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
  },
  "loyaltyPrograms": [ # Optional. 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.
    { # Allows the setting up of loyalty program benefits (for example price or points). https://support.google.com/merchants/answer/12922446
      "cashbackForFutureUse": { # Optional. The cashback that can be used for future purchases.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "loyaltyPoints": "A String", # Optional. The amount of loyalty points earned on a purchase.
      "price": { # Optional. The price for members of the given tier (instant discount price). Must be smaller or equal to the regular price.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "programLabel": "A String", # Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.
      "tierLabel": "A String", # Required. The label of the tier within the loyalty program. Must match one of the labels within the program.
    },
  ],
  "material": "A String", # The material of which the item is made.
  "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).
  "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", # URL template for merchant hosted local storefront optimized for mobile devices.
  "mpn": "A String", # Manufacturer Part Number (MPN) of the item.
  "multipack": "A String", # The number of identical products in a merchant-defined multipack.
  "offerId": "A String", # Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. *Note:* Content API methods that operate on products take the REST ID of the product, *not* this identifier.
  "pattern": "A String", # The item's pattern (for example, polka dots).
  "pause": "A String", # Publication of this item should be temporarily paused. Acceptable values are: - "`ads`"
  "pickupMethod": "A String", # The pick up option for the item. Acceptable values are: - "`buy`" - "`reserve`" - "`ship to store`" - "`not supported`"
  "pickupSla": "A String", # Item store pickup timeline. Acceptable values are: - "`same day`" - "`next day`" - "`2-day`" - "`3-day`" - "`4-day`" - "`5-day`" - "`6-day`" - "`7-day`" - "`multi-week`"
  "price": { # Price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "productDetails": [ # Technical specification or additional 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 height of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length value represented as a number. The value can have a maximum precision of four decimal places.
  },
  "productHighlights": [ # Bullet points describing the most relevant highlights of a product.
    "A String",
  ],
  "productLength": { # The length of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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).
    "A String",
  ],
  "productWeight": { # 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 width of the product in the units provided. The value must be between 0 (exclusive) and 3000 (inclusive).
    "unit": "A String", # Required. The length units. Acceptable values are: - "`in`" - "`cm`"
    "value": 3.14, # Required. The length 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": { # Advertised sale price of the item.
    "currency": "A String", # The currency of the price.
    "value": "A String", # The price represented as a number.
  },
  "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product data specification ).
  "sellOnGoogleQuantity": "A String", # The quantity of the product that is available for selling on Google. Supported only for online products.
  "shipping": [ # Shipping rules.
    {
      "country": "A String", # The CLDR territory code of the country to which an item will ship.
      "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 Google Ads API.
      "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's received if it happens before the cut-off time. Both maxHandlingTime and maxTransitTime are required if providing shipping speeds.
      "maxTransitTime": "A String", # Maximum transit time (inclusive) between when the order has shipped and when it's 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.
      "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's received if it happens before the cut-off time. minHandlingTime can only be present together with maxHandlingTime; but it's not required if maxHandlingTime is present.
      "minTransitTime": "A String", # Minimum transit time (inclusive) between when the order has shipped and when it's 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's 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": { # Fixed shipping price, represented as a number.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "region": "A String", # The geographic region to which a shipping rate applies.
      "service": "A String", # A free-form description of the service class or delivery speed.
    },
  ],
  "shippingHeight": { # 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": { # 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": { # 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": { # 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) to exclude the offer from Shopping Ads destination. Countries from this list are removed from countries configured in MC feed settings.
    "A String",
  ],
  "sizeSystem": "A String", # System in which the size is specified. Recommended for apparel items.
  "sizeType": "A String", # The cut of the item. Recommended for apparel items.
  "sizes": [ # 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 definition).
    "A String",
  ],
  "source": "A String", # The source of the offer, that is, how the offer was created. Acceptable values are: - "`api`" - "`crawl`" - "`feed`"
  "structuredDescription": { # Structured description, for algorithmically (AI)-generated descriptions. See [description](https://support.google.com/merchants/answer/6324468#When_to_use) for more information. # Structured description, for algorithmically (AI)-generated descriptions.
    "content": "A String", # Required. The description text. Maximum length is 5000 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "structuredTitle": { # Structured title, for algorithmically (AI)-generated titles. See [title](https://support.google.com/merchants/answer/6324415#Whentouse) for more information. # Structured title, for algorithmically (AI)-generated titles.
    "content": "A String", # Required. The title text. Maximum length is 150 characters.
    "digitalSourceType": "A String", # Optional. The digital source type. Acceptable values are: - "`trained_algorithmic_media`" - "`default`"
  },
  "subscriptionCost": { # Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.
    "amount": { # The amount the buyer has to pay per subscription period.
      "currency": "A String", # The currency of the price.
      "value": "A String", # The price represented as a number.
    },
    "period": "A String", # The type of subscription period. - "`month`" - "`year`"
    "periodLength": "A String", # The number of subscription periods the buyer has to pay.
  },
  "targetCountry": "A String", # Required. The CLDR territory code for the item's country of sale.
  "taxCategory": "A String", # The tax category of the product, used to configure detailed tax nexus in account-level tax settings.
  "taxes": [ # Tax information.
    {
      "country": "A String", # The country within which the item is taxed, specified as a CLDR territory code.
      "locationId": "A String", # The numeric ID of a location that the tax rate applies to as defined in the Google Ads API.
      "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, # Should be 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 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 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 model of the item to provide more visuals.
}