# Google Play Android Developer API . monetization . onetimeproducts . purchaseOptions . offers

## Instance Methods

Activates a one-time product offer.

Deletes one or more one-time product offers.

Reads one or more one-time product offers.

Creates or updates one or more one-time product offers.

Updates a batch of one-time product offer states.

Cancels a one-time product offer.

Close httplib2 connections.

Deactivates a one-time product offer.

Lists all offers under a given app, product, or purchase option.

Retrieves the next page of results.

### Method Details

`activate(packageName, productId, purchaseOptionId, offerId, body=None, x__xgafv=None)`

    Activates a one-time product offer.

    Args:
      packageName: string, Required. The parent app (package name) of the offer to activate. (required)
      productId: string, Required. The parent one-time product (ID) of the offer to activate. (required)
      purchaseOptionId: string, Required. The parent purchase option (ID) of the offer to activate. (required)
      offerId: string, Required. The offer ID of the offer to activate. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for ActivateOneTimeProductOffer.
      "latencyTolerance": "A String", # Optional. The latency tolerance for the propagation of this update. Defaults to latency-sensitive.
      "offerId": "A String", # Required. The offer ID of the offer to activate.
      "packageName": "A String", # Required. The parent app (package name) of the offer to activate.
      "productId": "A String", # Required. The parent one-time product (ID) of the offer to activate.
      "purchaseOptionId": "A String", # Required. The parent purchase option (ID) of the offer to activate.
    }

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

    Returns:
      An object of the form:

        { # A single offer for a one-time product.
      "discountedOffer": { # Configuration specific to discounted offers. # A discounted offer.
        "endTime": "A String", # Time when the offer will stop being available.
        "redemptionLimit": "A String", # Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.
        "startTime": "A String", # Time when the offer will start being available.
      },
      "offerId": "A String", # Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.
      "offerTags": [ # Optional. List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
        { # Represents a custom tag specified for a product offer.
          "tag": "A String", # Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
        },
      ],
      "packageName": "A String", # Required. Immutable. The package name of the app the parent product belongs to.
      "preOrderOffer": { # Configuration specific to pre-order offers. # A pre-order offer.
        "endTime": "A String", # Required. Time when the pre-order will stop being available.
        "priceChangeBehavior": "A String", # Required. Immutable. Specifies how price changes affect pre-existing pre-orders.
        "releaseTime": "A String", # Required. Time on which the product associated with the pre-order will be released and the pre-order orders fulfilled.
        "startTime": "A String", # Required. Time when the pre-order will start being available.
      },
      "productId": "A String", # Required. Immutable. The ID of the parent product this offer belongs to.
      "purchaseOptionId": "A String", # Required. Immutable. The ID of the purchase option to which this offer is an extension.
      "regionalPricingAndAvailabilityConfigs": [ # Set of regional pricing and availability information for this offer. Must not have duplicate entries with the same region_code.
        { # Regional pricing and availability configuration for a one-time product offer.
          "absoluteDiscount": { # Represents an amount of money with its currency type. # The absolute value of the discount that is subtracted from the purchase option price. It should be between 0 and the purchase option price.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "availability": "A String", # Required. The availability for this region.
          "noOverride": { # Options for one-time product offers without a regional price override. # The price defined in the purchase option for this region will be used.
          },
          "regionCode": "A String", # Required. Region code this configuration applies to, as defined by ISO 3166-2, e.g., "US".
          "relativeDiscount": 3.14, # The fraction of the purchase option price that the user pays for this offer. For example, if the purchase option price for this region is $12, then a 50% discount would correspond to a price of $6. The discount must be specified as a fraction strictly larger than 0 and strictly smaller than 1. The resulting price will be rounded to the nearest billable unit (e.g. cents for USD). The relative discount is considered invalid if the discounted price ends up being smaller than the minimum price allowed in this region.
        },
      ],
      "regionsVersion": { # The version of the available regions being used for the specified resource. # Output only. The version of the regions configuration that was used to generate the one-time product offer.
        "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
      },
      "state": "A String", # Output only. The current state of this offer. This field cannot be changed by updating the resource. Use the dedicated endpoints instead.
    }

`batchDelete(packageName, productId, purchaseOptionId, body=None, x__xgafv=None)`

    Deletes one or more one-time product offers.

    Args:
      packageName: string, Required. The parent app (package name) of the offers to delete. Must be equal to the package_name field on all the OneTimeProductOffer resources. (required)
      productId: string, Required. The product ID of the parent one-time product, if all offers to delete belong to the same product. If this request spans multiple one-time products, set this field to "-". (required)
      purchaseOptionId: string, Required. The parent purchase option (ID) for which the offers should be deleted. May be specified as '-' to update offers from multiple purchase options. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for BatchDeleteOneTimeProductOffers.
      "requests": [ # Required. A list of update requests of up to 100 elements. All requests must correspond to different offers.
        { # Request message for deleting an one-time product offer.
          "latencyTolerance": "A String", # Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive.
          "offerId": "A String", # Required. The unique offer ID of the offer to delete.
          "packageName": "A String", # Required. The parent app (package name) of the offer to delete.
          "productId": "A String", # Required. The parent one-time product (ID) of the offer to delete.
          "purchaseOptionId": "A String", # Required. The parent purchase option (ID) of the offer to delete.
        },
      ],
    }

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

