This article provides a reference guide to the B2B Quotes GraphQL API, with details about the available queries and mutations for the B2B Quotes app. The API supports quote management and related configurations in a B2B environment, enabling users to retrieve, create, and update quotes, as well as manage application settings and permissions.
Schema overview
Query
classDiagram
direction LR
class AdminSetup {
cartLifeSpan Int
quotesManagedBy QuotesManagedBy!
}
class AppSettings {
adminSetup AdminSetup
}
class QuoteUpdate {
email String
role String
date String
status String
note String
}
class QuoteItem {
name String
skuName String
refId String
id String
productId String
imageUrl String
listPrice Float
price Float
quantity Int
sellingPrice Float
seller String
}
class Quote {
id String
referenceName String
creatorEmail String
creatorRole String
creationDate String
expirationDate String
lastUpdate String
updateHistory [QuoteUpdate]
items [QuoteItem]
subtotal Float
status String
organization String
organizationName String
costCenter String
costCenterName String
viewedBySales Boolean
viewedByCustomer Boolean
salesChannel String
seller String
parentQuote String
hasChildren Boolean
}
class Pagination {
page Int
pageSize Int
total Int
}
class Quotes {
data [Quote]
pagination Pagination
}
class Query {
getAppSettings AppSettings
getQuoteEnabledForUser(email String!) Boolean
getQuote(id String) Quote
getQuotes(organization [String], costCenter [String], status [String], search String, page Int, pageSize Int, sortOrder String, sortedBy String) Quotes
getChildrenQuotes(id String, page Int, pageSize Int, sortOrder String, sortedBy String) Quotes
}
AppSettings --> AdminSetup : adminSetup
Query --> AppSettings : getAppSettings
Quote --> QuoteUpdate : updateHistory
Quote --> QuoteItem : items
Query --> Quote : getQuote
Quotes --> Quote : data
Quotes --> Pagination : pagination
Query --> Quotes : getQuotes
Query --> Quotes : getChildrenQuotes
click Query href "#query"
click AppSettings href "#appsettings"
click AdminSetup href "#adminsetup"
click Quote href "#quote"
click QuoteUpdate href "#quoteupdate"
click QuoteItem href "#quoteitem"
click Quotes href "#quotes"
click Pagination href "#pagination"
Field | Argument | Type | Description |
---|---|---|---|
getAppSettings | AppSettings | Retrieves the current configuration settings of the B2B Quotes app. | |
getQuoteEnabledForUser | Boolean | Checks if the specified user has permission to use the quotes feature. | |
String! | Email address of the user to check permissions for. | ||
getQuote | Quote | Retrieves a specific quote by ID. | |
id | String | Unique identifier of the quote to retrieve. | |
getQuotes | Quotes | Retrieves a paginated list of quotes and saved carts with optional filters. | |
organization | [String] | Filters quotes and saved carts by organization IDs. | |
costCenter | [String] | Filters quotes and saved carts by cost center IDs. | |
status | [String] | Filters by status: READY, PENDING, REVISED, DECLINED, EXPIRED, or PLACED. | |
search | String | Searches quotes and saved carts by reference name. | |
page | Int | Page number for pagination. | |
pageSize | Int | Number of quotes per page. | |
sortOrder | String | Specifies the sort direction (ASC or DESC). | |
sortedBy | String | Field to sort the quotes by. | |
getChildrenQuotes | Quotes | Retrieves child quotes associated with a parent quote. | |
id | String | ID of the parent quote. | |
page | Int | Page number for pagination. | |
pageSize | Int | Number of child quotes per page. | |
sortOrder | String | Specifies the sort direction (ASC or DESC). | |
sortedBy | String | Field to sort the child quotes by. |
Mutation
classDiagram
direction LR
class AdminSetup {
cartLifeSpan Int
quotesManagedBy QuotesManagedBy!
}
class AppSettings {
adminSetup AdminSetup
}
class Mutation {
createQuote(input QuoteInput!) String
updateQuote(input QuoteUpdateInput!) String
useQuote(id String, orderFormId String) String
clearCart(orderFormId String) String
saveAppSettings(input AppSettingsInput!) AppSettings
}
AppSettings --> AdminSetup : adminSetup
Mutation --> AppSettings : saveAppSettings
click Mutation href "#mutation"
click AppSettings href "#appsettings"
click AdminSetup href "#adminsetup"
Field | Argument | Type | Description |
---|---|---|---|
createQuote | String | Creates a new quote (PENDING status) or saved cart (READY status) from the current shopping cart. | |
input | QuoteInput! | Input data for creating a new quote. | |
updateQuote | String | Updates an existing quote or saved cart, including price adjustments, quantities, and status changes. | |
input | QuoteUpdateInput! | Input data for updating the quote. | |
useQuote | String | Applies a quote or saved cart to the current shopping cart and redirects to checkout. | |
id | String | ID of the quote to be applied. | |
orderFormId | String | ID of the order form to apply the quote to. | |
clearCart | String | Removes all items from the current shopping cart before applying a quote. | |
orderFormId | String | ID of the order form to be cleared. | |
saveAppSettings | AppSettings | Updates the B2B Quotes app settings. | |
input | AppSettingsInput! | New configuration to be saved. |
Schema description
Arguments must be provided by the user. Required fields are marked with an exclamation mark (
!
).
AppSettings
Field | Type | Description |
---|---|---|
adminSetup | AdminSetup | Configuration settings for the B2B Quotes admin. |
Query 🔼
Mutation 🔼
AppSettingsInput
Field | Type | Description |
---|---|---|
cartLifeSpan | Int | Default expiration period in days for quotes and saved carts. The minimum value is 1 day. |
quotesManagedBy | QuotesManagedBy | Defines who has permission to manage quotes (marketplace admins or individual sellers). |
Mutation 🔼
AdminSetup
Field | Type | Description |
---|---|---|
cartLifeSpan | Int | Default expiration period in days for quotes and saved carts. The minimum value is 1 day. |
quotesManagedBy | QuotesManagedBy! | Defines who has permission to manage quotes (marketplace administrators or individual sellers). |
AppSettings 🔼
Quotes
Field | Type | Description |
---|---|---|
data | [Quote] | Array of quotes matching the query parameters. |
pagination | Pagination | Pagination details for the quotes list. |
Query 🔼
Quote
Field | Type | Description |
---|---|---|
id | String | Unique identifier for the quote. |
referenceName | String | User-defined name to identify the quote or saved cart. |
creatorEmail | String | Email address of the user who created the quote. |
creatorRole | String | Role of the user who created the quote. |
creationDate | String | Date and time when the quote was created. |
expirationDate | String | Date and time when the quote will expire. |
lastUpdate | String | Date of the last time when the quote or saved cart was updated. |
updateHistory | [QuoteUpdate] | History of all events related to the quote, including creation, discounts, and notes. |
items | [QuoteItem] | Products included in the quote. |
subtotal | Float | Total price of all items, including any discounts offered by sales associates. |
status | String | Current status of the quote. Possible values are:
|
organization | String | ID of the organization the quote belongs to. |
organizationName | String | Name of the organization the quote belongs to. |
costCenter | String | ID of the cost center associated with the quote. |
costCenterName | String | Name of the cost center associated with the quote. |
viewedBySales | Boolean | Indicates if a sales associate has viewed the quote or saved cart. |
viewedByCustomer | Boolean | Indicates if the customer has viewed the quote or saved cart. |
salesChannel | String | Sales channel associated with the quote or saved cart. |
seller | String | ID of the seller associated with the quote. |
parentQuote | String | ID of the parent quote if this is a child quote. |
hasChildren | Boolean | Indicates if this quote has associated child quotes. |
Query 🔼
Quotes 🔼
QuoteInput
Field | Type | Description |
---|---|---|
referenceName | String | User-defined name to identify the quote. |
items | [QuoteItemInput] | List of products to include in the quote. |
subtotal | Float | Total price of all items, including any discounts offered by sales associates. |
note | String | Optional note that will be visible in the quote's update history to salespeople and organization members. |
sendToSalesRep | Boolean | If true, creates a quote with PENDING status for sales review. If false, creates a saved cart with READY status. |
Mutation 🔼
QuoteUpdate
Field | Type | Description |
---|---|---|
String | Email of the user who made the update. | |
role | String | Role of the user who made the update (such as sales associate or organization buyer). |
date | String | Date when the update was made. |
status | String | Status change made in this update, if any. |
note | String | Optional comment or instruction added during this update. |
Quote 🔼
QuoteItem
Field | Type | Description |
---|---|---|
name | String | Product name. |
skuName | String | Name of the specific SKU variant. |
refId | String | Reference ID of the product. |
imageUrl | String | URL of the product image. |
listPrice | Float | Original price before any discounts. |
price | Float | Original product price before any discounts. |
quantity | Int | Number of items. |
sellingPrice | Float | Product price including any discounts offered by sales associates. |
Quote 🔼
QuoteUpdateInput
Field | Type | Description |
---|---|---|
id | String | Unique identifier of the quote to be updated. |
items | [QuoteItemInput] | Updated list of products with their quantities and prices. |
subtotal | Float | Updated total price of all items. |
note | String | Optional comment or instruction that will be displayed in the quote's update history. |
decline | Boolean | When true, changes the quote status to DECLINED, preventing further use. |
expirationDate | String | New expiration date for the quote or saved cart. |
Mutation 🔼
QuoteItemInput
Field | Type | Description |
---|---|---|
name | String | Product name. |
skuName | String | Name of the specific SKU variant. |
refId | String | Reference ID of the product. |
id | String | Unique identifier for the SKU. |
productId | String | Unique identifier for the product. |
imageUrl | String | URL of the product image. |
listPrice | Float | Original price before any discounts. |
price | Float | Original product price before any discounts. |
quantity | Int | Number of items. |
sellingPrice | Float | Product price including any discounts offered by sales associates. |
seller | String | ID of the seller offering this item. |
QuoteUpdateInput 🔼
Pagination
Field | Type | Description |
---|---|---|
page | Int | Current page number. |
pageSize | Int | Number of items per page. |
total | Int | Total number of items across all pages. |
Quotes 🔼
Enums
QuotesManagedBy
Field | Description |
---|---|
MARKETPLACE | Quotes are managed by the marketplace admins. |
SELLER | Quotes are managed by individual sellers. |
AppSettingsInput 🔼
AdminSetup 🔼