Skip to content

list_purchase_options

list_purchase_options(
    *,
    config_overrides: Optional[MarketplaceDiscoveryClientConfig] = None,
    locale: Optional[Locale] = None,
    filters: Optional[PurchaseOptionFilterList] = None,
    max_results: Optional[MaxResults] = None,
    next_token: Optional[NextToken] = None,
) -> ListPurchaseOptionsOutput

Returns the purchase options (offers and offer sets) available to the buyer. You can filter results by product, seller, purchase option type, visibility scope, and availability status.

You must include at least one of the following filters in the request: a PRODUCT_ID filter to specify the product for which to retrieve purchase options, or a VISIBILITY_SCOPE filter to retrieve purchase options by visibility.

Parameters:

  • locale (Optional[Locale], default: None ) –

    A BCP 47 language tag or comma-separated priority list specifying the preferred locale for response content. See Locale for supported values, constraints, fallback behavior, and the default locale. If omitted, the service returns content in the default locale.

  • filters (Optional[PurchaseOptionFilterList], default: None ) –

    Filters to narrow the results. Multiple filters are combined with AND logic. Multiple values within the same filter are combined with OR logic.

  • max_results (Optional[MaxResults], default: None ) –

    The maximum number of results that are returned per call. You can use nextToken to get more results.

  • next_token (Optional[NextToken], default: None ) –

    If nextToken is returned, there are more results available. Make the call again using the returned token to retrieve the next page.

Raises:

Examples:

Filter by Product ID

>>> client.list_purchase_options(locale='en-US', filters=[{'filterType': 'PRODUCT_ID', 'filterValues': ['prod-sampleOfferId']}])
Filter by Seller with Private Offerset
>>> client.list_purchase_options(locale='en-US', filters=[{'filterType': 'SELLER_OF_RECORD_PROFILE_ID', 'filterValues': ['seller-sampleResellerId']}, {'filterType': 'PURCHASE_OPTION_TYPE', 'filterValues': ['OFFERSET']}, {'filterType': 'VISIBILITY_SCOPE', 'filterValues': ['PRIVATE']}])
Source code in docs_src/capo_marketplace_discovery/_services/marketplace_discovery.py
def list_purchase_options(
    self,
    *,
    config_overrides: Optional[MarketplaceDiscoveryClientConfig] = None,
    locale: Optional["capo_marketplace_discovery.types.locale.Locale"] = None,
    filters: Optional[
        "capo_marketplace_discovery.types.purchase_option_filter_list.PurchaseOptionFilterList"
    ] = None,
    max_results: Optional[
        "capo_marketplace_discovery.types.max_results.MaxResults"
    ] = None,
    next_token: Optional[
        "capo_marketplace_discovery.types.next_token.NextToken"
    ] = None,
) -> "capo_marketplace_discovery.types.list_purchase_options_output.ListPurchaseOptionsOutput":
    """<p>Returns the purchase options (offers and offer sets) available to the buyer. You can filter results by product, seller, purchase option type, visibility scope, and availability status.</p> <note> <p>You must include at least one of the following filters in the request: a <code>PRODUCT_ID</code> filter to specify the product for which to retrieve purchase options, or a <code>VISIBILITY_SCOPE</code> filter to retrieve purchase options by visibility.</p> </note>

    Args:
        locale: <p>A BCP 47 language tag or comma-separated priority list specifying the preferred locale for response content. See <code>Locale</code> for supported values, constraints, fallback behavior, and the default locale. If omitted, the service returns content in the default locale.</p>
        filters: <p>Filters to narrow the results. Multiple filters are combined with AND logic. Multiple values within the same filter are combined with OR logic.</p>
        max_results: <p>The maximum number of results that are returned per call. You can use <code>nextToken</code> to get more results.</p>
        next_token: <p>If <code>nextToken</code> is returned, there are more results available. Make the call again using the returned token to retrieve the next page.</p>

    Raises:
        capo_marketplace_discovery.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient access to perform this action.</p>
        capo_marketplace_discovery.errors.internal_server_exception.InternalServerException: <p>Unexpected error during processing of the request.</p>
        capo_marketplace_discovery.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_marketplace_discovery.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by the service.</p>
        capo_marketplace_discovery.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Filter by Product ID

        >>> client.list_purchase_options(locale='en-US', filters=[{'filterType': 'PRODUCT_ID', 'filterValues': ['prod-sampleOfferId']}])
        Filter by Seller with Private Offerset

        >>> client.list_purchase_options(locale='en-US', filters=[{'filterType': 'SELLER_OF_RECORD_PROFILE_ID', 'filterValues': ['seller-sampleResellerId']}, {'filterType': 'PURCHASE_OPTION_TYPE', 'filterValues': ['OFFERSET']}, {'filterType': 'VISIBILITY_SCOPE', 'filterValues': ['PRIVATE']}])
    """

    def _handler(
        req: "OperationRequest[capo_marketplace_discovery.types.list_purchase_options_input.ListPurchaseOptionsInput]",
    ) -> OperationResponse[
        "capo_marketplace_discovery.types.list_purchase_options_output.ListPurchaseOptionsOutput"
    ]:
        import capo_marketplace_discovery._operations.aws_marketplace_discovery.list_purchase_options

        output, http_response = (
            capo_marketplace_discovery._operations.aws_marketplace_discovery.list_purchase_options.list_purchase_options(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListPurchaseOptions")
    )
    input_: capo_marketplace_discovery.types.list_purchase_options_input.ListPurchaseOptionsInput = {}
    if locale is not None:
        input_["locale"] = locale
    if filters is not None:
        input_["filters"] = filters
    if max_results is not None:
        input_["max_results"] = max_results
    if next_token is not None:
        input_["next_token"] = next_token

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output