`batchGet(packageName, productId, purchaseOptionId, body=None, x__xgafv=None)`

    Reads one or more one-time product offers.

    Args:
      packageName: string, Required. The parent app (package name) of the updated offers. Must be equal to the package_name field on all the updated OneTimeProductOffer resources. (required)
      productId: string, Required. The product ID of the parent one-time product, if all updated offers belong to the same product. If this request spans multiple one-time products, set this field to "-". (required)
      purchaseOptionId: string, Required. The parent purchase option (ID) for which the offers should be updated. May be specified as '-' to update offers from multiple purchase options. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for the BatchGetOneTimeProductOffers endpoint.
      "requests": [ # Required. A list of get requests of up to 100 elements. All requests must retrieve different offers.
        { # Request message for GetOneTimeProductOffers.
          "offerId": "A String", # Required. The unique offer ID of the offer to get.
          "packageName": "A String", # Required. The parent app (package name) of the offer to get.
          "productId": "A String", # Required. The parent one-time product (ID) of the offer to get.
          "purchaseOptionId": "A String", # Required. The parent purchase option (ID) of the offer to get.
        },
      ],
    }

      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 the BatchGetOneTimeProductOffers endpoint.
      "oneTimeProductOffers": [ # The list of updated one-time product offers, in the same order as the request.
        { # A single offer for a one-time product.
          "discountedOffer": { # Configuration specific to discounted offers. # A discounted offer.
            "endTime": "A String", # Time when the offer will stop being available.
            "redemptionLimit": "A String", # Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.
            "startTime": "A String", # Time when the offer will start being available.
          },
          "offerId": "A String", # Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.
          "offerTags": [ # Optional. List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
            { # Represents a custom tag specified for a product offer.
              "tag": "A String", # Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
            },
          ],
          "packageName": "A String", # Required. Immutable. The package name of the app the parent product belongs to.
          "preOrderOffer": { # Configuration specific to pre-order offers. # A pre-order offer.
            "endTime": "A String", # Required. Time when the pre-order will stop being available.
            "priceChangeBehavior": "A String", # Required. Immutable. Specifies how price changes affect pre-existing pre-orders.
            "releaseTime": "A String", # Required. Time on which the product associated with the pre-order will be released and the pre-order orders fulfilled.
            "startTime": "A String", # Required. Time when the pre-order will start being available.
          },
          "productId": "A String", # Required. Immutable. The ID of the parent product this offer belongs to.
          "purchaseOptionId": "A String", # Required. Immutable. The ID of the purchase option to which this offer is an extension.
          "regionalPricingAndAvailabilityConfigs": [ # Set of regional pricing and availability information for this offer. Must not have duplicate entries with the same region_code.
            { # Regional pricing and availability configuration for a one-time product offer.
              "absoluteDiscount": { # Represents an amount of money with its currency type. # The absolute value of the discount that is subtracted from the purchase option price. It should be between 0 and the purchase option price.
                "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              },
              "availability": "A String", # Required. The availability for this region.
              "noOverride": { # Options for one-time product offers without a regional price override. # The price defined in the purchase option for this region will be used.
              },
              "regionCode": "A String", # Required. Region code this configuration applies to, as defined by ISO 3166-2, e.g., "US".
              "relativeDiscount": 3.14, # The fraction of the purchase option price that the user pays for this offer. For example, if the purchase option price for this region is $12, then a 50% discount would correspond to a price of $6. The discount must be specified as a fraction strictly larger than 0 and strictly smaller than 1. The resulting price will be rounded to the nearest billable unit (e.g. cents for USD). The relative discount is considered invalid if the discounted price ends up being smaller than the minimum price allowed in this region.
            },
          ],
          "regionsVersion": { # The version of the available regions being used for the specified resource. # Output only. The version of the regions configuration that was used to generate the one-time product offer.
            "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
          },
          "state": "A String", # Output only. The current state of this offer. This field cannot be changed by updating the resource. Use the dedicated endpoints instead.
        },
      ],
    }

