🔗Public APIs for Price List (PL)

These REST APIs let you manage customer pricing rules, calculate variant prices based on rules, and fetch customers/products.

Requirements

  • Install the B2B/Wholesale Solution Shopify app

  • Get your Access Key (see below)


🔑 Get the Access Key

  1. Open the B2B/Wholesale Solution app.

  2. Go to Public API.

  3. Click Copy to copy your accessKey.

  4. Include it in the request body for every call.


🧱 Rule Endpoints

Rule Field Reference

priority Determines whether a rule is prioritized over another.

status

0: inactive
1: active

apply_to

apply_at

exc_product_type

exclude_from

discount_type

</details>


Get rules by domain

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-by-domain

Headers

Body

Response (example)


Get rules by id

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-by-id

Headers

Body

Response (example)


Get rules by products

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-rules-by-products

Headers

Body

You can choose to get rules by either product IDs or product tags.

Response (example)


Get rules by customers

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-rules-by-customers

Headers

Body

You can choose to get rules by either customer IDs or customer tags.

Response (example)


Create or Update a single rule

Limit: You can create a rule of 10,000 products/variants.

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/save

Headers

Body If there is no id in the request data, a new rule is created. Otherwise, all the data of the existing rule with id will be replaced.

Response (example)


Create or Update multiple rules

Limit: You can create a rule of 10,000 products/variants.

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/bulk-save

Headers

Body If there is no id, a new rule is created. Otherwise, the existing rule with id will be overridden.

Response (example)


Update product data to a single rule

This endpoint helps you:

  • Add new specific products to your existing rule (If the product/variant ID does not exist in the rule, it is treated as new)

  • Edit existing product data in the rule (If the product/variant ID already exists, it is treated as existing)

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/update

Headers

Body

Response


Update product data to multiple rules

This endpoint helps you:

  • Add new specific products to your existing rules

  • Edit existing product data in the rules

PUT https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/update-items

Headers

Body

Response (success)

Response (mixed)


Delete rule

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/delete

Headers

Body

Response


Delete multiple rules

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/bulk-delete

Headers

Body

Response


Remove existing products from rules

PUT https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/delete-items

Headers

Body

Response (success)

Response (error)


Get Applied Rules for Products

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-products-applied-rules

Headers

Body If customer_id is null, the system checks Price List Rules that apply to all or not-logged-in customers.

Response (example)


Get Price List of Variants based on Applied Rules

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/get-variants-price-list

Headers

Body If customer_id is null, the system checks Price List Rules that apply to all or not-logged-in customers. "expand" must be "products" or "variants" based on the applied level in the rule.

Response (example)


🛍️ Product Endpoints

Search products

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/product/search

Headers

Body afterIndex is a cursor. If null, search starts from the beginning. Example cursor: eyJsYXN0X2lkIjo2NjU1NDU2Mzc5MDUzLCJsYXN0X3ZhbHVlIjo2NjU1NDU2Mzc5MDUzfQ==

Response (example)


Get Product Tags

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-tags

Headers

Body

Response (example)


Get Products by Tags

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-by-tags

Headers

Body

Operation "AND" → returned products must contain all tags. "OR" → returned products must contain any tag in the array.

Response (example)


Get Products by IDs

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-by-ids

Headers

Body

Response (example)


👤 Customer Endpoints

Search Customers

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/search

Headers

Body

Response (example)


Get Customer Tags

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-tags

Headers

Body

Response (example)


Get Customers by IDs

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-by-ids

Headers

Body

Response (example)


Get Customers by Tags

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-by-tags

Headers

Body

Operation "AND" → must contain all tags. "OR" → must contain any tag.

Response (example)


🗂️ Collection Endpoints

As provided, Get Collections uses the /customer/search endpoint and returns a customers array.

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/search

Headers

Body

Response (example)


⚙️ Request Handling Policy

  • We handle one request at a time.

  • After your request is completed, the next one will be processed.

  • In case of a server error, it may take up to 3 minutes to recover and process a new request.

Last updated

Was this helpful?