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

🔗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 BSS B2B 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.


🔑 Get the Access Key

  1. Generate your API Access Key in the app under Integrations › Public API › Get API key (see Public APIs).

  2. Security Note: Your Secret Key is displayed only once upon generation for enhanced security. Copy and store it in a secure password manager or server environment variable immediately.

  3. Include the key in your request payload or header for authentication.


🔐 Authentication

All requests require an Access Key generated in your app. You can include it either way:

  • In the request body, as accessKey (see the examples below), or

  • As a header:

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

⚠️ Important: Each endpoint has a rate limit of 1 request per module 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

Request Body

Field
Type
Required
Description

domain

String

✅

Your store’s myshopify.com domain

accessKey

String

✅

API Access Key generated from the BSS B2B Solution app

Example Request

Responses

Code
Meaning
Notes

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 Volume Pricing Rules

Upload all active Quantity-based or Volume-based rules to your store.

Endpoint

Request Body

Field
Type
Required
Description

domain

String

✅

Your store’s myshopify.com domain

accessKey

String

✅

API Access Key generated from the app

Example Request

Responses

Code
Meaning
Notes

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

Request Body

Field
Type
Required
Description

domain

String

✅

Your store’s myshopify.com domain

accessKey

String

✅

API Access Key generated from the app

Example Request

Responses

Code
Meaning
Notes

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 Capacity Limitations

When uploading rules through these APIs, the data is stored in Shopify metafields as JSON.

Specification
Details

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 capacity is safely skipped and reported

Uploaded content

Primarily rule data and minimal setting data

Active rules only

Only enabled rules are uploaded — inactive ones are ignored

Partial Upload & Capacity Skip Reporting

If your uploaded rule dataset exceeds Shopify's maximum single metafield capacity, the API avoids total failure by persisting all rules that fit within capacity and returning a structured partial report:

The partial report is returned with HTTP status 200 OK — check status (or success: false) rather than the HTTP code to detect it. The same structure is returned by all three upload endpoints (Custom Pricing, Volume Pricing, Price List).

Field
Type
Description

success

Boolean

false when some rules were skipped

status

String

partial_success

message

String

Human-readable summary

data.total

Number

Number of active rules the API tried to upload

data.uploaded

Number

Number of rules saved to your store

data.skipped

Number

Number of rules skipped

data.skipReason

String

Reason for skipping, e.g. SHOPIFY_METAFIELD_CAPACITY_EXCEEDED

data.skippedRuleIdRange

Object

from / to — the first and last skipped rule ID (numeric)

When this occurs, partition large rule catalogs or prune inactive rules before re-triggering synchronization.

✅ Example Automation Flow

  1. External system (ERP/CRM) updates B2B rules.

  2. System triggers a POST request to the relevant upload API.

  3. B2B/Wholesale Solution validates data and pushes it to the Shopify metafields.

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

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

Last updated

Was this helpful?