How to get the access key
After you install B2B/Wholesale Solution Shopify app. Go to Public API page, click on the Copy button.
Rule endpoints
There are fields of rule, you need to understand:
- priority: decides whether a rule is prioritized over another or not.
- status:
Copy 0: inactive
1: active
- apply_to:
Copy 0: All customers
1: Logged-in customers
2: Not-logged-in customers
3: Specific customers
4: Customer tags
- exclude_customer:
Copy 0: None
1: Customer tags
2: Specific customers
- product_condition_type:
Copy 0: All products
1: Specific products
2: Product collections
3: Product tags
4: Specific variants
- rule_setting:
Copy 0: Quantity break
1: Amount break
- qb_table_type:
Copy 0: Full range & Discounts
1: Full range & Discounted prices
2: From & Discounts
3: From & Discounted prices 1
4: From & Discounted prices 2
5: From & Discounts with Discounted prices 1
6: From & Discounts with Discounted prices 2
7: Legacy 1
8: Legacy 2
Note:
When request get rules by domain or ID, the rule_setting field will appear at the response to inform you whether your rule is Quantity Break or Amount Break.
However, when send request Create/Update rule the rule_setting will be Quantity Break by default as we haven't support create/update Amount Break as of date.
- qty_table: Quantity settings of rule
+ rule_type:
Copy 0: Minimum Product Qty
1: Minimum Order Qty
2: Minimum Variant Qty
Copy - Minimum Product Qty:
If one order contains the selected products and the number of each product meets the quantity break ranges, the price of the product will be discounted accordingly.
For example:
You choose products A and B to apply the quantity break rule. A has two variants: A1, A2. B also has two variants B1, B2.
The order quantity break ranges are from 0 to 5 (discounted 10%) and from 6 to 10 (discount 15%)
That time, if the customer buys 3 A1, 6 A2 and 4 B1. The total quantity of A is 9 so the price of A will be discounted by 15%. The price of B, however, will be discounted by 10%.
If the quantity of the order/product(s)/variant(s) is not within the ranges, the original prices are applied.
- Minimum Order Qty:
If one order contains the selected products and the total number of those products meets the quantity break ranges, they will be discounted accordingly.
For example:
You choose products A and B to apply the quantity break rule. A has two variants: A1, A2. B also has two variants B1, B2.
The order quantity break ranges are from 0 to 5 (discounted 10%) and from 6 to 10 (discount 15%) and from 11 to 20 (discount 20%)
That time, if the customer buys 3 A1, 6 A2 and 4 B1. The total quantity of A and B is 13, meaning that the prices of A and B will be discounted by 20%.
If the quantity of the order/product(s)/variant(s) is not within the ranges, the original prices are applied.
- Minimum Variant Qty :
If one order contains the selected products and the number of variants meets the quantity break ranges, the price of those variants will be discounted accordingly.
For example:
You choose products A and B to apply the quantity break rule. A has two variants: A1, A2. B also has two variants B1, B2.
The order quantity break ranges are from 0 to 5 (discounted 10%) and from 6 to 10 (discount 15%) and from 11 to 20 (discount 20%)
That time, if the customer buys 3 A1, 6 A2 and 4 B1. Then, the prices of A1 and B1 will be discounted by 10% and that of A2 will be discounted by 15%.
If the quantity of the order/product(s)/variant(s) is not within the ranges, the original prices are applied.
+ qty_from: The order quantity break ranges are from qty_from to qty_to
+ qty_to: The order quantity break ranges are from qty_from to qty_to
+ discount_type:
Copy 0: Apply a price to selected products
1: Decrease a fixed amount of the original prices of selected products
2: Decrease the original prices of selected products by a percentage (%)
Get rules by domain
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/get-by-domain
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx"
}
Response
200
Copy {
"success" : true ,
"rules" : [
{
"id" : 9792 ,
"shop_id" : 9204 ,
"name" : "sencond1" ,
"priority" : 0 ,
"rule_type" : 2 ,
"rule_setting" : 0 ,
"status" : 1 ,
"apply_to" : 0 ,
"customer_ids" : [] ,
"customer_tags" : [] ,
"product_condition_type" : 0 ,
"product_ids" : [] ,
"product_collections" : [] ,
"product_tags" : [] ,
"varianst_id" : [] ,
"published_at" : null ,
"unpublished_at" : null ,
"exc_customer_tags" : "" ,
"exclude_from" : 0 ,
"exc_customers" : "" ,
"qb_table_type" : 3 ,
"createdAt" : "2023-03-09T02:27:26.000Z" ,
"updatedAt" : "2023-05-30T04:29:18.000Z" ,
"qbRuleQtyTables" : [
{
"id" : 33022 ,
"rule_id" : 9792 ,
"qty_from" : 1 ,
"qty_to" : 4 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"createdAt" : "2023-05-26T04:26:21.000Z" ,
"updatedAt" : "2023-05-26T04:26:21.000Z"
} ,
{
"id" : 33023 ,
"rule_id" : 9792 ,
"qty_from" : 6 ,
"qty_to" : 8 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"createdAt" : "2023-05-26T04:26:21.000Z" ,
"updatedAt" : "2023-05-26T04:26:21.000Z"
}
] ,
"abRuleQtyTables" : []
} ,
{
"id" : 9909 ,
"shop_id" : 9204 ,
"name" : "sencond2" ,
"priority" : 0 ,
"rule_type" : 2 ,
"rule_setting" : 0 ,
"status" : 1 ,
"apply_to" : 0 ,
"customer_ids" : [] ,
"customer_tags" : [] ,
"product_condition_type" : 4 ,
"product_ids" : [] ,
"product_collections" : [] ,
"product_tags" : [] ,
"variants_ids" :
[
4908909872990 ,
8799990863829
] ,
"published_at" : null ,
"unpublished_at" : null ,
"exc_customer_tags" : null ,
"exclude_from" : 0 ,
"exc_customers" : null ,
"qb_table_type" : 0 ,
"createdAt" : "2023-03-13T09:39:48.000Z" ,
"updatedAt" : "2023-05-26T04:26:21.000Z" ,
"qbRuleQtyTables" : [
{
"id" : 33024 ,
"rule_id" : 9909 ,
"qty_from" : 1 ,
"qty_to" : 4 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"createdAt" : "2023-05-26T04:26:21.000Z" ,
"updatedAt" : "2023-05-26T04:26:21.000Z"
} ,
{
"id" : 33025 ,
"rule_id" : 9909 ,
"qty_from" : 6 ,
"qty_to" : 8 ,
"discount_type" : 1 ,
"discount_value" : 11 ,
"createdAt" : "2023-05-26T04:26:21.000Z" ,
"updatedAt" : "2023-05-26T04:26:21.000Z"
}
] ,
"abRuleQtyTables" : []
}
]
Get rules by ID
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/get-by-id
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"id" : 46
}
Response
200
Copy {
"success" : true ,
"rule" : {
"id" : 46 ,
"name" : "sencond1" ,
"priority" : 0 ,
"status" : 1 ,
"apply_to" : 0 ,
"customer_ids" : [] ,
"customer_tags" : [] ,
"exclude_from" : 0 ,
"exc_customers" : [] ,
"exc_customer_tags" : [] ,
"product_condition_type" : 0 ,
"product_ids" : [] ,
"product_collections" : [] ,
"product_tags" : [] ,
"variant_ids" : [] ,
"rule_setting" : 0 ,
"rule_type" : 2 ,
"qty_table" : [
{
"id" : 33022 ,
"rule_id" : 9792 ,
"qty_from" : 1 ,
"qty_to" : 4 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"createdAt" : "2023-05-26T04:26:21.000Z" ,
"updatedAt" : "2023-05-26T04:26:21.000Z"
} ,
{
"id" : 33023 ,
"rule_id" : 9792 ,
"qty_from" : 6 ,
"qty_to" : 8 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"createdAt" : "2023-05-26T04:26:21.000Z" ,
"updatedAt" : "2023-05-26T04:26:21.000Z"
}
] ,
"amount_table" : [] ,
"qb_table_type" : 3 ,
"createdAt" : "2023-03-09T02:27:26.000Z" ,
"updatedAt" : "2023-05-30T04:29:18.000Z"
}
}
Create or Update a single rule
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/save
Headers
Body
If there is no ID in the request data, a new rule will be created. Otherwise, the existing rule with ID will be updated.
If "product_condition_type" is 4 (specific variants), then rule_type should not be 0 (minimum product qty)
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"rule" : {
"id" : 11 ,
"name" : "sencond1" ,
"priority" : 0 ,
"status" : 1 ,
"apply_to" : 0 ,
"customer_ids" : [] ,
"customer_tags" : [] ,
"exclude_from" : 0 ,
"exc_customers" : [] ,
"exc_customer_tags" : [] ,
"product_condition_type" : 0 ,
"product_ids" : [] ,
"product_collections" : [] ,
"product_tags" : [] ,
"variant_ids" : [] ,
"rule_setting" : 0 ,
"rule_type" : 2 ,
"qty_table" : [
{
"qty_from" : 1 ,
"qty_to" : 4 ,
"discount_type" : 0 ,
"discount_value" : 10
} ,
{
"qty_from" : 6 ,
"qty_to" : 8 ,
"discount_type" : 1 ,
"discount_value" : 10
}
] ,
"amount_table" : [] ,
"qb_table_type" : 1
}
}
Response
200
Copy {
"success" : true ,
"ruleId" : 11 ,
"message" : "Updated the rule successfully"
}
Create or Update Multiple Rules
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/bulk-save
Headers
Body
If there is no ID in the request data, a new rule will be created. Otherwise, the existing rule with ID will be updated. If ID is incorrect or not found in one/multiple rules within the body, the rules will not be created/updated successfully.
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"rules" : [
{
"name" : "sencond1" ,
"priority" : 0 ,
"status" : 1 ,
"apply_to" : 0 ,
"product_condition_type" : 0 ,
"customer_ids" : [] ,
"customer_tags" : [] ,
"product_ids" : [] ,
"product_collections" : [] ,
"product_tags" : [] ,
"variant_ids" : [] ,
"exc_customer_tags" : "" ,
"exclude_from" : 0 ,
"exc_customers" : "" ,
"rule_type" : 2 ,
"rule_setting" : 0 ,
"qty_table" : [
{
"qty_from" : 1 ,
"qty_to" : 4 ,
"discount_type" : 0 ,
"discount_value" : 10
} ,
{
"qty_from" : 6 ,
"qty_to" : 8 ,
"discount_type" : 1 ,
"discount_value" : 10
}
] ,
"amount_table" : [] ,
"qb_table_type" : 4
} ,
{
"id" : 9909 ,
"name" : "sencond2" ,
"priority" : 0 ,
"status" : 1 ,
"apply_to" : 0 ,
"product_condition_type" : 0 ,
"customer_ids" : [] ,
"customer_tags" : [] ,
"product_ids" : [] ,
"product_collections" : [] ,
"product_tags" : [] ,
"variant_ids" : [] ,
"exc_customer_tags" : "" ,
"exclude_from" : 0 ,
"exc_customers" : "" ,
"rule_type" : 2 ,
"rule_setting" : 0 ,
"qty_table" : [
{
"qty_from" : 1 ,
"qty_to" : 4 ,
"discount_type" : 0 ,
"discount_value" : 10
} ,
{
"qty_from" : 6 ,
"qty_to" : 8 ,
"discount_type" : 1 ,
"discount_value" : 11
}
] ,
"amount_table" : [] ,
"qb_table_type" : 4
}
]
}
Response
200
Copy {
"success" : true ,
"message" : [
"Rule second1 has been created successfully" ,
"Rule second2 has been updated successfully"
]
}
Delete rule
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/delete
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"id" : 79
}
Response
200
Copy {
"success" : true ,
"message" : "Deleted rule successfully"
}
Delete multiple rules
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/mass-delete
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"ids" : [ 79 , 80 , 81 ]
}
Response
200
Copy {
"success" : true ,
"message" : "Deleted multiple qb rule successfully"
}
Get Applied Rules for Products
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/get-products-applied-rules
Headers
Body
If customer_id is null, the system will check Quantity Break Rules which applied for all customers or not-logged-in customers .
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"product_ids" : [ 6103930831040 , 6103930929344 ] ,
"customer_id" : 5110452355264
}
Response
200
Copy {
"success" : true ,
"productsAppliedRule" : [
{
"id" : "6103930831040" ,
"rule_name" : "first" ,
"rule_id" : 51 ,
"qty_table" : [
{
"id" : 47 ,
"qty_from" : 1 ,
"qty_to" : 3 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"createdAt" : "2021-09-16T08:41:14.000Z" ,
"updatedAt" : "2021-09-16T08:41:14.000Z"
} ,
{
"id" : 48 ,
"qty_from" : 6 ,
"qty_to" : 7 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"createdAt" : "2021-09-16T08:41:14.000Z" ,
"updatedAt" : "2021-09-16T08:41:14.000Z"
}
]
} ,
{
"id" : "6103930929344" ,
"rule_name" : "first" ,
"rule_id" : 51 ,
"qty_table" : [
{
"id" : 47 ,
"qty_from" : 1 ,
"qty_to" : 3 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"createdAt" : "2021-09-16T08:41:14.000Z" ,
"updatedAt" : "2021-09-16T08:41:14.000Z"
} ,
{
"id" : 48 ,
"qty_from" : 6 ,
"qty_to" : 7 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"createdAt" : "2021-09-16T08:41:14.000Z" ,
"updatedAt" : "2021-09-16T08:41:14.000Z"
}
]
}
]
}
Get Price List of Variants based on Applied Rules
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/qb/get-variants-price-list
Headers
Body
If customer_id is null, the system will check Custom Pricing Rules which applied to all customers or not-logged-in customers .
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"product_ids" : [
6103930831040 ,
6103930929344
] ,
"customer_id" : 5110452355264
}
Response
200
Copy {
"success" : true ,
"priceList" : [
{
"id" : "6103930831040" ,
"rule_name" : "first" ,
"rule_id" : 52 ,
"variants" : [
{
"id" : "37682508955840" ,
"price" : "36.00" ,
"compareAtPrice" : null ,
"appliedRulePrice" : [
{
"qty_from" : 6 ,
"qty_to" : 7 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"modifiedPrice" : 90
} ,
{
"qty_from" : 1 ,
"qty_to" : 3 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"modifiedPrice" : 10
}
]
}
]
} ,
{
"id" : "6103930929344" ,
"rule_name" : "first" ,
"rule_id" : 52 ,
"variants" : [
{
"id" : "37682509086912" ,
"price" : "100.00" ,
"compareAtPrice" : "80.00" ,
"appliedRulePrice" : [
{
"qty_from" : 6 ,
"qty_to" : 7 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"modifiedPrice" : 90
} ,
{
"qty_from" : 1 ,
"qty_to" : 3 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"modifiedPrice" : 10
}
]
} ,
{
"id" : "37682509119680" ,
"price" : "100.00" ,
"compareAtPrice" : null ,
"appliedRulePrice" : [
{
"qty_from" : 6 ,
"qty_to" : 7 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"modifiedPrice" : 90
} ,
{
"qty_from" : 1 ,
"qty_to" : 3 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"modifiedPrice" : 10
}
]
} ,
{
"id" : "37682509152448" ,
"price" : "100.00" ,
"compareAtPrice" : null ,
"appliedRulePrice" : [
{
"qty_from" : 6 ,
"qty_to" : 7 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"modifiedPrice" : 90
} ,
{
"qty_from" : 1 ,
"qty_to" : 3 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"modifiedPrice" : 10
}
]
} ,
{
"id" : "37682509185216" ,
"price" : "100.00" ,
"compareAtPrice" : null ,
"appliedRulePrice" : [
{
"qty_from" : 6 ,
"qty_to" : 7 ,
"discount_type" : 1 ,
"discount_value" : 10 ,
"modifiedPrice" : 90
} ,
{
"qty_from" : 1 ,
"qty_to" : 3 ,
"discount_type" : 0 ,
"discount_value" : 10 ,
"modifiedPrice" : 10
}
]
}
]
}
]
}
Product endpoints
Search products
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/product/search
Headers
Body
Index is a cursor value, where you want to start searching. If afterIndex is null, the system will search products from the beginning. For example:
Copy afterIndex: "eyJsYXN0X2lkIjo2NjU1NDU2Mzc5MDUzLCJsYXN0X3ZhbHVlIjo2NjU1NDU2Mzc5MDUzfQ=="
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"afterIndex" : null ,
"first" : 20 ,
"searchQuery" : "ocean"
}
Response
200
Copy {
"success" : true ,
"productList" : {
"edges" : [
{
"node" : {
"id" : "gid://shopify/Product/6586580271277" ,
"title" : "Ocean Blue Shirt" ,
"handle" : "ocean-blue-shirt" ,
"productType" : "" ,
"totalVariants" : 1 ,
"hasOnlyDefaultVariant" : true ,
"priceRange" : {
"minVariantPrice" : {
"currencyCode" : "VND" ,
"amount" : "50.0"
} ,
"maxVariantPrice" : {
"currencyCode" : "VND" ,
"amount" : "50.0"
}
} ,
"featuredImage" : {
"transformedSrc":"https://cdn.shopify.com/s/files/1/0538/3874/1677/products/young-man-in-bright-fashion_925x_5251bcfa-6939-4d7a-9287-dd9bf058ed03.jpg?v=1616405807"
} ,
"onlineStoreUrl" : null
} ,
"cursor" : "eyJsYXN0X2lkIjo2NTg2NTgwMjcxMjc3LCJsYXN0X3ZhbHVlIjo2NTg2NTgwMjcxMjc3fQ=="
} ,
{
"node" : {
"id" : "gid://shopify/Product/6655456379053" ,
"title" : "Riri Bracelet" ,
"handle" : "riri-bracelet-rose" ,
"productType" : "women's bracelets" ,
"totalVariants" : 1 ,
"hasOnlyDefaultVariant" : false ,
"priceRange" : {
"minVariantPrice" : {
"currencyCode" : "VND" ,
"amount" : "68.0"
} ,
"maxVariantPrice" : {
"currencyCode" : "VND" ,
"amount" : "68.0"
}
} ,
"featuredImage" : {
"transformedSrc":"https://cdn.shopify.com/s/files/1/0538/3874/1677/products/2015-04-20_Accessories_31_23500_21376.jpg?v=1619597977"
} ,
"onlineStoreUrl" : null
} ,
"cursor" : "eyJsYXN0X2lkIjo2NjU1NDU2Mzc5MDUzLCJsYXN0X3ZhbHVlIjo2NjU1NDU2Mzc5MDUzfQ=="
}
] ,
"pageInfo" : {
"hasNextPage" : false ,
"hasPreviousPage" : false
}
}
}
Get Product Tags
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-tags
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx"
}
Response
200
Copy {
"success" : true ,
"productTags" : {
"tags" : [
"cotton blouse" ,
"Couch" ,
"cowl" ,
"cpace" ,
"Crane" ,
"cream" ,
"crepe wool" ,
"crew" ,
"crew neck" ,
"crewneck" ,
"crisp"
] ,
"last_cursor" : "Y3Jpc3A="
}
}
Get Products by Tags
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-by-tags
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"afterIndex" : null ,
"first" : 20 ,
"tags" : [ "tag1" , "tags2" , "t3" ] ,
"operation" : "AND"
}
"Operation" is "AND" or "OR". If you use "AND", returned products must contain all tags. If you use "OR", returned products just need to belong to one tag in the array (["tag1","tags2","t3"]).
Response
200
Copy {
"success" : true ,
"productList" : [
{
"id" : "gid://shopify/Product/6586590625965" ,
"title" : "Anchor Bracelet Mens" ,
"handle" : "leather-anchor" ,
"productType" : "Bracelet" ,
"totalVariants" : 2 ,
"hasOnlyDefaultVariant" : false ,
"priceRange" : {
"minVariantPrice" : {
"currencyCode" : "VND" ,
"amount" : "55.0"
} ,
"maxVariantPrice" : {
"currencyCode" : "VND" ,
"amount" : "70.0"
}
} ,
"featuredImage" : {
"transformedSrc":"https://cdn.shopify.com/s/files/1/0538/3874/1677/products/anchor-bracelet-mens_925x_8dcf313c-5c78-41ea-874d-59804d449315.jpg?v=1616407017"
} ,
"onlineStoreUrl" : null
}
]
}
Get Products by IDs
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/product/get-by-ids
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"ids" : [ 6586590625965 ]
}
Response
200
Copy {
"success" : true ,
"productList" : [
{
"id" : "gid://shopify/Product/6586590625965" ,
"title" : "Anchor Bracelet Mens" ,
"handle" : "leather-anchor" ,
"productType" : "Bracelet" ,
"totalVariants" : 2 ,
"hasOnlyDefaultVariant" : false ,
"priceRange" : {
"minVariantPrice" : {
"currencyCode" : "VND" ,
"amount" : "55.0"
} ,
"maxVariantPrice" : {
"currencyCode" : "VND" ,
"amount" : "70.0"
}
} ,
"featuredImage" : {
"transformedSrc":"https://cdn.shopify.com/s/files/1/0538/3874/1677/products/anchor-bracelet-mens_925x_8dcf313c-5c78-41ea-874d-59804d449315.jpg?v=1616407017"
} ,
"onlineStoreUrl" : null
}
]
}
Customer endpoints
Search Customers
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/search
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"afterIndex" : null ,
"first" : 20 ,
"searchQuery" : "nta"
}
Response
200
Copy {
"success" : true ,
"customers" : [
{
"node" : {
"id" : "gid://shopify/Customer/5127974846637" ,
"displayName" : "nta" ,
"email" : "abc@gmail.com" ,
"firstName" : "n" ,
"lastName" : "ta" ,
"phone" : null ,
"tags" : [
"wholesale"
] ,
"note" : ""
} ,
"cursor" : "eyJsYXN0X2lkIjo1MTI3OTc0ODQ2NjM3LCJsYXN0X3ZhbHVlIjo1MTI3OTc0ODQ2NjM3fQ=="
}
]
}
Get Customer Tags
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-tags
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx"
}
Response
200
Copy {
"success" : true ,
"customerTags" : [
{
"node" : "wholesale" ,
"cursor" : "d2hvbGVzYWxl"
}
]
}
Get Customers by IDs
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-by-ids
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"ids" : [ 5127974846637 ]
}
Response
200
Copy {
"success" : true ,
"customerList" : [
{
"id" : "gid://shopify/Customer/5127974846637" ,
"displayName" : "nta" ,
"email" : "abc@gmail.com" ,
"firstName" : "n" ,
"lastName" : "ta"
}
]
}
Get Customers by Tags
POST
https://b2b-solution-public-api.bsscommerce.com/api/v1/customer/get-by-tags
Headers
Body
Request body
Copy {
"domain" : "abc.myshopify.com" ,
"accessKey" : "xxx" ,
"afterIndex" : null ,
"first" : 20 ,
"tags" : [ "tag1" , "tags2" ] ,
"operation" : "AND"
}
"Operation" is "AND" or "OR". If you use "AND", returned products must contain all tags. If you use "OR", returned products just need to belong to one tag in the array (["tag1", "tags2"]).
Response
200
Copy {
"success" : true ,
"customers" : [
{
"node" : {
"id" : "gid://shopify/Customer/5127974846637" ,
"displayName" : "nta" ,
"email" : "abc@gmail.com" ,
"firstName" : "n" ,
"lastName" : "ta" ,
"phone" : null ,
"tags" : [
"wholesale"
] ,
"note" : ""
} ,