For the complete documentation index, see llms.txt. This page is also available as Markdown.

๐Ÿ”—Public APIs for Price List (PL)

Programmatically manage Price List per Customer rules โ€” create rules with per-product pricing for individual customers, retrieve applied prices, and manage customer/product data.

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. Get your API Key. If you donโ€™t have one yet, please follow this document to generate it.

  2. All endpoints on this page are v1 โ€” include the key either as accessKey in the request body, or as a header:

x-bss-b2b-api-key: <accessKey>

โš ๏ธ Not the same header as v2 (x-api-key, used only by the Volume Pricing v2 endpoint) โ€” check the Authentication table if you're integrating multiple API groups.


๐Ÿงฑ Rule Endpoints

๐Ÿšš Rule Field Reference

priority Determines whether a rule is prioritized over another.

status

apply_to

apply_at

exc_product_type

exclude_from

discount_type

selected_products / selected_variants items

Items array applied to the rule depending on apply_at:

Field
Type
Required
Description
Notes

product_id

string

Yes

Shopify Product ID.

String format (e.g. "7208207614027") is strongly recommended to prevent 64-bit integer overflow issues in JSON parsers.

variant_id

string

Yes (if apply_at: 1)

Shopify Variant ID.

Required when applying at the variant level (apply_at: 1). Omit or leave empty when apply_at: 0.

discount_type

number

Yes

Discount calculation method.

Options 0 to 5 (see discount type list above).

discount_value

number

Yes

Value of the discount or price.

Must be $\ge 0$ for types 0, 1, 3, 4. Must be between 0 and 100 for percentage types 2, 5.


๐Ÿค– 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)

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

If you need further assistance, please feel free to reach us at support@bss-b2b.solutions or Live Chat.

Last updated

Was this helpful?