🔗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 BSS B2B Solution Shopify app

  • Get your Access Key (see below)


🔑 Get the Access Key

  1. Open the BSS B2B 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