🔗Public APIs for Uploading
These public endpoints allow you to upload pricing and discount rules from an external system directly into your Shopify store using the B2B/Wholesale Solution app. When a request is made, the app automatically uploads all enabled rules to your active theme, keeping your storefront pricing logic up-to-date.
🔐 Authentication
All requests require an Access Key generated in your app. You can include this in the request body or as a Bearer token header:
Authorization: Bearer <accessKey>
⚠️ Important: Each endpoint has a rate limit of 1 request per 5 minutes. Exceeding this limit returns a
429 Too Many Requests
response.
I. 🧾 Upload Custom Pricing Rules
Upload all active Custom Pricing rules from your app or system to Shopify.
Endpoint
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/rule/upload
Request Body
domain
String
✅
Your store’s myshopify.com
domain
accessKey
String
✅
API Access Key generated from the B2B/Wholesale Solution app
Example Request
curl -X POST "https://b2b-solution-public-api.bsscommerce.com/api/v1/rule/upload" \
-H "Content-Type: application/json" \
-d '{
"domain": "bsscommerce-store.myshopify.com",
"accessKey": "yt1pRFAU8ARdwQORhz/Ww7vyS+xxxxxxxxxxxxxx"
}'
Responses
200 OK
Upload successful
All enabled rules were applied to the active theme
429 Too Many Requests
Rate limit exceeded
Wait 5 minutes before sending another request
II. 📦 Upload Quantity / Amount Breaks Rules
Upload all active Quantity Break or Amount Break rules to your store.
Endpoint
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/rule/upload
Request Body
domain
String
✅
Your store’s myshopify.com
domain
accessKey
String
✅
API Access Key generated from the app
Example Request
curl -X POST "https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/rule/upload" \
-H "Content-Type: application/json" \
-d '{
"domain": "bsscommerce-store.myshopify.com",
"accessKey": "yt1pRFAU8ARdwQORhz/Ww7vyS+xxxxxxxxxxxxxx"
}'
Responses
200 OK
Rules uploaded successfully
Quantity/Amount Breaks were synced
429 Too Many Requests
Rate limit exceeded
Wait 5 minutes before retrying
III. 💰 Upload Price List Rules
Upload all active Price List rules to your Shopify store.
Endpoint
POST https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/rule/upload
Request Body
domain
String
✅
Your store’s myshopify.com
domain
accessKey
String
✅
API Access Key generated from the app
Example Request
curl -X POST "https://b2b-solution-public-api.bsscommerce.com/api/v1/pl/rule/upload" \
-H "Content-Type: application/json" \
-d '{
"domain": "bsscommerce-store.myshopify.com",
"accessKey": "yt1pRFAU8ARdwQORhz/Ww7vyS+xxxxxxxxxxxxxx"
}'
Responses
200 OK
Rules uploaded successfully
Price List data has been deployed to the theme
429 Too Many Requests
Rate limit exceeded
Wait 5 minutes before sending another request
🧠 Data Storage and Limitations
When uploading rules through these APIs, the data is stored in Shopify metafields as JSON.
Maximum metafields
10 keys
Data type
JSON
Max size per key
2,000,000 characters
Total max data size
~20,000,000 characters
Exceeding data
Any content beyond this limit will not be uploaded
Uploaded content
Primarily rule data and minimal setting data
Active rules only
Only enabled rules are uploaded — inactive ones are ignored
Example metafield structure:
{
"namespace": "bss_b2b_solution",
"key": "pricing_rule_data",
"type": "json",
"value": { /* rule data here */ }
}
🧩 Best Practices
🕐 Respect rate limits: Schedule uploads every 5+ minutes to avoid throttling.
🔑 Secure your API key: Treat it like a password. Do not hardcode it in client-side code.
🧼 Clean inactive rules: Only active rules are uploaded, but keeping the rule list lean helps performance.
🧾 Validate before upload: Make sure rule data size stays within metafield limits (~20MB total).
⚙️ Automate updates: Integrate these APIs into your ERP or product sync pipeline to keep pricing live.
✅ Example Automation Flow
External system (ERP/CRM) updates B2B rules.
System triggers a POST request to the relevant upload API.
B2B/Wholesale Solution validates data and pushes it to the Shopify metafields.
Storefront automatically reflects updated pricing and rule logic.
With these Public Upload APIs, your development team can fully automate pricing rule synchronization — ensuring your B2B store always delivers accurate, real-time pricing without manual updates.
Last updated
Was this helpful?