BSS B2B Solution
  • 🚀Getting Started
    • App Overview
  • Wholesale Pricing
    • Quantity/Amount Break
      • Set different price for different quantity range
      • Settings for Quantity/Amount Break
      • Display discounted prices
      • Import/Export Quantity/Amount Break rules
    • Custom Pricing
      • Set different prices for Wholesale customers
      • Display Custom Pricing prices
      • Import/Export Custom Pricing rules
    • Price List per Customer
      • Set customized pricing per product per customer
      • Display Custom Pricing prices
      • Import/Export Price List rules
    • More
      • Shipping Rate
        • Set up your Wholesale shipping rate
      • Extra Fees
        • Add fee to your customer's orders
        • Settings for Extra Fee
  • Customer Management
    • Registration Forms
      • Set up Wholesale Registration Form
      • Set up Multi-step form
      • Publish form to the storefront
      • Manage, approve and notify your customers
      • Email sender settings
      • Import Customers
      • Translate form for cross-border wholesalers
    • Auto Tags Orders/Customers
      • Automatically tag orders and customers
  • Tax
    • Tax Incl/Excl Display
      • Display prices with and without taxes
    • Tax Exempt
      • Tax exempt for eligible customers and orders
  • Order management
    • Manual Orders
      • Create an order in Backend with discounts
      • Edit an order from Backend
    • Order Limits
      • Set minimum or maximum quantity/amount your customer can buy
    • Quantity Increments
      • Make your product buy-able in only increments
    • Orders Custom Fields
      • Allow customers to add custom notes to the orders
    • Net terms
      • Set up Net terms
      • Email notifications
  • Other modules
    • Discount Code
      • Set Discount Codes on your orders
    • Buy One Get One
      • Set discounted price for a product when buying another product
    • Multi Currency
      • Show prices in different currencies
  • API Integration
    • Public APIs
      • Public APIs for Uploading
      • Public APIs for Quantity Breaks (QB)
      • Public APIs for Custom Pricing (CP)
      • Public APIs for Price List (PL)
      • Public APIs for Registration form (RF)
  • Integration
    • Shopify POS
    • Klaviyo
    • EasyCSV
    • Sufio
    • Order Printer Pro
    • Zapiet Pickup + Delivery
    • Shopify theme
  • Use case & FAQ
    • General
      • Can I get a discount on special cases?
      • Can I get a trial for the app?
      • Can I subscribe to an annual plan?
      • Can I cancel the app at any time?
      • How to uninstall the app and remove the code?
      • Can I request a refund?
      • Can I change my plan?
      • Do you offer free installation and support?
      • What are your supporting hours?
      • Does it cost an extra fee for support?
      • Does our app support all Shopify themes?
      • How to submit a request for additional customization?
      • How can I grant access to our app for BSS Commerce?
      • How to fix display problem in Dashboard?
      • How to see the store's collaborator code
    • Usecases
      • How do Quantity Increment Calculation and Quantity Limit work in your Shopify store?
      • How to calculate the total price when customers are qualified for Custom Pricing and Quantity Break?
      • How can I restrict customers to access the page? After approving, how can I show the custom pricing?
      • How to exempt tax for non-registered VAT customers?
      • Can my customers still use discount codes at checkout?
      • How to limit order quantity/amount and offer tiered pricing with Order Limit and Quantity Break?
      • How to add notes/additional information to Orders created by the B2B/Wholesale Solution app?
      • How to avoid duplicated discount if I create b2c discount rule with another app?
      • How to limit order quantity/amount and set product increment with Order Limit and Quantity Increment
  • Policy
    • Discount policy
Powered by GitBook
On this page
  • B2B/Wholesale Registration Form Public API for Shopify Stores
  • How to get the access key
  • Form endpoints
  • Get a form by ID
  • Wholesaler endpoints
  • Create wholesaler
  • Get customer/wholesaler data
  • Change customers' status

Was this helpful?

  1. API Integration
  2. Public APIs

Public APIs for Registration form (RF)

Last updated 29 days ago

Was this helpful?

B2B/Wholesale Registration Form Public API for Shopify Stores

These APIs are REST APIs. You can use them to manage customer pricing rules, calculate variants' prices based on rules, search for customers, get products, etc. Detailed instructions on how to do it are shown below:

How to get the access key

After you install the B2B/Wholesale Solution Shopify app. Go to the Public API page, and click on the Copy button.

Form endpoints

Get a form by ID

This endpoint helps you get form data only. Validation logic that works on the storefront will not be transferred along.

GET https://b2b-solution-public-api.bsscommerce.com/api/v1/rf/form/:id

Headers

Name
Value

Content-Type

application/json

x-bss-b2b-api-key

Your access key

Params

Name
Value

domain

Your store domain (i.e. abc.myshopify.com)

Response

"success": true,
    "data": {
        "formId": 1,
        "formFields": [
            {
                "id": "header-field-aa4914b46678e",
                "label": "Primary details",
                "type": "header",
                "required": false,
                "field": "custom",
                "heading_type": "h4",
                "width": "100%"
            },
            {
                "id": "first_name",
                "label": "First name",
                "type": "text",
                "required": true,
                "help_text": "",
                "placeholder": "",
                "default_value": "",
                "max_character": "",
                "width": "100%"
            },
            {
                "id": "last_name",
                "label": "Last name",
                "type": "text",
                "required": false,
                "help_text": "",
                "placeholder": "",
                "default_value": "",
                "max_character": "",
                "width": "100%"
            }
        ]
    }
}