`batchUpdate(packageName, productId, purchaseOptionId, body=None, x__xgafv=None)`

    Creates or updates one or more one-time product offers.

    Args:
      packageName: string, Required. The parent app (package name) of the updated offers. Must be equal to the package_name field on all the updated OneTimeProductOffer resources. (required)
      productId: string, Required. The product ID of the parent one-time product, if all updated offers belong to the same product. If this request spans multiple one-time products, set this field to "-". (required)
      purchaseOptionId: string, Required. The parent purchase option (ID) for which the offers should be updated. May be specified as '-' to update offers from multiple purchase options. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for BatchUpdateOneTimeProductOffers.
      "requests": [ # Required. A list of update requests of up to 100 elements. All requests must update different offers.
        { # Request message for UpdateOneTimeProductOffer.
          "allowMissing": True or False, # Optional. If set to true, and the offer with the given package_name, product_id, purchase_option_id and offer_id doesn't exist, an offer will be created. If a new offer is created, the update_mask is ignored.
          "latencyTolerance": "A String", # Optional. The latency tolerance for the propagation of this offer update. Defaults to latency-sensitive.
          "oneTimeProductOffer": { # A single offer for a one-time product. # Required. The one-time product offer to update.
            "discountedOffer": { # Configuration specific to discounted offers. # A discounted offer.
              "endTime": "A String", # Time when the offer will stop being available.
              "redemptionLimit": "A String", # Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.
              "startTime": "A String", # Time when the offer will start being available.
            },
            "offerId": "A String", # Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.
            "offerTags": [ # Optional. List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
              { # Represents a custom tag specified for a product offer.
                "tag": "A String", # Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
              },
            ],
            "packageName": "A String", # Required. Immutable. The package name of the app the parent product belongs to.
            "preOrderOffer": { # Configuration specific to pre-order offers. # A pre-order offer.
              "endTime": "A String", # Required. Time when the pre-order will stop being available.
              "priceChangeBehavior": "A String", # Required. Immutable. Specifies how price changes affect pre-existing pre-orders.
              "releaseTime": "A String", # Required. Time on which the product associated with the pre-order will be released and the pre-order orders fulfilled.
              "startTime": "A String", # Required. Time when the pre-order will start being available.
            },
            "productId": "A String", # Required. Immutable. The ID of the parent product this offer belongs to.
            "purchaseOptionId": "A String", # Required. Immutable. The ID of the purchase option to which this offer is an extension.
            "regionalPricingAndAvailabilityConfigs": [ # Set of regional pricing and availability information for this offer. Must not have duplicate entries with the same region_code.
              { # Regional pricing and availability configuration for a one-time product offer.
                "absoluteDiscount": { # Represents an amount of money with its currency type. # The absolute value of the discount that is subtracted from the purchase option price. It should be between 0 and the purchase option price.
                  "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                  "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                  "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
                },
                "availability": "A String", # Required. The availability for this region.
                "noOverride": { # Options for one-time product offers without a regional price override. # The price defined in the purchase option for this region will be used.
                },
                "regionCode": "A String", # Required. Region code this configuration applies to, as defined by ISO 3166-2, e.g., "US".
                "relativeDiscount": 3.14, # The fraction of the purchase option price that the user pays for this offer. For example, if the purchase option price for this region is $12, then a 50% discount would correspond to a price of $6. The discount must be specified as a fraction strictly larger than 0 and strictly smaller than 1. The resulting price will be rounded to the nearest billable unit (e.g. cents for USD). The relative discount is considered invalid if the discounted price ends up being smaller than the minimum price allowed in this region.
              },
            ],
            "regionsVersion": { # The version of the available regions being used for the specified resource. # Output only. The version of the regions configuration that was used to generate the one-time product offer.
              "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
            },
            "state": "A String", # Output only. The current state of this offer. This field cannot be changed by updating the resource. Use the dedicated endpoints instead.
          },
          "regionsVersion": { # The version of the available regions being used for the specified resource. # Required. The version of the available regions being used for the offer.
            "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
          },
          "updateMask": "A String", # Required. The list of fields to be updated.
        },
      ],
    }

      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 BatchUpdateOneTimeProductOffers.
      "oneTimeProductOffers": [ # The list of updated one-time product offers, in the same order as the request.
        { # A single offer for a one-time product.
          "discountedOffer": { # Configuration specific to discounted offers. # A discounted offer.
            "endTime": "A String", # Time when the offer will stop being available.
            "redemptionLimit": "A String", # Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.
            "startTime": "A String", # Time when the offer will start being available.
          },
          "offerId": "A String", # Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.
          "offerTags": [ # Optional. List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
            { # Represents a custom tag specified for a product offer.
              "tag": "A String", # Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
            },
          ],
          "packageName": "A String", # Required. Immutable. The package name of the app the parent product belongs to.
          "preOrderOffer": { # Configuration specific to pre-order offers. # A pre-order offer.
            "endTime": "A String", # Required. Time when the pre-order will stop being available.
            "priceChangeBehavior": "A String", # Required. Immutable. Specifies how price changes affect pre-existing pre-orders.
            "releaseTime": "A String", # Required. Time on which the product associated with the pre-order will be released and the pre-order orders fulfilled.
            "startTime": "A String", # Required. Time when the pre-order will start being available.
          },
          "productId": "A String", # Required. Immutable. The ID of the parent product this offer belongs to.
          "purchaseOptionId": "A String", # Required. Immutable. The ID of the purchase option to which this offer is an extension.
          "regionalPricingAndAvailabilityConfigs": [ # Set of regional pricing and availability information for this offer. Must not have duplicate entries with the same region_code.
            { # Regional pricing and availability configuration for a one-time product offer.
              "absoluteDiscount": { # Represents an amount of money with its currency type. # The absolute value of the discount that is subtracted from the purchase option price. It should be between 0 and the purchase option price.
                "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              },
              "availability": "A String", # Required. The availability for this region.
              "noOverride": { # Options for one-time product offers without a regional price override. # The price defined in the purchase option for this region will be used.
              },
              "regionCode": "A String", # Required. Region code this configuration applies to, as defined by ISO 3166-2, e.g., "US".
              "relativeDiscount": 3.14, # The fraction of the purchase option price that the user pays for this offer. For example, if the purchase option price for this region is $12, then a 50% discount would correspond to a price of $6. The discount must be specified as a fraction strictly larger than 0 and strictly smaller than 1. The resulting price will be rounded to the nearest billable unit (e.g. cents for USD). The relative discount is considered invalid if the discounted price ends up being smaller than the minimum price allowed in this region.
            },
          ],
          "regionsVersion": { # The version of the available regions being used for the specified resource. # Output only. The version of the regions configuration that was used to generate the one-time product offer.
            "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
          },
          "state": "A String", # Output only. The current state of this offer. This field cannot be changed by updating the resource. Use the dedicated endpoints instead.
        },
      ],
    }

