This page is about version 2.9.3 of the app, which is not the most recent version. The latest stable version is 3.0.0.
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 🔼