openapi: 3.1.0 info: title: Bestseller API version: "1.0" paths: /: get: tags: [Bestseller API v1] summary: Get bestseller products description: The Bestseller API returns the products likely to generate the most revenue. The algorithm uses a combination of RPV, ATCs and Views, combined in order to maximize revenue. operationId: bestseller-api parameters: - name: _br_uid_2 in: query description: A first-party cookie created by the Bloomreach tracking pixel library (BrTrk). This cookie creates a unique, anonymous identifier for every browser or device.

Use the default value provided, which is already encoded. required: true example: "{{ br_uid_2 }}" schema: type: string default: uid%3D7797686432023%3Av%3D11.5%3Ats%3D1428617911187%3Ahc%3D55 - name: account_id in: query description: Your site's numerical Bloomreach account ID. Your Bloomreach representative gives your site's account ID to you before or during your integration kickoff meeting.

The example value shown here, 6702, is included for your convenience to send a request with Try It. required: true example: "{{ account_id }}" schema: type: integer format: int32 default: 6702 - name: auth_key in: query description: The Bloomreach-provided authentication key for the Bloomreach account that's sending the request.

Pass the auth_key with an empty value in client-side calls. The auth_key value is a private authorization key. If you include your valid auth_key value in client-side calls, then you inadvertently expose that private information to everybody. example: "{{ auth_key }}" schema: type: string - name: callback in: query description: Indicates whether to return data wrapped in the function for cross-origin requests.

For server-side requests, use the value **br_server**. For native-app requests, use the value **br_app**. schema: type: string enum: - br_server - br_app - name: domain_key in: query description: Your site domain's ID, which is provided by Bloomreach. This ID is for the domain that you want to receive your Bloomreach API requests. This parameter identifies the specific site version when the one account ID hosts multiple site versions with unique characteristics, such as language versions. Bloomreach uses your domain_key parameter value to ensure that only the data that pertains to that site version is used for query and analytics features, such as autosuggestions. required: true example: "{{ domain_key }}" schema: type: string default: example_com - name: fl in: query description: The attributes that you want returned in your API response, such as product IDs and prices.

All fl parameters for Bestseller requests must include **pid** as one of their values. Any attribute from your product feed may be used as a value for fl.

Multiple values should be comma separated, such as **fl=pid,price**. required: true example: pid,url,description schema: type: string default: pid,url,description - name: fq in: query description: The fq parameter applies a faceted filter to the returned products, searching for products that fit your parameter values.

Any facet that you want to filter must be in your feed. Read more about using the fq parameter in the "Simple Filtering" section in the [Faceting and filtering page](ref:faceting-and-filtering).

You can [configure Attributes](doc:understanding-feed-configuring-attributes) from the Catalog Management Tab. Configure which attributes in your content feed you want to apply as filters to search results. schema: type: string - name: ref_url in: query description: The URL of the page or HTTP referrer where the request is started. required: true example: "{{ ref_url }}" schema: type: string default: https://example.com - name: request_id in: query description: An ID to track site visitor clicks. We recommend that you generate unique, random values of 13 digits to enable click-tracking.

Bloomreach doesn't automatically enforce the requirements for this parameter. For example, you can enter test as your value for each instance of the request_id parameter without triggering an error message. However, using a unique value allows us to help you if you encounter a problem. required: true example: 1234567891234 schema: type: string default: 1703497216731 - name: request_type in: query description: The type of API request. Value should be **search** for Bestseller requests. required: true example: search schema: type: string enum: - search default: search - name: rows in: query description: The number of matching items to return per results page in the API response. The maximum value is 200.

To enhance performance, limit this value to the number of items that you think is reasonable for a single page of search results. required: true example: 10 schema: type: integer format: int32 - name: search_type in: query description: The type of search. Value should be **bestseller** for Bestseller requests. required: true example: bestseller schema: type: string enum: - bestseller default: bestseller - name: start in: query description: The number of the first item on a page of results. For example, the first item on the first page is 0, making the start value also 0.

The maximum value is 10000. required: true example: 0 schema: type: integer format: int32 default: 0 - name: title in: query description: The title or name of the product. schema: type: string - name: url in: query description: The absolute URL of the page where the request is initiated. Do not use a relative URL. required: true example: "{{ url }}" schema: type: string default: https://www.documentation-site.com - name: user_id in: query description: The universal customer ID of the user. You only need to pass this field if your particular integration tracks customers this way. The parameter captures user IDs from the customer side, and reuses the information when powering apps or enhancing cross-device linking. In this way, Bloomreach recognizes users in a way that's aligned with your system.

Use an anonymous string. Don't use email or other personally identifiable information.

If you do not track users this way, then omit this field. schema: type: string - name: view_id in: query description: A unique identifier for a specific view of your product catalog. If you have multiple versions of your site, each with their own product catalog characteristics like product titles and prices, then add view_id to your call.

Bloomreach uses your view_id parameter value to display the right product information for your customers based on their individual site views. You can enter any string value to identify the specific site catalog view. This string must be consistent in your pixel, API, and product catalog. schema: type: string deprecated: false servers: - url: https://core.dxpapi.com/api/v1/core x-readme: headers: [] explorer-enabled: true proxy-enabled: true samples-enabled: true x-readme-fauxas: true