# Content API for Shopping . promotions

## Instance Methods

Close httplib2 connections.

Inserts a promotion for your Merchant Center account. If the promotion already exists, then it updates the promotion instead. To [end or delete] (https://developers.google.com/shopping-content/guides/promotions#end_a_promotion) a promotion update the time period of the promotion to a time that has already passed.

Retrieves a promotion from your Merchant Center account.

List all promotions from your Merchant Center account.

Retrieves the next page of results.

### Method Details

`close()`

    Close httplib2 connections.

`create(merchantId, body=None, x__xgafv=None)`

    Inserts a promotion for your Merchant Center account. If the promotion already exists, then it updates the promotion instead. To [end or delete] (https://developers.google.com/shopping-content/guides/promotions#end_a_promotion) a promotion update the time period of the promotion to a time that has already passed.

    Args:
      merchantId: string, Required. The ID of the account that contains the collection. (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)
      "brand": [ # Product filter by brand for the promotion.
        "A String",
      ],
      "brandExclusion": [ # Product filter by brand exclusion for the promotion.
        "A String",
      ],
      "contentLanguage": "A String", # Required. The content language used as part of the unique identifier. `en` content language is available for all target countries. `fr` content language is available for `CA` and `FR` target countries. `de` content language is available for `DE` target country. `nl` content language is available for `NL` target country. `it` content language is available for `IT` target country. `pt` content language is available for `BR` target country. `ja` content language is available for `JP` target country. `ko` content language is available for `KR` target country.
      "couponValueType": "A String", # Required. Coupon value type for the promotion.
      "customRedemptionRestriction": "A String", # The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.
      "freeGiftDescription": "A String", # Free gift description for the promotion.
      "freeGiftItemId": "A String", # Free gift item ID for the promotion.
      "freeGiftValue": { # The price represented as a number and currency. # Free gift value for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "genericRedemptionCode": "A String", # Generic redemption code for the promotion. To be used with the `offerType` field.
      "getThisQuantityDiscounted": 42, # The number of items discounted in the promotion.
      "id": "A String", # Output only. The REST promotion ID to uniquely identify the promotion. Content API methods that operate on promotions take this as their `promotionId` parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The `channel` field has a value of `"online"`, `"in_store"`, or `"online_in_store"`.
      "itemGroupId": [ # Product filter by item group ID for the promotion.
        "A String",
      ],
      "itemGroupIdExclusion": [ # Product filter by item group ID exclusion for the promotion.
        "A String",
      ],
      "itemId": [ # Product filter by item ID for the promotion.
        "A String",
      ],
      "itemIdExclusion": [ # Product filter by item ID exclusion for the promotion.
        "A String",
      ],
      "limitQuantity": 42, # Maximum purchase quantity for the promotion.
      "limitValue": { # The price represented as a number and currency. # Maximum purchase value for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "longTitle": "A String", # Required. Long title for the promotion.
      "maxDiscountAmount": { # The price represented as a number and currency. # The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "minimumPurchaseAmount": { # The price represented as a number and currency. # Minimum purchase amount for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "minimumPurchaseQuantity": 42, # Minimum purchase quantity for the promotion.
      "moneyBudget": { # The price represented as a number and currency. # Cost cap for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "moneyOffAmount": { # The price represented as a number and currency. # The money off amount offered in the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "offerType": "A String", # Required. Type of the promotion.
      "orderLimit": 42, # Order limit for the promotion.
      "percentOff": 42, # The percentage discount offered in the promotion.
      "productApplicability": "A String", # Required. Applicability of the promotion to either all products or only specific products.
      "productType": [ # Product filter by product type for the promotion.
        "A String",
      ],
      "productTypeExclusion": [ # Product filter by product type exclusion for the promotion.
        "A String",
      ],
      "promotionDestinationIds": [ # Destination ID for the promotion.
        "A String",
      ],
      "promotionDisplayDates": "A String", # String representation of the promotion display dates. Deprecated. Use `promotion_display_time_period` instead.
      "promotionDisplayTimePeriod": { # A message that represents a time period. # `TimePeriod` representation of the promotion's display dates.
        "endTime": "A String", # The ending timestamp.
        "startTime": "A String", # The starting timestamp.
      },
      "promotionEffectiveDates": "A String", # String representation of the promotion effective dates. Deprecated. Use `promotion_effective_time_period` instead.
      "promotionEffectiveTimePeriod": { # A message that represents a time period. # Required. `TimePeriod` representation of the promotion's effective dates.
        "endTime": "A String", # The ending timestamp.
        "startTime": "A String", # The starting timestamp.
      },
      "promotionId": "A String", # Required. The user provided promotion ID to uniquely identify the promotion.
      "promotionStatus": { # The status of the promotion. # Output only. The current status of the promotion.
        "creationDate": "A String", # Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z"
        "destinationStatuses": [ # The intended destinations for the promotion.
          { # The destination status of the promotion.
            "destination": "A String", # The name of the destination.
            "status": "A String", # The status for the specified destination.
          },
        ],
        "lastUpdateDate": "A String", # Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z"
        "promotionIssue": [ # A list of issues associated with the promotion.
          { # The issue associated with the promotion.
            "code": "A String", # Code of the issue.
            "detail": "A String", # Explanation of the issue.
          },
        ],
      },
      "promotionUrl": "A String", # URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no promo url is included. URL is used to confirm that the promotion is valid and can be redeemed.
      "redemptionChannel": [ # Required. Redemption channel for the promotion. At least one channel is required.
        "A String",
      ],
      "redemptionRestriction": "A String", # The redemption restriction for the promotion.
      "shippingServiceNames": [ # Shipping service names for the promotion.
        "A String",
      ],
      "storeApplicability": "A String", # Whether the promotion applies to all stores, or only specified stores. Local Inventory ads promotions throw an error if no store applicability is included. An INVALID_ARGUMENT error is thrown if store_applicability is set to ALL_STORES and store_code or score_code_exclusion is set to a value.
      "storeCode": [ # Store codes to include for the promotion.
        "A String",
      ],
      "storeCodeExclusion": [ # Store codes to exclude for the promotion.
        "A String",
      ],
      "targetCountry": "A String", # Required. The target country used as part of the unique identifier. Can be `AU`, `CA`, `DE`, `FR`, `GB`, `IN`, `US`, `BR`, `ES`, `NL`, `JP`, `IT` or `KR`.
    }

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

    Returns:
      An object of the form:

        { # Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)
      "brand": [ # Product filter by brand for the promotion.
        "A String",
      ],
      "brandExclusion": [ # Product filter by brand exclusion for the promotion.
        "A String",
      ],
      "contentLanguage": "A String", # Required. The content language used as part of the unique identifier. `en` content language is available for all target countries. `fr` content language is available for `CA` and `FR` target countries. `de` content language is available for `DE` target country. `nl` content language is available for `NL` target country. `it` content language is available for `IT` target country. `pt` content language is available for `BR` target country. `ja` content language is available for `JP` target country. `ko` content language is available for `KR` target country.
      "couponValueType": "A String", # Required. Coupon value type for the promotion.
      "customRedemptionRestriction": "A String", # The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.
      "freeGiftDescription": "A String", # Free gift description for the promotion.
      "freeGiftItemId": "A String", # Free gift item ID for the promotion.
      "freeGiftValue": { # The price represented as a number and currency. # Free gift value for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "genericRedemptionCode": "A String", # Generic redemption code for the promotion. To be used with the `offerType` field.
      "getThisQuantityDiscounted": 42, # The number of items discounted in the promotion.
      "id": "A String", # Output only. The REST promotion ID to uniquely identify the promotion. Content API methods that operate on promotions take this as their `promotionId` parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The `channel` field has a value of `"online"`, `"in_store"`, or `"online_in_store"`.
      "itemGroupId": [ # Product filter by item group ID for the promotion.
        "A String",
      ],
      "itemGroupIdExclusion": [ # Product filter by item group ID exclusion for the promotion.
        "A String",
      ],
      "itemId": [ # Product filter by item ID for the promotion.
        "A String",
      ],
      "itemIdExclusion": [ # Product filter by item ID exclusion for the promotion.
        "A String",
      ],
      "limitQuantity": 42, # Maximum purchase quantity for the promotion.
      "limitValue": { # The price represented as a number and currency. # Maximum purchase value for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "longTitle": "A String", # Required. Long title for the promotion.
      "maxDiscountAmount": { # The price represented as a number and currency. # The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "minimumPurchaseAmount": { # The price represented as a number and currency. # Minimum purchase amount for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "minimumPurchaseQuantity": 42, # Minimum purchase quantity for the promotion.
      "moneyBudget": { # The price represented as a number and currency. # Cost cap for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "moneyOffAmount": { # The price represented as a number and currency. # The money off amount offered in the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "offerType": "A String", # Required. Type of the promotion.
      "orderLimit": 42, # Order limit for the promotion.
      "percentOff": 42, # The percentage discount offered in the promotion.
      "productApplicability": "A String", # Required. Applicability of the promotion to either all products or only specific products.
      "productType": [ # Product filter by product type for the promotion.
        "A String",
      ],
      "productTypeExclusion": [ # Product filter by product type exclusion for the promotion.
        "A String",
      ],
      "promotionDestinationIds": [ # Destination ID for the promotion.
        "A String",
      ],
      "promotionDisplayDates": "A String", # String representation of the promotion display dates. Deprecated. Use `promotion_display_time_period` instead.
      "promotionDisplayTimePeriod": { # A message that represents a time period. # `TimePeriod` representation of the promotion's display dates.
        "endTime": "A String", # The ending timestamp.
        "startTime": "A String", # The starting timestamp.
      },
      "promotionEffectiveDates": "A String", # String representation of the promotion effective dates. Deprecated. Use `promotion_effective_time_period` instead.
      "promotionEffectiveTimePeriod": { # A message that represents a time period. # Required. `TimePeriod` representation of the promotion's effective dates.
        "endTime": "A String", # The ending timestamp.
        "startTime": "A String", # The starting timestamp.
      },
      "promotionId": "A String", # Required. The user provided promotion ID to uniquely identify the promotion.
      "promotionStatus": { # The status of the promotion. # Output only. The current status of the promotion.
        "creationDate": "A String", # Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z"
        "destinationStatuses": [ # The intended destinations for the promotion.
          { # The destination status of the promotion.
            "destination": "A String", # The name of the destination.
            "status": "A String", # The status for the specified destination.
          },
        ],
        "lastUpdateDate": "A String", # Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z"
        "promotionIssue": [ # A list of issues associated with the promotion.
          { # The issue associated with the promotion.
            "code": "A String", # Code of the issue.
            "detail": "A String", # Explanation of the issue.
          },
        ],
      },
      "promotionUrl": "A String", # URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no promo url is included. URL is used to confirm that the promotion is valid and can be redeemed.
      "redemptionChannel": [ # Required. Redemption channel for the promotion. At least one channel is required.
        "A String",
      ],
      "redemptionRestriction": "A String", # The redemption restriction for the promotion.
      "shippingServiceNames": [ # Shipping service names for the promotion.
        "A String",
      ],
      "storeApplicability": "A String", # Whether the promotion applies to all stores, or only specified stores. Local Inventory ads promotions throw an error if no store applicability is included. An INVALID_ARGUMENT error is thrown if store_applicability is set to ALL_STORES and store_code or score_code_exclusion is set to a value.
      "storeCode": [ # Store codes to include for the promotion.
        "A String",
      ],
      "storeCodeExclusion": [ # Store codes to exclude for the promotion.
        "A String",
      ],
      "targetCountry": "A String", # Required. The target country used as part of the unique identifier. Can be `AU`, `CA`, `DE`, `FR`, `GB`, `IN`, `US`, `BR`, `ES`, `NL`, `JP`, `IT` or `KR`.
    }

`get(merchantId, id, x__xgafv=None)`

    Retrieves a promotion from your Merchant Center account.

    Args:
      merchantId: string, Required. The ID of the account that contains the collection. (required)
      id: string, Required. REST ID of the promotion to retrieve. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)
      "brand": [ # Product filter by brand for the promotion.
        "A String",
      ],
      "brandExclusion": [ # Product filter by brand exclusion for the promotion.
        "A String",
      ],
      "contentLanguage": "A String", # Required. The content language used as part of the unique identifier. `en` content language is available for all target countries. `fr` content language is available for `CA` and `FR` target countries. `de` content language is available for `DE` target country. `nl` content language is available for `NL` target country. `it` content language is available for `IT` target country. `pt` content language is available for `BR` target country. `ja` content language is available for `JP` target country. `ko` content language is available for `KR` target country.
      "couponValueType": "A String", # Required. Coupon value type for the promotion.
      "customRedemptionRestriction": "A String", # The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.
      "freeGiftDescription": "A String", # Free gift description for the promotion.
      "freeGiftItemId": "A String", # Free gift item ID for the promotion.
      "freeGiftValue": { # The price represented as a number and currency. # Free gift value for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "genericRedemptionCode": "A String", # Generic redemption code for the promotion. To be used with the `offerType` field.
      "getThisQuantityDiscounted": 42, # The number of items discounted in the promotion.
      "id": "A String", # Output only. The REST promotion ID to uniquely identify the promotion. Content API methods that operate on promotions take this as their `promotionId` parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The `channel` field has a value of `"online"`, `"in_store"`, or `"online_in_store"`.
      "itemGroupId": [ # Product filter by item group ID for the promotion.
        "A String",
      ],
      "itemGroupIdExclusion": [ # Product filter by item group ID exclusion for the promotion.
        "A String",
      ],
      "itemId": [ # Product filter by item ID for the promotion.
        "A String",
      ],
      "itemIdExclusion": [ # Product filter by item ID exclusion for the promotion.
        "A String",
      ],
      "limitQuantity": 42, # Maximum purchase quantity for the promotion.
      "limitValue": { # The price represented as a number and currency. # Maximum purchase value for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "longTitle": "A String", # Required. Long title for the promotion.
      "maxDiscountAmount": { # The price represented as a number and currency. # The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "minimumPurchaseAmount": { # The price represented as a number and currency. # Minimum purchase amount for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "minimumPurchaseQuantity": 42, # Minimum purchase quantity for the promotion.
      "moneyBudget": { # The price represented as a number and currency. # Cost cap for the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "moneyOffAmount": { # The price represented as a number and currency. # The money off amount offered in the promotion.
        "currency": "A String", # The currency of the price.
        "value": "A String", # The price represented as a number.
      },
      "offerType": "A String", # Required. Type of the promotion.
      "orderLimit": 42, # Order limit for the promotion.
      "percentOff": 42, # The percentage discount offered in the promotion.
      "productApplicability": "A String", # Required. Applicability of the promotion to either all products or only specific products.
      "productType": [ # Product filter by product type for the promotion.
        "A String",
      ],
      "productTypeExclusion": [ # Product filter by product type exclusion for the promotion.
        "A String",
      ],
      "promotionDestinationIds": [ # Destination ID for the promotion.
        "A String",
      ],
      "promotionDisplayDates": "A String", # String representation of the promotion display dates. Deprecated. Use `promotion_display_time_period` instead.
      "promotionDisplayTimePeriod": { # A message that represents a time period. # `TimePeriod` representation of the promotion's display dates.
        "endTime": "A String", # The ending timestamp.
        "startTime": "A String", # The starting timestamp.
      },
      "promotionEffectiveDates": "A String", # String representation of the promotion effective dates. Deprecated. Use `promotion_effective_time_period` instead.
      "promotionEffectiveTimePeriod": { # A message that represents a time period. # Required. `TimePeriod` representation of the promotion's effective dates.
        "endTime": "A String", # The ending timestamp.
        "startTime": "A String", # The starting timestamp.
      },
      "promotionId": "A String", # Required. The user provided promotion ID to uniquely identify the promotion.
      "promotionStatus": { # The status of the promotion. # Output only. The current status of the promotion.
        "creationDate": "A String", # Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z"
        "destinationStatuses": [ # The intended destinations for the promotion.
          { # The destination status of the promotion.
            "destination": "A String", # The name of the destination.
            "status": "A String", # The status for the specified destination.
          },
        ],
        "lastUpdateDate": "A String", # Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z"
        "promotionIssue": [ # A list of issues associated with the promotion.
          { # The issue associated with the promotion.
            "code": "A String", # Code of the issue.
            "detail": "A String", # Explanation of the issue.
          },
        ],
      },
      "promotionUrl": "A String", # URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no promo url is included. URL is used to confirm that the promotion is valid and can be redeemed.
      "redemptionChannel": [ # Required. Redemption channel for the promotion. At least one channel is required.
        "A String",
      ],
      "redemptionRestriction": "A String", # The redemption restriction for the promotion.
      "shippingServiceNames": [ # Shipping service names for the promotion.
        "A String",
      ],
      "storeApplicability": "A String", # Whether the promotion applies to all stores, or only specified stores. Local Inventory ads promotions throw an error if no store applicability is included. An INVALID_ARGUMENT error is thrown if store_applicability is set to ALL_STORES and store_code or score_code_exclusion is set to a value.
      "storeCode": [ # Store codes to include for the promotion.
        "A String",
      ],
      "storeCodeExclusion": [ # Store codes to exclude for the promotion.
        "A String",
      ],
      "targetCountry": "A String", # Required. The target country used as part of the unique identifier. Can be `AU`, `CA`, `DE`, `FR`, `GB`, `IN`, `US`, `BR`, `ES`, `NL`, `JP`, `IT` or `KR`.
    }

`list(merchantId, countryCode=None, languageCode=None, pageSize=None, pageToken=None, x__xgafv=None)`

    List all promotions from your Merchant Center account.

    Args:
      merchantId: string, Required. The ID of the account that contains the collection. (required)
      countryCode: string, [CLDR country code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) (for example, "US"), used as a filter on promotions target country.
      languageCode: string, The two-letter ISO 639-1 language code associated with the promotions, used as a filter.
      pageSize: integer, The maximum number of promotions to return. The service may return fewer than this value. If unspecified, at most 50 labels will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
      pageToken: string, A page token, received from a previous `ListPromotion` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPromotion` must match the call that provided the page token.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for Promotions.List method.
      "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
      "promotions": [ # List of all available promotions for the merchant.
        { # Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)
          "brand": [ # Product filter by brand for the promotion.
            "A String",
          ],
          "brandExclusion": [ # Product filter by brand exclusion for the promotion.
            "A String",
          ],
          "contentLanguage": "A String", # Required. The content language used as part of the unique identifier. `en` content language is available for all target countries. `fr` content language is available for `CA` and `FR` target countries. `de` content language is available for `DE` target country. `nl` content language is available for `NL` target country. `it` content language is available for `IT` target country. `pt` content language is available for `BR` target country. `ja` content language is available for `JP` target country. `ko` content language is available for `KR` target country.
          "couponValueType": "A String", # Required. Coupon value type for the promotion.
          "customRedemptionRestriction": "A String", # The custom redemption restriction for the promotion. If the `redemption_restriction` field is set to `CUSTOM`, this field must be set.
          "freeGiftDescription": "A String", # Free gift description for the promotion.
          "freeGiftItemId": "A String", # Free gift item ID for the promotion.
          "freeGiftValue": { # The price represented as a number and currency. # Free gift value for the promotion.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "genericRedemptionCode": "A String", # Generic redemption code for the promotion. To be used with the `offerType` field.
          "getThisQuantityDiscounted": 42, # The number of items discounted in the promotion.
          "id": "A String", # Output only. The REST promotion ID to uniquely identify the promotion. Content API methods that operate on promotions take this as their `promotionId` parameter. The REST ID for a promotion is of the form channel:contentLanguage:targetCountry:promotionId The `channel` field has a value of `"online"`, `"in_store"`, or `"online_in_store"`.
          "itemGroupId": [ # Product filter by item group ID for the promotion.
            "A String",
          ],
          "itemGroupIdExclusion": [ # Product filter by item group ID exclusion for the promotion.
            "A String",
          ],
          "itemId": [ # Product filter by item ID for the promotion.
            "A String",
          ],
          "itemIdExclusion": [ # Product filter by item ID exclusion for the promotion.
            "A String",
          ],
          "limitQuantity": 42, # Maximum purchase quantity for the promotion.
          "limitValue": { # The price represented as a number and currency. # Maximum purchase value for the promotion.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "longTitle": "A String", # Required. Long title for the promotion.
          "maxDiscountAmount": { # The price represented as a number and currency. # The maximum monetary discount a customer can receive for the promotion. This field is only supported with the `Percent off` coupon value type.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "minimumPurchaseAmount": { # The price represented as a number and currency. # Minimum purchase amount for the promotion.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "minimumPurchaseQuantity": 42, # Minimum purchase quantity for the promotion.
          "moneyBudget": { # The price represented as a number and currency. # Cost cap for the promotion.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "moneyOffAmount": { # The price represented as a number and currency. # The money off amount offered in the promotion.
            "currency": "A String", # The currency of the price.
            "value": "A String", # The price represented as a number.
          },
          "offerType": "A String", # Required. Type of the promotion.
          "orderLimit": 42, # Order limit for the promotion.
          "percentOff": 42, # The percentage discount offered in the promotion.
          "productApplicability": "A String", # Required. Applicability of the promotion to either all products or only specific products.
          "productType": [ # Product filter by product type for the promotion.
            "A String",
          ],
          "productTypeExclusion": [ # Product filter by product type exclusion for the promotion.
            "A String",
          ],
          "promotionDestinationIds": [ # Destination ID for the promotion.
            "A String",
          ],
          "promotionDisplayDates": "A String", # String representation of the promotion display dates. Deprecated. Use `promotion_display_time_period` instead.
          "promotionDisplayTimePeriod": { # A message that represents a time period. # `TimePeriod` representation of the promotion's display dates.
            "endTime": "A String", # The ending timestamp.
            "startTime": "A String", # The starting timestamp.
          },
          "promotionEffectiveDates": "A String", # String representation of the promotion effective dates. Deprecated. Use `promotion_effective_time_period` instead.
          "promotionEffectiveTimePeriod": { # A message that represents a time period. # Required. `TimePeriod` representation of the promotion's effective dates.
            "endTime": "A String", # The ending timestamp.
            "startTime": "A String", # The starting timestamp.
          },
          "promotionId": "A String", # Required. The user provided promotion ID to uniquely identify the promotion.
          "promotionStatus": { # The status of the promotion. # Output only. The current status of the promotion.
            "creationDate": "A String", # Date on which the promotion has been created in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z"
            "destinationStatuses": [ # The intended destinations for the promotion.
              { # The destination status of the promotion.
                "destination": "A String", # The name of the destination.
                "status": "A String", # The status for the specified destination.
              },
            ],
            "lastUpdateDate": "A String", # Date on which the promotion status has been last updated in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time, and offset, for example "2020-01-02T09:00:00+01:00" or "2020-01-02T09:00:00Z"
            "promotionIssue": [ # A list of issues associated with the promotion.
              { # The issue associated with the promotion.
                "code": "A String", # Code of the issue.
                "detail": "A String", # Explanation of the issue.
              },
            ],
          },
          "promotionUrl": "A String", # URL to the page on the merchant's site where the promotion shows. Local Inventory ads promotions throw an error if no promo url is included. URL is used to confirm that the promotion is valid and can be redeemed.
          "redemptionChannel": [ # Required. Redemption channel for the promotion. At least one channel is required.
            "A String",
          ],
          "redemptionRestriction": "A String", # The redemption restriction for the promotion.
          "shippingServiceNames": [ # Shipping service names for the promotion.
            "A String",
          ],
          "storeApplicability": "A String", # Whether the promotion applies to all stores, or only specified stores. Local Inventory ads promotions throw an error if no store applicability is included. An INVALID_ARGUMENT error is thrown if store_applicability is set to ALL_STORES and store_code or score_code_exclusion is set to a value.
          "storeCode": [ # Store codes to include for the promotion.
            "A String",
          ],
          "storeCodeExclusion": [ # Store codes to exclude for the promotion.
            "A String",
          ],
          "targetCountry": "A String", # Required. The target country used as part of the unique identifier. Can be `AU`, `CA`, `DE`, `FR`, `GB`, `IN`, `US`, `BR`, `ES`, `NL`, `JP`, `IT` or `KR`.
        },
      ],
    }

`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.