`batchUpdateStates(packageName, productId, purchaseOptionId, body=None, x__xgafv=None)`

    Updates a batch of one-time product offer states.

    Args:
      packageName: string, Required. The parent app (package name) of the updated one-time product offers. (required)
      productId: string, Required. The product ID of the parent one-time product, if all updated offers belong to the same one-time product. If this batch update spans multiple one-time products, set this field to "-". (required)
      purchaseOptionId: string, Required. The purchase option ID of the parent purchase option, if all updated offers belong to the same purchase option. If this batch update spans multiple purchase options, set this field to "-". (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for BatchUpdateOneTimeProductOfferStates.
      "requests": [ # Required. The update request list of up to 100 elements. All requests must update different offers.
        { # Request message to update the state of a one-time product offer.
          "activateOneTimeProductOfferRequest": { # Request message for ActivateOneTimeProductOffer. # Activates an offer. Once activated, the offer is available to users, as long as its conditions are met.
            "latencyTolerance": "A String", # Optional. The latency tolerance for the propagation of this update. Defaults to latency-sensitive.
            "offerId": "A String", # Required. The offer ID of the offer to activate.
            "packageName": "A String", # Required. The parent app (package name) of the offer to activate.
            "productId": "A String", # Required. The parent one-time product (ID) of the offer to activate.
            "purchaseOptionId": "A String", # Required. The parent purchase option (ID) of the offer to activate.
          },
          "cancelOneTimeProductOfferRequest": { # Request message for CancelOneTimeProductOffer. # Cancels an offer. Once cancelled, the offer is not available to users. Any pending orders related to this offer will be cancelled. This state transition is specific to pre-orders.
            "latencyTolerance": "A String", # Optional. The latency tolerance for the propagation of this update. Defaults to latency-sensitive.
            "offerId": "A String", # Required. The offer ID of the offer to cancel.
            "packageName": "A String", # Required. The parent app (package name) of the offer to cancel.
            "productId": "A String", # Required. The parent one-time product (ID) of the offer to cancel.
            "purchaseOptionId": "A String", # Required. The parent purchase option (ID) of the offer to cancel.
          },
          "deactivateOneTimeProductOfferRequest": { # Request message for DeactivateOneTimeProductOffer. # Deactivates an offer. Once deactivated, the offer is no longer available to users. This state transition is specific to discounted offers.
            "latencyTolerance": "A String", # Optional. The latency tolerance for the propagation of this update. Defaults to latency-sensitive.
            "offerId": "A String", # Required. The offer ID of the offer to deactivate.
            "packageName": "A String", # Required. The parent app (package name) of the offer to deactivate.
            "productId": "A String", # Required. The parent one-time product (ID) of the offer to deactivate.
            "purchaseOptionId": "A String", # Required. The parent purchase option (ID) of the offer to deactivate.
          },
        },
      ],
    }

      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 BatchUpdateOneTimeProductOfferStates.
      "oneTimeProductOffers": [ # The updated one-time product offers list, in the same order as the request.
        { # A single offer for a one-time product.
          "discountedOffer": { # Configuration specific to discounted offers. # A discounted offer.
            "endTime": "A String", # Time when the offer will stop being available.
            "redemptionLimit": "A String", # Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.
            "startTime": "A String", # Time when the offer will start being available.
          },
          "offerId": "A String", # Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.
          "offerTags": [ # Optional. List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
            { # Represents a custom tag specified for a product offer.
              "tag": "A String", # Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
            },
          ],
          "packageName": "A String", # Required. Immutable. The package name of the app the parent product belongs to.
          "preOrderOffer": { # Configuration specific to pre-order offers. # A pre-order offer.
            "endTime": "A String", # Required. Time when the pre-order will stop being available.
            "priceChangeBehavior": "A String", # Required. Immutable. Specifies how price changes affect pre-existing pre-orders.
            "releaseTime": "A String", # Required. Time on which the product associated with the pre-order will be released and the pre-order orders fulfilled.
            "startTime": "A String", # Required. Time when the pre-order will start being available.
          },
          "productId": "A String", # Required. Immutable. The ID of the parent product this offer belongs to.
          "purchaseOptionId": "A String", # Required. Immutable. The ID of the purchase option to which this offer is an extension.
          "regionalPricingAndAvailabilityConfigs": [ # Set of regional pricing and availability information for this offer. Must not have duplicate entries with the same region_code.
            { # Regional pricing and availability configuration for a one-time product offer.
              "absoluteDiscount": { # Represents an amount of money with its currency type. # The absolute value of the discount that is subtracted from the purchase option price. It should be between 0 and the purchase option price.
                "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              },
              "availability": "A String", # Required. The availability for this region.
              "noOverride": { # Options for one-time product offers without a regional price override. # The price defined in the purchase option for this region will be used.
              },
              "regionCode": "A String", # Required. Region code this configuration applies to, as defined by ISO 3166-2, e.g., "US".
              "relativeDiscount": 3.14, # The fraction of the purchase option price that the user pays for this offer. For example, if the purchase option price for this region is $12, then a 50% discount would correspond to a price of $6. The discount must be specified as a fraction strictly larger than 0 and strictly smaller than 1. The resulting price will be rounded to the nearest billable unit (e.g. cents for USD). The relative discount is considered invalid if the discounted price ends up being smaller than the minimum price allowed in this region.
            },
          ],
          "regionsVersion": { # The version of the available regions being used for the specified resource. # Output only. The version of the regions configuration that was used to generate the one-time product offer.
            "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
          },
          "state": "A String", # Output only. The current state of this offer. This field cannot be changed by updating the resource. Use the dedicated endpoints instead.
        },
      ],
    }