Wholesaler endpoints

Create wholesaler

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/rf/wholesaler/register

Headers

Name
Value

Content-Type

application/json

x-bss-b2b-api-key

Your access key

Params

Name
Value

domain

Your store domain (i.e. abc.myshopify.com)

Body

  • name is the field ID

  • value is customer infomation that was filled in

{
    "formId": 1,
    "formData": [
        {
            "name": "first_name",
            "value": "TEST"
        },
        {
            "name": "last_name",
            "value": "BSS"
        },
        {
            "name": "email",
            "value": "testbss2@bsscommerce.com"
        },
        {
            "name": "password",
            "value": "testbss"
        }
    ]
}

Response

{
    "success": true,
    "message": "Created wholesaler successfully",
    "wholesalerId": 3
}

Get customer/wholesaler data

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/rf/wholesaler/filter

Headers

Name
Value

Content-Type

application/json

Request body params

Name
Value
Required

domain

Your store domain (i.e. abc.myshopify.com)

Required

accessKey

Your access key

Required

status

Status of customers that you want to get (i.e. pending/approved/rejected

Required

start_date

Format: yyyy-mm-dd

end_date

Format: yyyy-mm-dd

Example

{
  "domain": "abc.myshopify.com", 
  "accessKey": "xxx",
  "status": "pending",
  "start_date": "2025-03-01",
  "end_date": "2025-03-15"
}

Response

{
    "success": true,
    "message": "Success",
    "data": [
        {
            "id": 34408,
            "form_id": 1,
            "status": "PENDING",
            "fields": [
                {
                    "name": "First name",
                    "value": "TEST"
                },
                {
                    "name": "Last name",
                    "value": "CUSTOMER"
                },
                {
                    "name": "Email",
                    "value": "test@example.com"
                },
                {
                    "name": "Company",
                    "value": "BSS Commerce"
                },
                {
                    "name": "Phone",
                    "value": "+84123456789"
                },
                {
                    "name": "Address",
                    "value": "123 Main St"
                },
                {
                    "name": "City",
                    "value": "Hanoi"
                },
                {
                    "name": "Country",
                    "value": "VN"
                },
                {
                    "name": "State",
                    "value": ""
                },
                {
                    "name": "Zip code",
                    "value": "123456"
                },
                {
                    "name": "Apartment/suite/etc.",
                    "value": "Apartment 123"
                },
                {
                    "name": "Subscribe to our newsletter",
                    "value": "yes"
                },
                {
                    "name": "EU VAT Validation",
                    "value": "AT1234567"
                },
                {
                    "name": "Dropdown selection(s)",
                    "value": "option-1"
                },
                {
                    "name": "UK Validation",
                    "value": "AT1234567"
                },
                {
                    "name": "US EIN Validation",
                    "value": "AT1234567"
                },
                {
                    "name": "ABN Validation",
                    "value": "AT1234567"
                },
                {
                    "name": "India GST Validation",
                    "value": "AT1234567"
                },
                {
                    "name": "Multiple checkbox",
                    "value": "option-1,option-2"
                },
                {
                    "name": "Radio options",
                    "value": "option-1"
                },
                {
                    "name": "Text field",
                    "value": "Test Content"
                },
                {
                    "name": "Text area",
                    "value": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec semper, diam et bibendum congue"
                },
                {
                    "name": "Number",
                    "value": "1234567890"
                },
                {
                    "name": "Date field",
                    "value": "1/1/2025"
                },
                {
                    "name": "File upload",
                    "value": "https://cdn.shopify.com/s/files/1/0647/8964/3514/files/customers_template_20_2824_29-1741832223649.csv?v=1741832226"
                }
            ]
        }
    ]
}
{
   success: false,
   data: []
}
{
   success: false,
   data: []
}

Change customers' status

POST https://b2b-solution-public-api.bsscommerce.com/api/v1/rf/wholesaler/:action

Replace ":action" with:

  • "approve" (if you want to approve the wholesaler account)

  • or "reject" (if you want to reject the wholesaler account)

You can only change customers' status if their accounts are in the PENDING status

Headers

Name
Value

Content-Type

application/json

Request body params

Name
Value
Required field

domain

Your store domain (i.e. abc.myshopify.com)

Required

accessKey

Your access key

Required

emails

List of customer emails Maximum: 50 emails

Required

Example

{
  "domain": "abc.myshopify.com", 
  "accessKey": "xxx",
  "emails": [
    "example@bsscommerce.com",
    "example1@bsscommerce.com"
  ]
}

Response

{
    "success": true,
    "message": "Success",
    "approved": [
        "example1@bsscommerce.com"
    ],
    "errors": {
        "example@bsscommerce.com": {
            "email": "Email is not exist"
        }
    }
}

{
    "success": true,
    "rejected": [
        "example@bsscommerce.com",
        "example1@bsscommerce.com"
    ] 
}
{
   success: false,
   data: []
}
{
   success: false,
   data: []
}