`cancel(packageName, productId, purchaseOptionId, offerId, body=None, x__xgafv=None)`

    Cancels a one-time product offer.

    Args:
      packageName: string, Required. The parent app (package name) of the offer to cancel. (required)
      productId: string, Required. The parent one-time product (ID) of the offer to cancel. (required)
      purchaseOptionId: string, Required. The parent purchase option (ID) of the offer to cancel. (required)
      offerId: string, Required. The offer ID of the offer to cancel. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for CancelOneTimeProductOffer.
      "latencyTolerance": "A String", # Optional. The latency tolerance for the propagation of this update. Defaults to latency-sensitive.
      "offerId": "A String", # Required. The offer ID of the offer to cancel.
      "packageName": "A String", # Required. The parent app (package name) of the offer to cancel.
      "productId": "A String", # Required. The parent one-time product (ID) of the offer to cancel.
      "purchaseOptionId": "A String", # Required. The parent purchase option (ID) of the offer to cancel.
    }

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

    Returns:
      An object of the form:

        { # A single offer for a one-time product.
      "discountedOffer": { # Configuration specific to discounted offers. # A discounted offer.
        "endTime": "A String", # Time when the offer will stop being available.
        "redemptionLimit": "A String", # Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.
        "startTime": "A String", # Time when the offer will start being available.
      },
      "offerId": "A String", # Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.
      "offerTags": [ # Optional. List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
        { # Represents a custom tag specified for a product offer.
          "tag": "A String", # Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
        },
      ],
      "packageName": "A String", # Required. Immutable. The package name of the app the parent product belongs to.
      "preOrderOffer": { # Configuration specific to pre-order offers. # A pre-order offer.
        "endTime": "A String", # Required. Time when the pre-order will stop being available.
        "priceChangeBehavior": "A String", # Required. Immutable. Specifies how price changes affect pre-existing pre-orders.
        "releaseTime": "A String", # Required. Time on which the product associated with the pre-order will be released and the pre-order orders fulfilled.
        "startTime": "A String", # Required. Time when the pre-order will start being available.
      },
      "productId": "A String", # Required. Immutable. The ID of the parent product this offer belongs to.
      "purchaseOptionId": "A String", # Required. Immutable. The ID of the purchase option to which this offer is an extension.
      "regionalPricingAndAvailabilityConfigs": [ # Set of regional pricing and availability information for this offer. Must not have duplicate entries with the same region_code.
        { # Regional pricing and availability configuration for a one-time product offer.
          "absoluteDiscount": { # Represents an amount of money with its currency type. # The absolute value of the discount that is subtracted from the purchase option price. It should be between 0 and the purchase option price.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "availability": "A String", # Required. The availability for this region.
          "noOverride": { # Options for one-time product offers without a regional price override. # The price defined in the purchase option for this region will be used.
          },
          "regionCode": "A String", # Required. Region code this configuration applies to, as defined by ISO 3166-2, e.g., "US".
          "relativeDiscount": 3.14, # The fraction of the purchase option price that the user pays for this offer. For example, if the purchase option price for this region is $12, then a 50% discount would correspond to a price of $6. The discount must be specified as a fraction strictly larger than 0 and strictly smaller than 1. The resulting price will be rounded to the nearest billable unit (e.g. cents for USD). The relative discount is considered invalid if the discounted price ends up being smaller than the minimum price allowed in this region.
        },
      ],
      "regionsVersion": { # The version of the available regions being used for the specified resource. # Output only. The version of the regions configuration that was used to generate the one-time product offer.
        "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
      },
      "state": "A String", # Output only. The current state of this offer. This field cannot be changed by updating the resource. Use the dedicated endpoints instead.
    }

`close()`

    Close httplib2 connections.

`deactivate(packageName, productId, purchaseOptionId, offerId, body=None, x__xgafv=None)`

    Deactivates a one-time product offer.

    Args:
      packageName: string, Required. The parent app (package name) of the offer to deactivate. (required)
      productId: string, Required. The parent one-time product (ID) of the offer to deactivate. (required)
      purchaseOptionId: string, Required. The parent purchase option (ID) of the offer to deactivate. (required)
      offerId: string, Required. The offer ID of the offer to deactivate. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for DeactivateOneTimeProductOffer.
      "latencyTolerance": "A String", # Optional. The latency tolerance for the propagation of this update. Defaults to latency-sensitive.
      "offerId": "A String", # Required. The offer ID of the offer to deactivate.
      "packageName": "A String", # Required. The parent app (package name) of the offer to deactivate.
      "productId": "A String", # Required. The parent one-time product (ID) of the offer to deactivate.
      "purchaseOptionId": "A String", # Required. The parent purchase option (ID) of the offer to deactivate.
    }

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

    Returns:
      An object of the form:

        { # A single offer for a one-time product.
      "discountedOffer": { # Configuration specific to discounted offers. # A discounted offer.
        "endTime": "A String", # Time when the offer will stop being available.
        "redemptionLimit": "A String", # Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.
        "startTime": "A String", # Time when the offer will start being available.
      },
      "offerId": "A String", # Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.
      "offerTags": [ # Optional. List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
        { # Represents a custom tag specified for a product offer.
          "tag": "A String", # Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
        },
      ],
      "packageName": "A String", # Required. Immutable. The package name of the app the parent product belongs to.
      "preOrderOffer": { # Configuration specific to pre-order offers. # A pre-order offer.
        "endTime": "A String", # Required. Time when the pre-order will stop being available.
        "priceChangeBehavior": "A String", # Required. Immutable. Specifies how price changes affect pre-existing pre-orders.
        "releaseTime": "A String", # Required. Time on which the product associated with the pre-order will be released and the pre-order orders fulfilled.
        "startTime": "A String", # Required. Time when the pre-order will start being available.
      },
      "productId": "A String", # Required. Immutable. The ID of the parent product this offer belongs to.
      "purchaseOptionId": "A String", # Required. Immutable. The ID of the purchase option to which this offer is an extension.
      "regionalPricingAndAvailabilityConfigs": [ # Set of regional pricing and availability information for this offer. Must not have duplicate entries with the same region_code.
        { # Regional pricing and availability configuration for a one-time product offer.
          "absoluteDiscount": { # Represents an amount of money with its currency type. # The absolute value of the discount that is subtracted from the purchase option price. It should be between 0 and the purchase option price.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "availability": "A String", # Required. The availability for this region.
          "noOverride": { # Options for one-time product offers without a regional price override. # The price defined in the purchase option for this region will be used.
          },
          "regionCode": "A String", # Required. Region code this configuration applies to, as defined by ISO 3166-2, e.g., "US".
          "relativeDiscount": 3.14, # The fraction of the purchase option price that the user pays for this offer. For example, if the purchase option price for this region is $12, then a 50% discount would correspond to a price of $6. The discount must be specified as a fraction strictly larger than 0 and strictly smaller than 1. The resulting price will be rounded to the nearest billable unit (e.g. cents for USD). The relative discount is considered invalid if the discounted price ends up being smaller than the minimum price allowed in this region.
        },
      ],
      "regionsVersion": { # The version of the available regions being used for the specified resource. # Output only. The version of the regions configuration that was used to generate the one-time product offer.
        "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
      },
      "state": "A String", # Output only. The current state of this offer. This field cannot be changed by updating the resource. Use the dedicated endpoints instead.
    }

`list(packageName, productId, purchaseOptionId, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists all offers under a given app, product, or purchase option.

    Args:
      packageName: string, Required. The parent app (package name) for which the offers should be read. (required)
      productId: string, Required. The parent one-time product (ID) for which the offers should be read. May be specified as '-' to read all offers under an app. (required)
      purchaseOptionId: string, Required. The parent purchase option (ID) for which the offers should be read. May be specified as '-' to read all offers under a one-time product or an app. Must be specified as '-' if product_id is specified as '-'. (required)
      pageSize: integer, Optional. The maximum number of offers to return. The service may return fewer than this value. If unspecified, at most 50 offers will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
      pageToken: string, Optional. A page token, received from a previous `ListOneTimeProductsOffers` call. Provide this to retrieve the subsequent page. When paginating, product_id, package_name and purchase_option_id provided to `ListOneTimeProductsOffersRequest` 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 ListOneTimeProductOffers.
      "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.
      "oneTimeProductOffers": [ # The one_time_product offers from the specified request.
        { # A single offer for a one-time product.
          "discountedOffer": { # Configuration specific to discounted offers. # A discounted offer.
            "endTime": "A String", # Time when the offer will stop being available.
            "redemptionLimit": "A String", # Optional. The number of times this offer can be redeemed. If unset or set to 0, allows for unlimited offer redemptions. Otherwise must be a number between 1 and 50 inclusive.
            "startTime": "A String", # Time when the offer will start being available.
          },
          "offerId": "A String", # Required. Immutable. The ID of this product offer. Must be unique within the purchase option. It must start with a number or lower-case letter, and can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-). The maximum length is 63 characters.
          "offerTags": [ # Optional. List of up to 20 custom tags specified for this offer, and returned to the app through the billing library.
            { # Represents a custom tag specified for a product offer.
              "tag": "A String", # Must conform with RFC-1034. That is, this string can only contain lower-case letters (a-z), numbers (0-9), and hyphens (-), and be at most 20 characters.
            },
          ],
          "packageName": "A String", # Required. Immutable. The package name of the app the parent product belongs to.
          "preOrderOffer": { # Configuration specific to pre-order offers. # A pre-order offer.
            "endTime": "A String", # Required. Time when the pre-order will stop being available.
            "priceChangeBehavior": "A String", # Required. Immutable. Specifies how price changes affect pre-existing pre-orders.
            "releaseTime": "A String", # Required. Time on which the product associated with the pre-order will be released and the pre-order orders fulfilled.
            "startTime": "A String", # Required. Time when the pre-order will start being available.
          },
          "productId": "A String", # Required. Immutable. The ID of the parent product this offer belongs to.
          "purchaseOptionId": "A String", # Required. Immutable. The ID of the purchase option to which this offer is an extension.
          "regionalPricingAndAvailabilityConfigs": [ # Set of regional pricing and availability information for this offer. Must not have duplicate entries with the same region_code.
            { # Regional pricing and availability configuration for a one-time product offer.
              "absoluteDiscount": { # Represents an amount of money with its currency type. # The absolute value of the discount that is subtracted from the purchase option price. It should be between 0 and the purchase option price.
                "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
                "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
                "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
              },
              "availability": "A String", # Required. The availability for this region.
              "noOverride": { # Options for one-time product offers without a regional price override. # The price defined in the purchase option for this region will be used.
              },
              "regionCode": "A String", # Required. Region code this configuration applies to, as defined by ISO 3166-2, e.g., "US".
              "relativeDiscount": 3.14, # The fraction of the purchase option price that the user pays for this offer. For example, if the purchase option price for this region is $12, then a 50% discount would correspond to a price of $6. The discount must be specified as a fraction strictly larger than 0 and strictly smaller than 1. The resulting price will be rounded to the nearest billable unit (e.g. cents for USD). The relative discount is considered invalid if the discounted price ends up being smaller than the minimum price allowed in this region.
            },
          ],
          "regionsVersion": { # The version of the available regions being used for the specified resource. # Output only. The version of the regions configuration that was used to generate the one-time product offer.
            "version": "A String", # Required. A string representing the version of available regions being used for the specified resource. Regional prices and latest supported version for the resource have to be specified according to the information published in [this article](https://support.google.com/googleplay/android-developer/answer/10532353). Each time the supported locations substantially change, the version will be incremented. Using this field will ensure that creating and updating the resource with an older region's version and set of regional prices and currencies will succeed even though a new version is available.
          },
          "state": "A String", # Output only. The current state of this offer. This field cannot be changed by updating the resource. Use the dedicated endpoints instead.
        },
      ],
    }

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