Revenue Lifecycle Management Dev Guide
Revenue Lifecycle Management Dev Guide
Guide
Version 63.0, Spring ’25
names and marks. Other marks appearing herein may be trademarks of their respective owners.
CONTENTS
LegalEntity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418
LegalEntyAccountingPeriod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1420
PaymentTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1423
PaymentTermItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424
RevenueTransactionErrorLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427
TaxEngine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1430
TaxEngineProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434
TaxPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1435
TaxTreatment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1437
TransactionJournal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1440
Billing Platform Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1444
BillingScheduleCreatedEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1444
CreditInvoiceProcessedEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1448
CreditMemoProcessedEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1452
InvoiceProcessedEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455
NegInvcLineProcessedEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1460
VoidInvoiceProcessedEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1463
Billing Standard Invocable Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1466
Apply Credit Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467
Create Billing Schedules From Billing Transaction Action . . . . . . . . . . . . . . . . . . . . . . 1469
Generate Invoice Documents Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1471
Post Draft Invoice Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1472
Post Draft Invoice Batch Run Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1474
Recover Billing Schedules Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476
Unapply Credit Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1477
Billing Business APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479
Billing Business API Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1482
Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1483
Request Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527
Response Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1592
Billing Apex Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619
ConnectApi Namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1620
TaxEngineAdapter Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647
Billing Metadata API Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1653
BillingSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1654
Flow for Billing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1657
Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1694
CHAPTER 1 Get Started with Revenue Cloud Developer
Resources
Get a single, unified system to automate your CRM processes. Use
EDITIONS
the developer sources of Revenue Cloud to automate the backend
work to support the end-to-end revenue solution. Available in: Lightning
Revenue Cloud provides extensible and API-first business Experience
components of the product-to-cash processes. Learn more about
Available in: Enterprise,
the developer resources that are available for these components.
Unlimited, and Developer
Editions
Product Catalog Management
Create and manage an entire product portfolio with components such as attributes, product classifications,
simple and bundled products, and rules.
• Use standard objects and fields to manage products, rules, and catalogs.
• Use business APIs to serve catalog definitions to users or applications.
• Use metadata API types to access and manage the metadata types, such as product specification
type and product specification record types.
• Use tooling API objects to retrieve and manage smaller pieces of metadata types through SOQL
capabilities. Use REST or SOAP to access metadata.
• Use Product Discovery business APIs, which are composite APIs, to search products or to discover
catalogs, products, and categories.
Salesforce Pricing
Create a reliable pricing solution for your users through customized price adjustment schedules. Get
accurate pricing for your entire product portfolio.
• Use standard objects and fields to manage pricing processes such as product management, and the
calculation and application of discounts.
• Use business APIs to get unified pricing experiences across product lines.
• Use invocable actions to invoke the pricing Connect API by providing the pricing, context, and price
waterfall details.
• Use metadata API types to work with the metadata associated with Flows and Salesforce Pricing
settings.
1
Get Started with Revenue Cloud Developer Resources
• Use tooling API objects to retrieve and manage smaller pieces of metadata types through SOQL
capabilities such as pricing action parameters, pricing procedure output map, and pricing recipe
details. Use REST or SOAP to access metadata.
Rate Management
Quote and price products based on predefined rates for future use of the product or service.
• Use standard objects and fields to manage rates and discounts for a product's resource consumption.
• Use metadata API types to work with the metadata associated with Rate Management settings.
• Use business APIs to get details of a rate plan and persisted rating waterfall.
• Use invocable action to invoke the rating service to rate the usage records.
Usage Management
Ensure transparent, accurate, and efficient management of usage data and estimated usage amount.
• Use standard objects and fields to set up and manage consumption of usage-based products.
• Use metadata API types to work with the metadata associated with Usage Management.
• Use business APIs to get details of a usage-based product that’s associated with an asset, an order
item, or a quote line item.
• Use invocable actions to invoke usage summaries, process consumption overages, and refresh usage
entitlements.
Product Configurator
Customize the components and attributes of a product to meet the business requirement expectations.
• Use standard objects to manage product-related information.
• Use the business APIs to retrieve and update a product’s configuration from a configurator or to
access configurator capabilities by integrating with any front-end application.
2
Get Started with Revenue Cloud Developer Resources
Asset Lifecycle
Get insights into customer assets and see a consolidated list of all assets that belong to an account.
• Use standard objects to manage details of a customer asset.
• Use invocable actions to create or update an asset from an order or an order item. You can also
initiate amendment, renewal, or cancellation of assets through invocable actions or business APIs.
• Use metadata API types to work with the metadata associated with Flows.
Billing
Get an integrated and extensible subscription and usage-based billing solution. Automate processes
such as payment processing, invoice generation, and usage-based billing.
• Use standard objects to manage billing and tax configurations, credit memos, and invoices.
• Use platform events types to know more about standard platform events.
• Use invocable actions to manage credit application, billing schedules, and invoices.
• Use business APIs to manage credit application and to handle billing scenarios.
• Use built-in Apex classes to access the same capabilities that are available in the Billing Business
APIs.
• Use metadata API types to work with the metadata associated with Billing settings and Flows.
SEE ALSO:
Business Rules Engine
Context Service
Salesforce Contracts
3
CHAPTER 2 Product Catalog Management
In this chapter ... Create and manage a product catalog with components, such as attributes, product classifications,
simple and bundled products, and rules.
• Product Catalog
Management
• Product Discovery
4
Product Catalog Management Product Catalog Management
SEE ALSO:
Salesforce Help: Product Catalog Management Permission Set Licenses
Salesforce Help: User Permissions for Product Catalog Management
AttributeCategory
Represents a logical grouping of attributes that can be reused while defining products. Attribute Categories are used for searching
and managing product attributes. For example, the "Mobile Handset Properties" category has color, storage and make model, and
size attributes. This object is available in API version 60.0 and later.
AttributeCategoryAttribute
Represents a relationship between an attribute category and the attribute definition. This object is available in API version 60.0 and
later.
AttrPicklistExcludedValue
Represents the excluded picklist values for a product classification attribute or a product attribute definition. This object is available
in API version 61.0 and later.
ProductAttributeDefinition
Represents the relationship between a product and its attributes. This object is available in API version 60.0 and later.
ProductCategoryDisqual
Represents disqualification rules for product categories. The rules determine when the product category doesn’t qualify to be
displayed to users. This object is available in API version 60.0 and later.
5
Product Catalog Management Product Catalog Management Standard Objects
ProductCategoryQualification
Represents qualification rules for product categories. The rules determine when the product category qualifies to be displayed to
users. This object is available in API version 60.0 and later.
ProductClassification
Represents a template that holds a collection of dynamic attributes. Product classification is used to quickly define and create multiple
products that are similar yet different. This object is available in API version 60.0 and later.
ProductClassificationAttr
Represents the relationship between a product classification and its attributes. This is the default configuration for products based
on the product classification. This object is available in API version 60.0 and later.
ProductComponentGrpOverride
Represents override information for a Product Component Group. The cardinality of the product component group can be overridden
in the context of a product bundle. This object is available in API version 60.0 and later.
ProductDisqualification
Represents disqualification rules for products. The rules determine when the product doesn’t qualify to be displayed to users. The
rules are based on user context. This object is available in API version 60.0 and later.
ProductQualification
Represents qualification rules for products. The rules determine when the product qualifies to be displayed to users. The rules are
based on user context. This object is available in API version 60.0 and later.
ProductRampSegment
Represents the ramp period within a ramp deal where terms, volumes, and other commitments change over time. This object is
available in API version 62.0 and later.
ProductRelComponentOverride
Represents the cardinality overrides for product components in a bundle. This object is available in API version 60.0 and later.
ProductSpecificationRecType
Represents the relationship between industry-specific product specifications and the product record type. This object is available in
API version 60.0 and later.
ProductSpecificationType
Represents the type of product specification provided by the user to make the product terminology unique to an industry. A product
specification type is associated with a product specification record type. This object is available in API version 60.0 and later.
SEE ALSO:
Object Reference for the Salesforce Platform: Overview of Salesforce Objects and Fields
SOAP API Developer Guide: Introduction to SOAP API
AttributeCategory
Represents a logical grouping of attributes that can be reused while defining products. Attribute Categories are used for searching and
managing product attributes. For example, the "Mobile Handset Properties" category has color, storage and make model, and size
attributes. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
6
Product Catalog Management Product Catalog Management Standard Objects
Fields
Field Details
Code Type
string
Properties
Create, Filter, Group, idLookup, Nillable, Sort, Update
Description
The unique code for the attribute category. The maximum size is 80 alphanumeric characters.
The code can include the following special characters: @ ! - < > * ? + = % # ( ) / \ & ‘ £ € $ ”.
Description Type
textarea
Properties
Create, Nillable, Update
Description
The description of the attribute category that's used only during design time.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the attribute category was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the attribute category was last viewed.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The unique name of the attribute category. The maximum length is 80 characters (of any
type).
7
Product Catalog Management Product Catalog Management Standard Objects
Field Details
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The owner of the attribute category.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
AttributeCategoryFeed on page 1661
Feed tracking is available for the object.
AttributeCategoryHistory on page 1668
History is available for tracked fields of the object.
AttributeCategoryShare on page 1672
Sharing is available for the object.
AttributeCategoryAttribute
Represents a relationship between an attribute category and the attribute definition. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
8
Product Catalog Management Product Catalog Management Standard Objects
Fields
Field Details
AttributeCategoryId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the attribute category that the attribute is associated with. The ID is unique within
the organization.
This field is a relationship field.
Relationship Name
AttributeCategory
Relationship Type
Lookup
Refers To
AttributeCategory
AttributeDefinitionId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the attribute definition associated with the attribute category. The ID is unique
within the organization.
This field is a relationship field.
Relationship Name
AttributeDefinition
Relationship Type
Lookup
Refers To
AttributeDefinition
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the attribute category attribute was last referenced.
LastViewedDate Type
dateTime
9
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Filter, Nillable, Sort
Description
The date the attribute category attribute was last viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
A unique name for the attribute. The maximum length is 80 characters (of any type).
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The owner of the attribute category attribute.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
AttributeCategoryAttributeFeed on page 1661
Feed tracking is available for the object.
AttributeCategoryAttributeHistory on page 1668
History is available for tracked fields of the object.
AttributeCategoryAttributeShare on page 1672
Sharing is available for the object.
AttrPicklistExcludedValue
Represents the excluded picklist values for a product classification attribute or a product attribute definition. This object is available in
API version 61.0 and later.
10
Product Catalog Management Product Catalog Management Standard Objects
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AttributeId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the product classification attribute or the product attribute definition of the picklist
data type.
This field is a polymorphic relationship field.
Relationship Name
Attribute
Relationship Type
Lookup
Refers To
ProductAttributeDefinition, ProductClassificationAttr
AttributePicklistValueId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the attribute picklist value that’s excluded in the product classification attribute or
product attribute definition.
This field is a relationship field.
Relationship Name
AttributePicklistValue
Relationship Type
Lookup
Refers To
AttributePicklistValue
11
Product Catalog Management Product Catalog Management Standard Objects
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the excluded attribute picklist value was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the excluded attribute picklist value was last viewed.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the excluded attribute picklist value.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The owner of the excluded attribute picklist value.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
AttrPicklistExcludedValueFeed on page 1661
Feed tracking is available for the object.
12
Product Catalog Management Product Catalog Management Standard Objects
ProductAttributeDefinition
Represents the relationship between a product and its attributes. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AttributeCategoryId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the attribute category assigned to the parent object.
This field is a relationship field.
Relationship Name
AttributeCategory
Relationship Type
Lookup
Refers To
AttributeCategory
AttributeDefinitionId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the attribute associated with the product.
This field is a relationship field.
13
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Relationship Name
AttributeDefinition
Relationship Type
Lookup
Refers To
AttributeDefinition
AttributeNameOverride Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The name to display for the attribute when shown for this object. This display name overrides
the name on the attribute. For example, the attribute "Color" is overridden to display as
"Laptop Color." The maximum size is 255 alphanumeric characters. The name can include
these special characters: @ ! - < > * ? + = % # ( ) / \ & ‘ £ € $ ”.
DefaultValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The default value for the product attribute. The attribute value can be changed. This default
overrides the default value set for a picklist for the attribute.
Description Type
textarea
Properties
Create, Nillable, Update
Description
A description of the attribute definition. The maximum size is 32,000 alphanumeric characters.
The description can include these special characters: @ ! - < > * ? + = % # ( ) / \ & ‘ £ € $ ”.
DisplayType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The type to display data for the selected data type.
Possible values are:
• CheckBox—Checkbox
14
Product Catalog Management Product Catalog Management Standard Objects
Field Details
• ComboBox—Combobox
• Date
• Datetime—Date Time
• Number
• RadioButton—Radio Button
• Slider—Available in API version 61.0 and later
• Text
• Toggle
HelpText Type
textarea
Properties
Create, Nillable, Update
Description
The help text to display when end users are configuring this attribute. This field overrides
the help text defined for the attribute itself.
IsHidden Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates if this product attribute is hidden from end users in the run time (true) or not
(false).
The default value is false.
IsPriceImpacting Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this attribute dictates the price of a product (true) or not (false).
The default value is false.
IsReadOnly Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the attribute is read-only for users in the run time (true) or not (false).
The default value is false.
15
Product Catalog Management Product Catalog Management Standard Objects
Field Details
IsRequired Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this attribute requires a value when assigned to a parent object (true)
or not (false).
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product attribute was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product attribute was last viewed.
MaximumCharacterCount Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum number of characters that can be entered for an attribute value.
MaximumValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum value that can be entered as an attribute value.
MinimumCharacterCount Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
16
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Description
The minimum number of characters that can be entered for an attribute value.
MinimumValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The minimum value that can be entered as an attribute value.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the product attribute.
OverriddenProductAttributeDefinitionId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID associated with the overridden product attribute definition.
This field is a relationship field.
Relationship Name
OverriddenProductAttributeDefinition
Relationship Type
Lookup
Refers To
ProductAttributeDefinition
OverrideContextId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID associated with the root product record in a bundle.
This field is a polymorphic relationship field.
Relationship Name
OverrideContext
17
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Relationship Type
Lookup
Refers To
Product2
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The owner of the product attribute definition.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Product2Id Type
reference
Properties
Create, Filter, Group, Sort
Description
The product ID associated with the product attribute definition.
This field is a relationship field.
Relationship Name
Product2
Relationship Type
Lookup
Refers To
Product2
ProductClassificationAttributeId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the attribute assigned to the product classification.
This field is a relationship field.
18
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Relationship Name
ProductClassificationAttribute
Relationship Type
Lookup
Refers To
ProductClassificationAttr
Sequence Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The display sequence of the attribute when configuring the product during run time.
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The lifecycle state of the product attribute definition.
Valid values are:
• Active
• Draft
• Inactive
The default value is Draft.
StepValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The increment or decrement by which a slider's value changes as the user adjusts the product
attribute value. Available in API version 61.0 and later.
ValueDescription Type
textarea
Properties
Create, Nillable, Update
Description
The description of the value assigned to this attribute. This field takes on the value description
from the attribute definition.
19
Product Catalog Management Product Catalog Management Standard Objects
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductAttributeDefinitionFeed on page 1661
Feed tracking is available for the object.
ProductAttributeDefinitionHistory on page 1668
History is available for tracked fields of the object.
ProductAttributeDefinitionShare on page 1672
Sharing is available for the object.
ProductCategoryDisqual
Represents disqualification rules for product categories. The rules determine when the product category doesn’t qualify to be displayed
to users. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
CategoryId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The product category associated with the product disqualification record.
This field is a relationship field.
Relationship Name
Category
Relationship Type
Lookup
Refers To
ProductCategory
EffectiveFromDate Type
date
20
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
The date from which the disqualification rule for the product category comes into effect.
EffectiveToDate Type
date
Properties
Create, Filter, Group, Sort, Update
Description
The date to which the disqualification rule for the product category ceases to be in effect.
IsDisqualified Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the product category is disqualified (true) or not (false) based on the
disqualification rules.
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product category disqualification record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product category disqualification record was last viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the product category disqualification record.
21
Product Catalog Management Product Catalog Management Standard Objects
Field Details
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the product category disqualification record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Reason Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The reason to disqualify the product category.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductCategoryDisqualFeed on page 1661
Feed tracking is available for the object.
ProductCategoryDisqualHistory on page 1668
History is available for tracked fields of the object.
ProductCategoryDisqualShare on page 1672
Sharing is available for the object.
ProductCategoryQualification
Represents qualification rules for product categories. The rules determine when the product category qualifies to be displayed to users.
This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
22
Product Catalog Management Product Catalog Management Standard Objects
Fields
Field Details
CategoryId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The product category associated with the category qualification record.
This field is a relationship field.
Relationship Name
Category
Relationship Type
Lookup
Refers To
ProductCategory
EffectiveFromDate Type
date
Properties
Create, Filter, Group, Sort, Update
Description
The date from which the qualification rule for the product category comes into effect.
EffectiveToDate Type
date
Properties
Create, Filter, Group, Sort, Update
Description
The date to which the qualification rule for the product category ceases to be in effect.
IsQualified Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the product category is qualified (true) or not (false) based on the
qualification rules.
The default value is false.
23
Product Catalog Management Product Catalog Management Standard Objects
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product category qualification record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product category qualification record was last viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the product category qualification record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the product category qualification record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductCategoryQualificationFeed on page 1661
Feed tracking is available for the object.
24
Product Catalog Management Product Catalog Management Standard Objects
ProductClassification
Represents a template that holds a collection of dynamic attributes. Product classification is used to quickly define and create multiple
products that are similar yet different. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Code Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
A unique code for the product classification. The maximum size is 80 alphanumeric characters.
The code can include the following special characters: @ ! - < > * ? + = % # ( ) / \ & ‘ £ € $ ”.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product classification record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product classification record was last viewed.
25
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the product classification. The maximum length is 80 characters (of any type).
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The owner of the product classification.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The lifecycle status of the product classification.
Possible values are:
• Active
• Draft
• Inactive
The default value is Draft.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductClassificationFeed on page 1661
Feed tracking is available for the object.
26
Product Catalog Management Product Catalog Management Standard Objects
ProductClassificationAttr
Represents the relationship between a product classification and its attributes. This is the default configuration for products based on
the product classification. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AttributeCategoryId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the attribute category assigned to the parent object.
This field is a relationship field.
Relationship Name
AttributeCategory
Relationship Type
Lookup
Refers To
AttributeCategory
AttributeDefinitionId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the attribute assigned to the parent object.
27
Product Catalog Management Product Catalog Management Standard Objects
Field Details
This field is a relationship field.
Relationship Name
AttributeDefinition
Relationship Type
Lookup
Refers To
AttributeDefinition
AttributeNameOverride Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The overridden attribute name to display for the attribute when shown for this object. For
example, "Color" overridden to "Laptop Color."
DefaultValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The default value of the attribute for a product based on the product classification. This value
can be changed.
Description Type
textarea
Properties
Create, Nillable, Update
Description
The description of this product classification attribute definition.
DisplayType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The type to display data for the selected data type.
Valid values are:
• CheckBox—Checkbox
• ComboBox—Combobox
• Date
28
Product Catalog Management Product Catalog Management Standard Objects
Field Details
• Datetime—Date Time
• Number
• RadioButton—Radio Button
• Slider—Available in API version 61.0 and later
• Text
• Toggle
ExcludedPicklistValues Type
textarea
Properties
Create, Nillable, Update
Description
The picklist values excluded from the attribute picklist. This field ensures that the product
classification attribute only has valid values.
HelpText Type
textarea
Properties
Create, Nillable, Update
Description
The help text to display when end users are configuring this attribute. This field overrides
the help text defined for the attribute itself.
IsHidden Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates if this product attribute is hidden from end users in the run time (true) or not
(false).
The default value is false.
IsPriceImpacting Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this attribute dictates the price of a product (true) or not (false).
The default value is false.
29
Product Catalog Management Product Catalog Management Standard Objects
Field Details
IsReadOnly Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the attribute is read-only for users in the run time (true) or not (false).
The default value is false.
IsRequired Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this attribute requires a value when assigned to a parent object (true)
or not (false).
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product classification attribute was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product classification attribute was last viewed.
MaximumCharacterCount Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum number of characters that can be entered for an attribute value.
MaximumValue Type
string
30
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum value that can be entered as an attribute value.
MinimumCharacterCount Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The minimum number of characters that can be entered for an attribute value.
MinimumValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The minimum value that can be entered as an attribute value.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the product classification attribute.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the product classification attribute owner.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
31
Product Catalog Management Product Catalog Management Standard Objects
Field Details
ProductClassificationId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the product classification that the attribute is associated with. This field is unique
within your organization.
This field is a relationship field.
Relationship Name
ProductClassification
Relationship Type
Lookup
Refers To
ProductClassification
Sequence Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The display sequence of the attribute when configuring the product during run time.
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The lifecycle status of the product classification attribute.
Valid values are:
• Active
• Draft
• Inactive
The default value is Draft.
StepValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
32
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Description
The increment or decrement by which a slider's value changes as the user adjusts the product
classification attribute value. Available in API version 61.0 and later.
ValueDescription Type
textarea
Properties
Create, Nillable, Update
Description
The description of the value assigned to this attribute. This field takes on the value description
from the attribute definition.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductClassificationAttrFeed on page 1661
Feed tracking is available for the object.
ProductClassificationAttrHistory on page 1668
History is available for tracked fields of the object.
Sharing rules are available for the object.
ProductClassificationAttrShare on page 1672
Sharing is available for the object.
ProductComponentGrpOverride
Represents override information for a Product Component Group. The cardinality of the product component group can be overridden
in the context of a product bundle. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
33
Product Catalog Management Product Catalog Management Standard Objects
Fields
Field Details
IsExcluded Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the product component group is excluded from the product bundle in
the runtime. Excluding a group automatically excludes all child components of the group.
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product component override record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product component override record was last viewed.
MaxBundleComponents Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum number of components that can be added to a group.
MinBundleComponents Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The minimum number of components that must be added to a group.
Name Type
string
34
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the overridden product component group.
OverrideContextId Type
reference
Properties
Create, Filter, Group, Sort
Description
The root bundle product in whose context the group cardinality is overridden.
This field is a polymorphic relationship field.
Relationship Name
OverrideContext
Relationship Type
Lookup
Refers To
Product2
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The owner of the product component group override record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
ProductComponentGroupId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the product component group record.
This field is a relationship field.
35
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Relationship Name
ProductComponentGroup
Relationship Type
Lookup
Refers To
ProductComponentGroup
ProductDisqualification
Represents disqualification rules for products. The rules determine when the product doesn’t qualify to be displayed to users. The rules
are based on user context. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
EffectiveFromDate Type
date
Properties
Create, Filter, Group, Sort, Update
Description
The date from which the disqualification rule for the product comes into effect.
EffectiveToDate Type
date
Properties
Create, Filter, Group, Sort, Update
Description
The date to which the disqualification rule for the product ceases to be in effect.
IsDisqualified Type
boolean
36
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the product is disqualified based on the disqualification rules (true) or
not (false).
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product disqualification record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product disqualification record was last viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the product disqualification record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The owner of the product disqualification record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
37
Product Catalog Management Product Catalog Management Standard Objects
Field Details
ParentProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the immediate parent product in the product bundle hierarchy.
This field is a relationship field.
Relationship Name
ParentProduct
Relationship Type
Lookup
Refers To
Product2
ProductId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The product for which the disqualification rule is defined.
This field is a relationship field.
Relationship Name
Product
Relationship Type
Lookup
Refers To
Product2
Reason Type
textarea
Properties
Create, Nillable, Update
Description
The reason to disqualify the product.
RootProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the root product in the product bundle hierarchy.
38
Product Catalog Management Product Catalog Management Standard Objects
Field Details
This field is a relationship field.
Relationship Name
RootProduct
Relationship Type
Lookup
Refers To
Product2
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductDisqualificationFeed on page 1661
Feed tracking is available for the object.
ProductDisqualificationHistory on page 1668
History is available for tracked fields of the object.
ProductDisqualificationShare on page 1672
Sharing is available for the object.
ProductQualification
Represents qualification rules for products. The rules determine when the product qualifies to be displayed to users. The rules are based
on user context. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
EffectiveFromDate Type
date
Properties
Create, Filter, Group, Sort, Update
Description
The date from which the qualification rule for the product comes into effect.
39
Product Catalog Management Product Catalog Management Standard Objects
Field Details
EffectiveToDate Type
date
Properties
Create, Filter, Group, Sort, Update
Description
The date to which the qualification rule for the product ceases to be in effect.
IsQualified Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the product is qualified based on the qualification rules (true) or not
(false). For a product to qualify, this field should be true.
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product qualification record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product qualification record was last viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the product qualification record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
40
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Description
The owner of the product qualification record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
ParentProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the immediate parent product in the product bundle hierarchy.
This field is a relationship field.
Relationship Name
ParentProduct
Relationship Type
Lookup
Refers To
Product2
ProductId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The product for which the qualification rule is defined.
This field is a relationship field.
Relationship Name
Product
Relationship Type
Lookup
Refers To
Product2
RootProductId Type
reference
41
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the root product in the product bundle hierarchy.
This field is a relationship field.
Relationship Name
RootProduct
Relationship Type
Lookup
Refers To
Product2
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductQualificationFeed on page 1661
Feed tracking is available for the object.
ProductQualificationHistory on page 1668
History is available for tracked fields of the object.
ProductQualificationShare on page 1672
Sharing is available for the object.
ProductRampSegment
Represents the ramp period within a ramp deal where terms, volumes, and other commitments change over time. This object is available
in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
DurationType Type
picklist
42
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The unit of time within which users can try the product for free.
Valid values are:
• Days
• Months
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product ramp segment was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product ramp segment was last viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the product ramp segment.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the product ramp segment.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
43
Product Catalog Management Product Catalog Management Standard Objects
Field Details
ProductId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the product associated with the product ramp segment.
This field is a relationship field.
Relationship Name
Product
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the product selling model associated with the product ramp segment.
This field is a relationship field.
Relationship Name
ProductSellingModel
Refers To
ProductSellingModel
SegmentType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The time duration within the ramp deal where specific terms, volumes, and commitments
are applied to the subscription product.
Valid values are:
• Custom
• FreeTrial
• Yearly
The default value is Yearly.
TrialDuration Type
int
44
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The duration within which users can try the product for free.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductRampSegmentFeed on page 1661
Feed tracking is available for the object.
ProductRampSegmentHistory on page 1668
History is available for tracked fields of the object.
ProductRampSegmentShare on page 1672
Sharing is available for the object.
ProductRelComponentOverride
Represents the cardinality overrides for product components in a bundle. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
DoesBundlePriceIncludeChild Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the bundle price includes the associated child component's price (true)
or not (false).
The default value is false.
45
Product Catalog Management Product Catalog Management Standard Objects
Field Details
IsComponentRequired Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the component is a required component in the product bundle.
The default value is false.
IsDefaultComponent Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this component is included in the product component group by default.
The default value is false.
IsExcluded Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the bundle excludes the component (true) or not (false).
The default value is false.
IsQuantityEditable Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the product component quantity can be edited (true) or not (false).
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the product related component override record was last referenced.
LastViewedDate Type
dateTime
46
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Properties
Filter, Nillable, Sort
Description
The date the product related component override record was last viewed.
MaxQuantity Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The maximum quantity for the product component in the product bundle.
MinQuantity Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The minimum quantity for the product component in the product bundle
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the product related component override. The maximum length is 255 characters
(of any type).
OverrideContextId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID associated with the root product in a bundle.
This field is a polymorphic relationship field.
Relationship Name
OverrideContext
Relationship Type
Lookup
Refers To
Product2
47
Product Catalog Management Product Catalog Management Standard Objects
Field Details
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The owner ID of the product related component override record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
ProductRelatedComponentId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID associated with the product related component record.
This field is a relationship field.
Relationship Name
ProductRelatedComponent
Relationship Type
Lookup
Refers To
ProductRelatedComponent
Quantity Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The default number of child product related components.
QuantityScaleMethod Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
48
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Description
The scaling method that determines how the child product quantity changes as the quantity
of the parent product changes in the runtime cart.
Possible values are:
• Constant
• Proportional
The default value is Proportional.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductRelComponentOverrideFeed on page 1661
Feed tracking is available for the object.
ProductRelComponentOverrideHistory on page 1668
History is available for tracked fields of the object.
ProductRelComponentOverrideShare on page 1672
Sharing is available for the object.
ProductSpecificationRecType
Represents the relationship between industry-specific product specifications and the product record type. This object is available in API
version 60.0 and later.
Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
Field Details
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the ProductSpecificationRecType object in the API. The name:
49
Product Catalog Management Product Catalog Management Standard Objects
Field Details
• must be 40 characters or fewer.
• can contain only underscores and alphanumeric characters.
• must begin with a letter.
• can contain only underscores and alphanumeric characters.
• can’t include spaces
• can’t end with an underscore
• can’t contain 2 consecutive underscores
IsCommercial Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the product is sold commercially (true) or not (false)
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The combined language and locale ISO code, which controls the language of the Product
Specification Record Type.
Possible values are:
• da—Danish
• de—German
• en_US—English
• es—Spanish
• es_MX—Spanish (Mexico)
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
50
Product Catalog Management Product Catalog Management Standard Objects
Field Details
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
MasterLabel Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label for this Product Specification Record Type value. This display value is the internal label
that doesn't get translated.
NamespacePrefix Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org that
creates a managed package has a unique namespace prefix. Limit: 15 characters. You can
refer to a component in a managed package by using the
namespacePrefix_componentName
The namespace prefix can have one of the following values.
• In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the
org for all objects that support it, unless an object is in an installed managed package.
In that case, the object has the namespace prefix of the installed managed package. This
field’s value is the namespace prefix of the Developer Edition org of the package
developer.
• In orgs that aren’t Developer Edition orgs, NamespacePrefix is set only for objects
that are part of an installed managed package. All other objects have no namespace
prefix.
ProductSpecificationType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The product specification type that's associated with the record type.
RecordTypeId Type
reference
Properties
Create, Filter, Group, Sort, Update
51
Product Catalog Management Product Catalog Management Standard Objects
Field Details
Description
The ID of the record type that's associated with the product specification type.
This field is a relationship field.
Relationship Name
RecordType
Relationship Type
Lookup
Refers To
RecordType
ProductSpecificationType
Represents the type of product specification provided by the user to make the product terminology unique to an industry. A product
specification type is associated with a product specification record type. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
Field Details
Description Type
textarea
Properties
Create, Nillable, Update
Description
The description of the Product Specification Type.
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the Product Specification Type object in the API. The name:
• must be 40 characters or fewer.
• can contain only underscores and alphanumeric characters.
52
Product Catalog Management Product Catalog Management Standard Objects
Field Details
• must begin with a letter.
• can contain only underscores and alphanumeric characters.
• can’t include spaces
• can’t end with an underscore
• can’t contain 2 consecutive underscores
In managed packages, this field prevents naming conflicts on package installations. With
this field, a developer can change the object’s name in a managed package and the changes
are reflected in a subscriber’s organization.
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The combined language and locale ISO code, which controls the language of the Product
Specification Type.
Possible values are:
• da—Danish
• de—German
• en_US—English
• es—Spanish
• es_MX—Spanish (Mexico)
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
MasterLabel Type
string
Properties
Create, Filter, Group, Sort, Update
53
Product Catalog Management Product Catalog Management Fields on Standard Objects
Field Details
Description
Label for this Product Specification Type value. This display value is the internal label that
doesn't get translated.
NamespacePrefix Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org that
creates a managed package has a unique namespace prefix. Limit: 15 characters. You can
refer to a component in a managed package by using the
namespacePrefix_componentName
The namespace prefix can have one of the following values.
• In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the
org for all objects that support it, unless an object is in an installed managed package.
In that case, the object has the namespace prefix of the installed managed package. This
field’s value is the namespace prefix of the Developer Edition org of the package
developer.
• In orgs that aren’t Developer Edition orgs, NamespacePrefix is set only for objects
that are part of an installed managed package. All other objects have no namespace
prefix.
54
Product Catalog Management Product Catalog Management Fields on Standard Objects
Fields
Field Details
DataType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The data type of the attribute definition.
Valid values are:
• Checkbox
• Currency—Available in API version 61.0 and later
• Date
• Datetime
• Number
• Percent—Available in API version 61.0 and later
• Picklist
• Text
SEE ALSO:
Attribute Definition
55
Product Catalog Management Product Catalog Management Fields on Standard Objects
Fields
Field Details
Based On Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the product classification from which this product inherits.
This field is a relationship field.
Relationship Name
BasedOn
Relationship Type
Lookup
Refers To
ProductClassification
CanRamp Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the product’s terms, volumes, and other commitments can be ramped
(true) at run time or not (false)
The default value is false.
56
Product Catalog Management Product Catalog Management Fields on Standard Objects
Field Details
Discontinued Date Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date when the product is discontinued.
DecompositionScope Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The number of fulfillment order line items that must be generated. Available in API version
61.0 and later.
Valid values are:
• Account
• Bundle
• Order
• OrderLineItem
FulfillmentQtyCalcMethod Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Determines whether the quantity of fulfillment order line items must always be one or must
be aggregated from the source line items. Available in API version 61.0 and later.
57
Product Catalog Management Product Catalog Management Fields on Standard Objects
Field Details
Valid values are:
• Aggregate
• AlwaysOne
UsageModelType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The type of usage model for a product or service. Anchor is the main subscription product
or service. Pack is the add-on product or service that grants additional usage resources for
consumption. Available in API version 62.0 and later.
Valid values are:
• Anchor
• Pack
SEE ALSO:
Product2
Fields
Field Details
Code Type
string
Properties
Create, Filter, Group, idLookup, Nillable, Sort, Update
Description
A unique ID associated with the catalog. The maximum size is 80 alphanumeric characters.
Description Type
textarea
Properties
Create, Nillable, Update
58
Product Catalog Management Product Catalog Management Fields on Standard Objects
Field Details
Description
The description of the catalog that's used during design time. The maximum size is 255
alphanumeric characters.
EffectiveEndDate Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date after which the product catalog is unavailable to end users.
EffectiveStartDate Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date on which the product catalog is available to end users.
CatalogType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The category of an entry in the catalog.
Possible values are:
• Sales
• ServiceProcess—Service Process
The default value is Sales.
SEE ALSO:
Product Catalog
59
Product Catalog Management Product Catalog Management Fields on Standard Objects
Fields
Field Details
Code Type
string
Properties
Create, Filter, Group, idLookup, Nillable, Sort, Update
Description
A unique ID associated with the catalog. The maximum size is 80 alphanumeric characters.
IsNavigational Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the category or subcategory is shown in the menu as a navigational
breadcrumb (true) or not (false). Available in API version 62.0 and later.
The default value is false.
SEE ALSO:
Product Category
Fields
Field Details
ParentGroupId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The parent product component group in a nested group hierarchy for the same parent
product. Available in API version 62.0 and later.
This field is a relationship field.
Relationship Name
ParentGroup
60
Product Catalog Management Product Catalog Management Fields on Standard Objects
Field Details
Refers To
ProductComponentGroup
SEE ALSO:
Product Component Group
Fields
Field Details
ChildProductClassificationId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The child product classification that's associated with a product.
This field is a relationship field.
Relationship Name
ChildProductClassification
Refers To
ProductClassification
SEE ALSO:
ProductRelatedComponent
Fields
Field Details
AssociatedProductRoleCat Type
picklist
61
Product Catalog Management Product Catalog Management Business APIs
Field Details
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The role that the associated component plays in the relationship.
Valid values are:
• BundleComponent— The associated product is part of a bundle.
• ClassificationComponent— The associated component is a product
classification. Available in API version 61.0 and later
SEE ALSO:
Product Relationship Type
Fields
Field Details
IsDefault Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates the default product selling model for a product. Setting a product selling model
as default is optional. A product can only have one default product selling model.
The default value is false.
SEE ALSO:
Product Selling Model Option
62
Product Catalog Management Product Catalog Management Business APIs
Resource Description
/connect/pcm/catalogs (POST) Retrieve, search, filter, or sort
catalog records.
63
Product Catalog Management Product Catalog Management Business APIs
Resource Description
/connect/pcm/index/error (GET) Get the count and details of the
errors that occurred during the
indexing process.
Resources
Learn more about the available Product Catalog Management API resources.
Request Bodies
Learn more about the available Product Catalog Management API request bodies.
Response Bodies
Learn more about the available Product Catalog Management API response bodies.
SEE ALSO:
Connect REST API Developer Guide: Introduction
Resources
Learn more about the available Product Catalog Management API resources.
64
Product Catalog Management Product Catalog Management Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/products/bulk
Available version
61.0
HTTP methods
POST
Request body for POST
JSON example
{
"correlationId": "cbfabffb-093f-45b3-8c2d-88b4acbd4867",
"productIds": [
"01tT1000000F0afIAC",
"01tT1000000F0afIAC"
],
"uptoLevel": 1,
65
Product Catalog Management Product Catalog Management Business APIs
"additionalFields": {
"Product2": {
"fields": [
"code__c"
]
},
"ProductAttributeDefinition": {
"fields": [
"scope"
]
}
}
}
Properties
productIds String[] List of product IDs that details must be Required 61.0
returned for.
If any product ID is blank, invalid, or not
found, then the request is processed with
valid and available product IDs.
66
Product Catalog Management Product Catalog Management Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/catalogs
Available version
60.0
Requires Chatter
No
HTTP methods
POST
Note: The POST method is used to retrieve the catalog records instead of the GET method as a request payload is sent to
filter the records.
Request body for POST
JSON example
This example shows how to retrieve catalogs that contain apple in the catalog name.
{
"pageSize": 100,
"offset": 0,
"filter": {
"criteria": [
{
"property": "name",
"operator": "contains",
"value": "apple"
}
]
}
}
This example shows how to retrieve catalogs with ServiceProcess as the catalog type.
{
"pageSize": 100,
67
Product Catalog Management Product Catalog Management Business APIs
"offset": 0,
"sort": {
"orders": [
{
"property": "name",
"direction": "desc"
}
]
},
"filter": {
"criteria": [
{
"property": "catalogType",
"operator": "eq",
"value": "ServiceProcess"
}
]
}
}
Properties
filter Filter Criteria to filter the records. Filters are Optional 60.0
applicable to the fields of the
ProductCatalog object. The supported
operators are:
• eq
• in
• contains
The supported properties are name and
catalogType.
pageSize Integer Number of records per page. Valid values Optional 60.0
are from 1 through 100. If unspecified,
defaults to 100.
sort Sort Sort order of the catalog records. The Optional 60.0
supported operators are:
• asc
68
Product Catalog Management Product Catalog Management Business APIs
Catalog By ID (GET)
Retrieve details of catalog records based on a catalog ID.
Resource
/connect/pcm/catalogs/catalogId
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/catalogs/0ZST100000000kUOAQ
Available version
60.0
Requires Chatter
No
HTTP methods
GET
Request parameters for GET
/connect/pcm/catalogs/catalogId/categories
69
Product Catalog Management Product Catalog Management Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/catalogs/0ZST100000000kUOAQ/categories
Available version
60.0
Requires Chatter
No
HTTP methods
GET
Request parameters for GET
Category By ID (GET)
Retrieve details of individual category records based on a category ID.
Resource
/connect/pcm/categories/categoryId
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/categories/0ZGT100000000qqOAA
Available version
60.0
Requires Chatter
No
HTTP methods
GET
70
Product Catalog Management Product Catalog Management Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/deep-clone
Available version
63.0
HTTP methods
POST
Request body for POST
JSON example
{
"mainRecordId": "01tSG0000028kcSYAQ",
"mainObjectApiName": "Product2",
"mainRecordFieldValues": {
"Name": "New Cloud Storage"
}
}
Properties
71
Product Catalog Management Product Catalog Management Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/index/configurations
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/index/configurations?includeMetadata=false&fieldTypes=Standard,Custom
Available version
62.0
HTTP methods
GET, PUT
Request parameters for GET
fieldTypes String[] Filters and returns only the persisted index Optional 62.0
configurations, based on the index
configuration type specified in the query
parameters.
The supported types of filters are:
• STANDARD
• CUSTOM
72
Product Catalog Management Product Catalog Management Business APIs
73
Product Catalog Management Product Catalog Management Business APIs
Properties
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/index/setting
Available version
63.0
HTTP methods
GET, PATCH
Response body for GET
Index Setting Results
Request body for PATCH
JSON example
{
"setting" : {
"supportedLanguages" : ["en_US","ja","es","nl_NL"],
"defaultLanguage" : "en_US",
"productsGrouping": "GROUPING_VARIATION"
}
}
74
Product Catalog Management Product Catalog Management Business APIs
Properties
/connect/pcm/products/productId
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/products/01tT1000000F0afIAC
Available version
60.0
Requires Chatter
No
HTTP methods
GET
Note: You must invoke this API request by using GET method only. If the request is invoked by using POST method, the
request is considered as a Products List API request.
Request parameters for GET
75
Product Catalog Management Product Catalog Management Business APIs
/connect/pcm/relatedRecords/entityName
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/relatedRecords/product2
Available version
62.0
HTTP methods
POST
Note: POST methods typically create an item, but for this resource POST is used to retrieve information.
76
Product Catalog Management Product Catalog Management Business APIs
{
"property": "effectivestartdate",
"operator": "lte",
"value": "2024-06-25"
},
{
"criteriaType": "CustomWhereCondition",
"value": "(effectiveenddate = null OR effectiveenddate >= 2024-06-25)"
}
]
}
}
]
}
Properties
related Related Object List of nodes for the related objects. The Required 62.0
ObjectNodes Node Input[] maximum number of related object
nodes supported is two.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/products?productClassificationId=11BT10000004C9SMAU
Available version
60.0
Requires Chatter
No
77
Product Catalog Management Product Catalog Management Business APIs
HTTP methods
POST
Note: POST methods typically create an item, but for this resource POST is used to retrieve information.
This example is a search request for products that contain the specified search term in the product name and are part of a catalog.
{
"catalogIds": [
"0ZSDU0000002Og54AE"
],
"searchTerm": "Slack"
}
78
Product Catalog Management Product Catalog Management Business APIs
Query parameters
Properties
79
Product Catalog Management Product Catalog Management Business APIs
filter Criteria Input Criteria to filter the records. Filters are Optional 60.0
applicable to the fields of Product2
object. The supported operators are:
• eq
• in
• contains—This value isn’t
applicable if the Use Indexed Data
For Product Listing and Search
toggle from the Product Discovery
Settings page from Setup is enabled.
• gt—Specifies a greater than criteria.
Available from API version 63.0 and
later for Number, Date, and Datetime
data types only.
• lt—Specifies a less than criteria.
Available from API version 63.0 and
later for Number, Date, and Datetime
data types only.
• gte—Specifies a greater than or
equal to criteria. Available from API
version 63.0 and later for Number,
Date, and Datetime data types only.
• lte—Specifies a less than or equal
to criteria. Available from API version
63.0 and later for Number, Date, and
Datetime data types only.
If multiple criteria are specified, then the
criteria are combined by using the and
operator.
The supported properties are name,
description, and isActive. If
the Use Indexed Data For Product
Listing and Search toggle from the
Product Discovery Settings page from
Setup is enabled, then the supported
property is name only.
80
Product Catalog Management Product Catalog Management Business APIs
related Related Object Criteria for the related objects to filter the Optional 60.0
Object Filter[] records. The supported operator is eq.
Filters The supported object is
ProductSpecificationRecType.
The supported values are true and
false. The supported property is
IsCommercial.
searchTerm String String used to get products with the Optional 62.0
product name containing the search
term. See Search Considerations When
Using Indexed Data.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/index/snapshots
Available version
62.0
HTTP methods
GET
81
Product Catalog Management Product Catalog Management Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/index/deploy
Available version
62.0
HTTP methods
POST
Request body for POST
JSON example
This example shows a sample request to build a new snapshot with immediate activation.
{
"snapshot": {
"activationType": "IMMEDIATE"
},
"buildType": "FULL"
}
This example shows a sample request to rebuild a snapshot in the active status.
{
"snapshot": {
"activationType": "IMMEDIATE",
"id": "1Avxx0000005DFe1AM"
},
"buildType": "FULL"
}
82
Product Catalog Management Product Catalog Management Business APIs
Properties
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/index/error
Available version
63.0
HTTP methods
GET
Request parameters for GET
83
Product Catalog Management Product Catalog Management Business APIs
Resource
/connect/pcm/unit-of-measure/info
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/unit-of-measure/info
Available version
63.0
HTTP methods
GET
Query parameters for GET
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/pcm/unit-of-measure/rounded-data
Available version
63.0
HTTP methods
POST
Request body for POST
JSON example
{
"dataRowInputs": [
{
"key": "PRC1",
"fieldDataInputs": [
84
Product Catalog Management Product Catalog Management Business APIs
{
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"unitOfMeasureId": "0hExx0000000001EAA"
},
{
"fieldApiName": "MinQuantity",
"originalValue": "987462848934739347.32232590183756545",
"unitOfMeasureId": "0hExx000000001dEAA"
}
]
},
{
"key": "PRC2",
"fieldDataInputs": [
{
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"unitOfMeasureId": "uomId1"
},
{
"fieldApiName": "MinQuantity",
"originalValue": 987.4628,
"unitOfMeasureId": "Kgs Id"
}
]
},
{
"key": "PRC3",
"fieldDataInputs": [
{
"fieldApiName": "MaxQuantity",
"originalValue": 0.437584,
"unitOfMeasureId": "uomId2"
},
{
"fieldApiName": "MinQuantity",
"originalValue": 7364.58923,
"unitOfMeasureId": "uomId2"
}
]
}
]
}
Properties
85
Product Catalog Management Product Catalog Management Business APIs
dataRow Data Row Input[] List of row inputs for rounding the data. Required 63.0
Inputs
Request Bodies
Learn more about the available Product Catalog Management API request bodies.
86
Product Catalog Management Product Catalog Management Business APIs
Options Input
Reserved for internal use.
Order Input
Input representation of the sort order item request.
Product Input
Input representation of a product in the catalog.
Related Object Filters Input
Input representation of the request to filter related objects.
Related Object Node Input
Input representation of the details of a related object node.
Related Records Input
Input representation of the request to retrieve related ProductRampSegment or ProductUsageGrant records for Product2 object.
Run-time Catalog Snapshot Input
Input representation of the details of a run-time catalog snapshot for deployment.
Setting Input
Input representation of the details of the index setting.
Snapshot Deployment Input
Input representation of the request to deploy a run-time catalog snapshot.
Sort Input
Input representation of the sort request.
"additionalFields": {
"Product2": {
"fields": [
"code__c"
]
}
Properties
87
Product Catalog Management Product Catalog Management Business APIs
JSON example
{
"correlationId": "cbfabffb-093f-45b3-8c2d-88b4acbd4867",
"productIds": [
"01tT1000000F0afIAC",
"01tT1000000F0afIAC"
],
"uptoLevel": 1,
"additionalFields": {
"Product2": {
"fields": [
"code__c"
]
},
"ProductAttributeDefinition": {
"fields": [
"scope"
]
}
}
}
Properties
correlationId String Unique token to track and associate related Optional 61.0
events or transactions across different
components of the application. If
unspecified, a Universally Unique Identifier
(UUID) is generated.
productIds String[] List of product IDs that details must be Required 61.0
returned for.
If any product ID is blank, invalid, or not
found, then the request is processed with
valid and available product IDs.
88
Product Catalog Management Product Catalog Management Business APIs
Catalog Input
Input representation of the request to retrieve catalog records.
JSON example
This example shows how to retrieve catalogs that contain apple in the catalog name.
{
"pageSize": 100,
"offset": 0,
"filter": {
"criteria": [
{
"property": "name",
"operator": "contains",
"value": "apple"
}
]
}
}
This example shows how to retrieve catalogs with ServiceProcess as the catalog type.
{
"pageSize": 100,
"offset": 0,
"sort": {
"orders": [
{
"property": "name",
"direction": "desc"
}
]
},
"filter": {
"criteria": [
{
"property": "catalogType",
"operator": "eq",
"value": "ServiceProcess"
}
]
89
Product Catalog Management Product Catalog Management Business APIs
}
}
Properties
filter Filter Criteria to filter the records. Filters are Optional 60.0
applicable to the fields of the
ProductCatalog object. The supported
operators are:
• eq
• in
• contains
The supported properties are name and
catalogType.
pageSize Integer Number of records per page. Valid values Optional 60.0
are from 1 through 100. If unspecified,
defaults to 100.
sort Sort Sort order of the catalog records. The Optional 60.0
supported operators are:
• asc
• desc
Criteria Input
Input representation of the filter criteria item request.
JSON example
"criteria":
[{
"attributeType": "ProductStandard",
"property": "name",
"operator": "eq",
"value": "iPhone"
},
90
Product Catalog Management Product Catalog Management Business APIs
{
"criteriaType": "CustomWhereCondition",
"value": "(effectiveenddate = null OR effectiveenddate >= 2024-06-25)"
}
]
Properties
criteriaType String Type of criteria for the filter. Valid value is: Required 60.0
• CustomWhereCondition
operator String Operator used for the filter criteria. The Required 60.0
supported operators are:
• eq
• in
• contains—This value isn’t
applicable if the Use Indexed Data
For Product Listing and Search
toggle from the Product Discovery
Settings page from Setup is enabled.
• gt—Specifies a greater than criteria.
Available from API version 63.0 and
later for Number, Date, and Datetime
data types only.
• lt—Specifies a less than criteria.
Available from API version 63.0 and
later for Number, Date, and Datetime
data types only.
• gte—Specifies a greater than or
equal to criteria. Available from API
91
Product Catalog Management Product Catalog Management Business APIs
property String Property name to use in the filter, which Required 60.0
must be the same as the object field.
92
Product Catalog Management Product Catalog Management Business APIs
{
"key": "PRC3",
"fieldDataInputs": [
{
"fieldApiName": "MaxQuantity",
"originalValue": 0.437584,
"unitOfMeasureId": "uomId2"
},
{
"fieldApiName": "MinQuantity",
"originalValue": 7364.58923,
"unitOfMeasureId": "uomId2"
}
]
}
]
}
Properties
dataRowInputs Data Row Input[] List of row inputs for rounding the data. Required 63.0
93
Product Catalog Management Product Catalog Management Business APIs
},
{
"key": "PRC2",
"fieldDataInputs": [
{
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"unitOfMeasureId": "uomId1"
},
{
"fieldApiName": "MinQuantity",
"originalValue": 987.4628,
"unitOfMeasureId": "Kgs Id"
}
]
},
{
"key": "PRC3",
"fieldDataInputs": [
{
"fieldApiName": "MaxQuantity",
"originalValue": 0.437584,
"unitOfMeasureId": "uomId2"
},
{
"fieldApiName": "MinQuantity",
"originalValue": 7364.58923,
"unitOfMeasureId": "uomId2"
}
]
}
]
}
Properties
key String Key that identifies a unique data row. Required 63.0
94
Product Catalog Management Product Catalog Management Business APIs
Properties
mainRecord Map<String, Mapping of the API name of the field to its Optional 63.0
FieldValues String> value. The values passed through this map
are set for the created record. You can pass
the Name field only through this map.
Properties
Filter Input
Input representation of the filter request.
95
Product Catalog Management Product Catalog Management Business APIs
JSON example
"filter":
{
"criteria": [ {
"property": "name",
"operator": "eq",
"value": "iPhone"
},
{
"criteriaType": "CustomWhereCondition",
"value": "(effectiveenddate = null OR effectiveenddate >= 2024-06-25)"
}
]
}
Properties
Properties
96
Product Catalog Management Product Catalog Management Business APIs
"indexConfigurations": [
{
"attributeDefinitionId": "0tjT1000000002bIAA",
"name": "Color",
"type": "ProductDynamicAttribute",
"isSearchable": true
},
{
"attributeFieldId": "00Nxx000001FwnABII",
"name": "Message__c",
"type": "Custom",
"isSearchable": true
},
{
"name": "Code",
"type": "Standard",
"isSearchable": true
},
{
"facetDisplayRank": 1,
"isFacetable": false,
"isSearchable": true,
"name": "Family",
"type": "Standard"
}
]
}
Properties
97
Product Catalog Management Product Catalog Management Business APIs
},
{
"attributeFieldId": "00Nxx000001FwnABII",
"name": "Message__c",
"type": "Custom",
"isSearchable": true
},
{
"name": "Code",
"type": "Standard",
"isSearchable": true
},
{
"facetDisplayRank": 1,
"isFacetable": false,
"isSearchable": true,
"name": "Family",
"type": "Standard"
}
]
Properties
facet Integer Sort order for displaying the facets at run Optional 63.0
DisplayRank time.
98
Product Catalog Management Product Catalog Management Business APIs
JSON example
{
"setting" : {
"supportedLanguages" : ["en_US","ja","es","nl_NL"],
"defaultLanguage" : "en_US",
"productsGrouping": "GROUPING_VARIATION"
}
}
Properties
Options Input
Reserved for internal use.
Order Input
Input representation of the sort order item request.
JSON example
"sort":{
"orders":
[{
"property": "name",
"direction": "asc"
}]
}
Properties
property String Property to use for the sorting of the list Required 60.0
items.
Product Input
Input representation of a product in the catalog.
99
Product Catalog Management Product Catalog Management Business APIs
JSON example
This example is a search request for products that contain Bundle Product in the product name.
{
"catalogIds": [
"0ZST10000004D03OAE"
],
"filter": {
"criteria": [
{
"property": "name",
"operator": "contains",
"value": "Bundle Product"
}
]
},
"relatedObjectFilters": [
{
"objectName": "ProductSpecificationRecType",
"criteria": [
{
"property": "IsCommercial",
"operator": "eq",
"value": false
}
],
"additionalFields": {
"Product2": {
"fields": [
"code__c"
]
}
}
}
]
}
This example is a search request for products that contain the specified search term in the product name and are part of a catalog.
{
"catalogIds": [
"0ZSDU0000002Og54AE"
],
"searchTerm": "Slack"
}
Query parameters
100
Product Catalog Management Product Catalog Management Business APIs
Properties
correlationId String Unique token to track and associate related Optional 60.0
events or transactions across different
components of the application. If
unspecified, a Universally Unique Identifier
(UUID) is generated.
101
Product Catalog Management Product Catalog Management Business APIs
pageSize Integer Specifies the number of records per page. Optional 60.0
Valid values are from 1 through 200. If the
value is unspecified, it defaults to 100.
102
Product Catalog Management Product Catalog Management Business APIs
searchTerm String String used to get products with the Optional 62.0
product name containing the search term.
See Search Considerations When Using
Indexed Data.
Properties
103
Product Catalog Management Product Catalog Management Business APIs
Properties
104
Product Catalog Management Product Catalog Management Business APIs
pageSize Integer Number of records per page. Valid values Optional 62.0
are from 1 through 100. If unspecified, the
default value is 100.
relatedObject String API name of the related object to return Required 62.0
APIName the records for. The supported related
objects are ProductRampSegment and
ProductUsageGrant.
105
Product Catalog Management Product Catalog Management Business APIs
"operator": "eq",
"value": "active"
},
{
"property": "effectivestartdate",
"operator": "lte",
"value": "2024-06-25"
},
{
"criteriaType": "CustomWhereCondition",
"value": "(effectiveenddate = null OR effectiveenddate >= 2024-06-25)"
}
]
}
}
]
}
Properties
related Related Object List of nodes for the related objects. The Required 62.0
ObjectNodes Node Input[] maximum number of related object nodes
supported is two.
106
Product Catalog Management Product Catalog Management Business APIs
Properties
activationType String Activation type of the snapshot. Valid value Required 62.0
is:
• IMMEDIATE—Snapshot is activated
immediately after a successful build.
Setting Input
Input representation of the details of the index setting.
JSON example
"setting" : {
"supportedLanguages" : ["en_US","ja","es","nl_NL"],
"defaultLanguage" : "en_US"
}
Properties
This example shows a sample request to rebuild a snapshot in the active status.
{
"snapshot": {
107
Product Catalog Management Product Catalog Management Business APIs
"activationType": "IMMEDIATE",
"id": "1Avxx0000005DFe1AM"
},
"buildType": "FULL"
}
Properties
Sort Input
Input representation of the sort request.
JSON example
"sort":
{
"orders":
[{
"property": "name",
"direction": "asc"
}]
}
Properties
Response Bodies
Learn more about the available Product Catalog Management API response bodies.
Attribute Category
Output representation of the attribute category.
108
Product Catalog Management Product Catalog Management Business APIs
Attribute Definition
Output representation of the attribute definition.
Attribute Picklist
Output representation of the attribute picklist.
Attribute Picklist Value
Output representation of the attribute picklist value.
Bulk Unit Of Measure Info
Output representation of the details of the unit of measure records along with error details.
Data Rounding
Output representation of the data rounding response.
Data Row
Output representation of the details of a data row.
Catalog Output
Output representation of the catalog definition.
Catalogs Output
Output representation of the retrieved catalog result.
Categories Output
Output representation of the retrieved categories result.
Category Output
Output representation of the category definition.
Deep Clone Error
Output representation of the error details related to the deep clone request.
Deep Clone Record Response
Output representation of the details of the cloned related records.
Deep Clone Response
Output representation of the details of the cloned record.
Error Output
Output representation of the error details.
Facet Value
Output representation of the facet values found in the search result.
Field Data
Output representation of the field data.
Fields Info
Output representation of the metadata fields in an object.
Index Configuration Collection
Output representation of the collection of index configuration details.
Index Configuration Field
Output representation of the details of the index-configured field.
Index Configurations Update
Output representation of the updated index configuration.
109
Product Catalog Management Product Catalog Management Business APIs
Index Error
Output representation of the error details related to an index.
Index Setting
Output representation of the retrieved index settings.
Index Setting Update
Output representation of the details of the updated index setting.
Invalid Related Object Node
Output representation of the invalid related object node with details of errors.
Metadata
Output representation of the metadata details for objects.
Object Info
Output representation of the object details along with its fields.
Product Classification
Output representation of the product classification details.
Product Component Group
Output representation of the product component group.
Product
Output representation of the product definition.
Product Related Component
Output representation of the product-related component.
Product Selling Model
Output representation of the definition of the product selling model.
Product Selling Model Option
Output representation of the definition of the product selling model option.
Product Specification Type
Output representation of the product specification type.
Products
Output representation of the list of retrieved products.
Related Object Records
Output representation of the related records for a specified record ID and related object API name.
Related Records
Output representation of the list of relatedObject records for a specified record ID.
Related Records List
Output representation of the list of related records.
Search Facet
Output representation of the details of the faceted search.
Setting
Output representation of the setting that’s used in indexing.
Setting Metadata
Output representation of the metadata associated with a setting.
110
Product Catalog Management Product Catalog Management Business APIs
Snapshot
Output representation of the list of active snapshots.
Snapshot Collection
Output representation of the retrieved snapshot collection.
Snapshot Deployment
Output representation of the snapshot deployment.
Snapshot Index
Output representation of the snapshot index of a run-time catalog.
Snapshot Index Error
Output representation of the error details related to a snapshot index.
Snapshot Index Info
Output representation of the details of a snapshot index.
Snapshot Index Log
Output representation of a snapshot index log.
Status
Output representation of the status of the request.
Unit of Measure Error
Output representation of the details of errors encountered during the processing of the Unit of Measure API request.
Unit of Measure Info
Output representation of the details of a unit of measure record.
Unit of Measure Status
Output representation of the status of the Unit of Measure API request.
Attribute Category
Output representation of the attribute category.
JSON example
"attributeCategory": [
{
"attributes": [
{
"additionalFields": {
"scope": "Order"
},
"attributeNameOverride": "AD Text",
"code": "AD02",
"dataType": "Text",
"defaultValue": "AD Text DV",
"description": "AD Text Desc",
"displayType": "Text",
"helpText": "AD Text DHT",
"id": "0tjT1000000002bIAA",
"isHidden": false,
"isPriceImpacting": true,
"isReadOnly": true,
111
Product Catalog Management Product Catalog Management Business APIs
"isRequired": true,
"label": "AD Text Label",
"maximumCharacterCount": "20",
"maximumValue": "100",
"minimumCharacterCount": "1",
"minimumValue": "50",
"name": "AD Text",
"sequence": 1,
"status": "Active",
"valueDescription": "AD Text VD"
}
],
"code": "AC001",
"id": "0v3T1000000000BIAQ",
"name": "build and make"
}
]
Attribute Definition
Output representation of the attribute definition.
JSON example
"attributes": [
{
"additionalFields": {
"scope": "Order"
},
"attributeNameOverride": "AD Text",
"code": "AD02",
"dataType": "Text",
"defaultValue": "AD Text DV",
"description": "AD Text Desc",
"displayType": "Text",
"helpText": "AD Text DHT",
"id": "0tjT1000000002bIAA",
"isHidden": false,
"isPriceImpacting": true,
"isReadOnly": true,
"isRequired": true,
"label": "AD Text Label",
112
Product Catalog Management Product Catalog Management Business APIs
"maximumCharacterCount": 20,
"maximumValue": "100",
"minimumCharacterCount": 1,
"minimumValue": "50",
"name": "AD Text",
"sequence": 1,
"status": "Active",
"valueDescription": "AD Text VD"
}
],
"code": "AC001",
"id": "0v3T1000000000BIAQ",
"name": "build and make"
}]
attributeName String Name to display for the attribute, which Small, 60.0 60.0
Override overrides the name on the attribute. For
example, the Color attribute is overridden
to display as Laptop Color.
code String Unique code of the attribute definition. Small, 60.0 60.0
dataType String Data type of the attribute definition value. Small, 60.0 60.0
displayType String Display types of the attribute. Valid values Small, 60.0 60.0
are:
• Radio Button
• Checkbox
• Toggle
• Input Date
• DateTime
• Currency Symbol
• Currency Code
• Currency Name
• Percentage
• Text
• Combobox
• Radio Button
113
Product Catalog Management Product Catalog Management Business APIs
HelpText String Help text that appears at run time for the Small, 60.0 60.0
attribute.
isHidden Boolean Indicates whether to hide the attribute from Small, 60.0 60.0
the users in the order capture interface
(true) or not (false).
isPrice Boolean Indicates whether the attribute impacts the Small, 60.0 60.0
Impacting product price (true) or not (false).
isReadOnly Boolean Indicates whether the product attribute is Small, 60.0 60.0
read-only for the end users in the order
capture page (true) or not (false).
isRequired Boolean Indicates whether a value for the attribute Small, 60.0 60.0
is required for the assigned parent object
(true) or not (false).
maximumValue String Maximum value that can be entered for Small, 60.0 60.0
attributes of type number, currency, and
percent in run time.
minimumValue String Minimum value that can be entered for Small, 60.0 60.0
attributes of type number, currency, and
percent in run time. The minimum value
must be less than or equal to the maximum
value.
114
Product Catalog Management Product Catalog Management Business APIs
sequence Integer Order in which the attribute values appear Small, 60.0 60.0
in the attribute definition when the product
is configured at run time.
status String Lifecycle state of the attribute picklist. Valid Small, 60.0 60.0
values are:
• Active
• Draft
• Inactive
value String Description of the value assigned to the Small, 60.0 60.0
Description attribute.
Attribute Picklist
Output representation of the attribute picklist.
JSON example
"picklist": {
"dataType": "Text",
"description": "Fabric Module options",
"id": "0v51Q000000TNDkQAO",
"name": "Fabric Module options",
"values": [
{
"abbreviation": "IFM1"
"code": "PV0051",
"displayValue": "25G Intelligent Fabric Module with 8x 25G SFP28 ports",
"id": "0v61Q0000008OMYQA2",
"name": "25G Intelligent Fabric Module with 8x 25G SFP28 ports",
"sequence": "1",
"value": "25G Intelligent Fabric Module with 8x 25G SFP28 ports",
"status" : "Active"
},
{
"abbreviation": "IFM2"
"code": "PV0052",
"displayValue": "100G Intelligent Fabric Module with 8x 100G QSFP28 ports",
"id": "0v61Q0000008OMZQA2",
"name": "100G Intelligent Fabric Module with 8x 100G QSFP28 ports",
"sequence": "2",
"value": "100G Intelligent Fabric Module with 8x 100G QSFP28 ports",
115
Product Catalog Management Product Catalog Management Business APIs
"status" : "Active"
}
]
}
description String Description of the picklist, such as the Small, 60.0 60.0
picklist purpose or the associated product.
values Attribute Picklist List of values associated with the picklist. Small, 60.0 60.0
Value[]
116
Product Catalog Management Product Catalog Management Business APIs
code String Unique code of the picklist value within the Small, 60.0 60.0
picklist.
displayValue String Picklist value that appears at run time in the Small, 60.0 60.0
order capture page.
sequence String Order in which the picklist value appears in Small, 60.0 60.0
the picklist.
status String Status of the attribute picklist value. Small, 62.0 62.0
value String Value of the picklist item. Value must be Small, 60.0 60.0
unique within the picklist.
117
Product Catalog Management Product Catalog Management Business APIs
"unitCode": "Pounds"
},
"0hEU200000003KTMAY": {
"id": "0hEU200000003KTMAY",
"name": "Grams",
"roundingMethod": "Down",
"scale": 5,
"unitCode": "Grams"
}
}
}
errorCode Map<String, Unit Of Error codes mapped to their details. Small, 63.0 63.0
ToErrorMap Measure Error>
status Unit Of Measure Status of the API request. Small, 63.0 63.0
Status[]
uomIdToUnit Map<String, Unit Of Unit of measure record IDs mapped to their Small, 63.0 63.0
OfMeasureInfo Measure Info> details.
Data Rounding
Output representation of the data rounding response.
JSON example
{
"keyToUomDataRowOutput": {
"PRC1": {
"key": "PRC1",
"fieldApiNameToFieldDataOutput": {
"MaxQuantity": {
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"isRoundingApplicable": true,
"roundedValue": 1234.56,
"unitOfMeasureId": "uomId1",
"errorCodeToErrorMap" : []
},
"MinQuantity": {
"fieldApiName": "MinQuantity",
"originalValue": 643.1,
"isRoundingApplicable": true,
"roundedValue": 643.1,
118
Product Catalog Management Product Catalog Management Business APIs
"unitOfMeasureId": "uomId1"
}
},
"errorCodeToErrorMap" : []
},
"PRC2": {
"key": "PRC2",
"fieldApiNameToFieldDataOutput": {
"MaxQuantity": {
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"isRoundingApplicable": true,
"roundedValue": 1234.56,
"unitOfMeasureId": "uomId1"
},
"MinQuantity": {
"fieldApiName": "MinQuantity",
"originalValue": 987.4628,
"isRoundingApplicable": true,
"errorCodeToErrorMap": {
"message": "arithrmetic operation"
},
"unitOfMeasureId": "uomId1"
}
},
"errorCodeToErrorMap": []
},
"PRC3": {
"key": "PRC3",
"fieldApiNameToFieldDataOutput": {
"MaxQuantity": {
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"isRoundingApplicable": false,
"unitOfMeasureId": "uomId2"
},
"MinQuantity": {
"fieldApiName": "MinQuantity",
"originalValue": 987.4628,
"isRoundingApplicable": false,
"unitOfMeasureId": "uomId2"
}
},
"errorCodeToErrorMap": []
}
}
}
119
Product Catalog Management Product Catalog Management Business APIs
errorCode Map<String, Unit Of Error codes mapped to their details. Small, 63.0 63.0
ToErrorMap Measure Error>
keyToData Map<String, Data Data row key mapped to the associated data Small, 63.0 63.0
RowOutput Row> row.
status Unit Of Measure Status of the API request. Small, 63.0 63.0
Status[]
Data Row
Output representation of the details of a data row.
JSON example
{
"keyToUomDataRowOutput": {
"PRC1": {
"key": "PRC1",
"fieldApiNameToFieldDataOutput": {
"MaxQuantity": {
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"isRoundingApplicable": true,
"roundedValue": 1234.56,
"unitOfMeasureId": "uomId1",
"errorCodeToErrorMap" : []
},
"MinQuantity": {
"fieldApiName": "MinQuantity",
"originalValue": 643.1,
"isRoundingApplicable": true,
"roundedValue": 643.1,
"unitOfMeasureId": "uomId1"
}
},
"errorCodeToErrorMap" : []
},
"PRC2": {
"key": "PRC2",
"fieldApiNameToFieldDataOutput": {
"MaxQuantity": {
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"isRoundingApplicable": true,
"roundedValue": 1234.56,
"unitOfMeasureId": "uomId1"
},
120
Product Catalog Management Product Catalog Management Business APIs
"MinQuantity": {
"fieldApiName": "MinQuantity",
"originalValue": 987.4628,
"isRoundingApplicable": true,
"errorCodeToErrorMap": {
"message": "arithrmetic operation"
},
"unitOfMeasureId": "uomId1"
}
},
"errorCodeToErrorMap": []
},
"PRC3": {
"key": "PRC3",
"fieldApiNameToFieldDataOutput": {
"MaxQuantity": {
"fieldApiName": "MaxQuantity",
"originalValue": 1234.5678,
"isRoundingApplicable": false,
"unitOfMeasureId": "uomId2"
},
"MinQuantity": {
"fieldApiName": "MinQuantity",
"originalValue": 987.4628,
"isRoundingApplicable": false,
"unitOfMeasureId": "uomId2"
}
},
"errorCodeToErrorMap": []
}
}
}
fieldApi Map<String, Field Map of field API name to associated field Small, 63.0 63.0
NameToField Data> data.
DataOutput
key String Unique key of the data row. Small, 63.0 63.0
Catalog Output
Output representation of the catalog definition.
JSON example
catalogs": [
{
"catalogType": "Sales",
121
Product Catalog Management Product Catalog Management Business APIs
"code": "CAT009",
"description": "SmartBytes B2B Catalog",
"effectiveEndDate": "31-07-2023",
"effectiveStartDate": "24-07-2023",
"id": "0ZS1Q000000XbZAWA0",
"name": "SmartBytes B2B Catalog",
"numberOfCategories": 8
}
]
code String Unique ID associated with the catalog. Small, 60.0 60.0
effective String Date and time from when the catalog isn't Small, 60.0 60.0
EndDate available to the end users.
effective String Date and time from when the catalog is Small, 60.0 60.0
StartDate available to the end users.
Catalogs Output
Output representation of the retrieved catalog result.
JSON example
{
"catalogs": [
{
"catalogType": "Sales",
"code": "CAT009",
"id": "0ZS1Q000000XbZAWA0",
"name": "SmartBytes B2B Catalog",
"numberOfCategories": 8
}
],
"correlationId": "0b7b6a30-895c-407a-91b3-e67482d339a3",
"count": 1,
"status": {
122
Product Catalog Management Product Catalog Management Business APIs
"code": "200",
"errors": [],
"message": "Successfully fetched the catalog records."
}
}
correlationId String Unique token to track and associate related Small, 60.0 60.0
events or transactions across different
components of the application. If
unspecified, a Universally Unique Identifier
(UUID) is generated.
count Integer Total number of the catalog records Small, 60.0 60.0
retrieved after the query execution, wherein
the pageSize property determines the
number of records returned in every page.
Categories Output
Output representation of the retrieved categories result.
JSON example
{
"categories": [
{
"catalogId": "0ZS1Q000000XbZAWA0",
"code": "B2B Category",
"description": "Products Category",
"hasSubCategories": true,
"id": "0ZG1Q000000XbVGWA0",
"name": "Unified Computing",
"numberOfProducts": 2,
"parentCategoryId": "0ZGT100000000qlOAA",
"sortOrder": 2,
"subCategories": [],
"isNavigational: false
}
],
"correlationId": "30230973-0a09-405e-b148-f085bb6dd66e",
"status": {
"code": "200",
"errors": [],
"message": "Successfully fetched the category records."
}
}
123
Product Catalog Management Product Catalog Management Business APIs
correlationId String Unique token to track and associate related Small, 60.0 60.0
events or transactions across different
components of the application. If
unspecified, a Universally Unique Identifier
(UUID) is generated.
Category Output
Output representation of the category definition.
JSON example
"categories": [
{
"catalogId": "0ZS1Q000000XbZAWA0",
"code": "B2B Category",
"description": "Products Category",
"hasSubCategories": true,
"id": "0ZG1Q000000XbVGWA0",
"name": "Unified Computing",
"numberOfProducts": 2,
"parentCategoryId": "0ZGT100000000qlOAA",
"sortOrder": 2,
"subCategories": [],
"isNavigational: false
}
]
code String Unique code of the product category. Small, 60.0 60.0
hasSub Boolean Indicates whether the subcategories are Small, 60.0 60.0
Categories available (true) or not (false).
isNavigational Boolean Indicates whether the category node is Small, 62.0 62.0
navigational (true) or not (false).
124
Product Catalog Management Product Catalog Management Business APIs
numberOf Integer Number of products associated with the Small, 60.0 60.0
Products category.
sortOrder Integer Display order of the product category Small, 60.0 60.0
relative to the siblings with the same parent
category.
subCategories Category Output[] List of subcategories, if available. This Small, 60.0 60.0
property is returned with the Categories List
(GET) API response.
errorMessage String Details of the error message related to the Small, 63.0 63.0
deep clone request.
125
Product Catalog Management Product Catalog Management Business APIs
"entityApiName": "ProductAttributeDefinition",
"entityLabel": "Product Attribute Definition"
}
]
entityApiName String API name of the created object. Small, 63.0 63.0
errorList Deep Clone Error[] Details of errors, if any. Small, 63.0 63.0
126
Product Catalog Management Product Catalog Management Business APIs
isSuccessful Boolean Indicates whether the API request is Small, 63.0 63.0
successful (true) or not (false).
Error Output
Output representation of the error details.
related Invalid Related List of related object nodes with errors. Small, 62.0 62.0
ObjectNodes Object Node[]
source String Name of the API that’s the source of the Small, 60.0 60.0
error.
Facet Value
Output representation of the facet values found in the search result.
JSON example
"values": [
{
"displayName": "Simple",
"nameOrId": "Simple",
"productCount": 9
}
]
nameOrId String Facet value name or ID. Reserved for internal Small, 63.0 63.0
use.
127
Product Catalog Management Product Catalog Management Business APIs
Field Data
Output representation of the field data.
fieldApiName String Unique API Name of the field. Small, 63.0 63.0
roundedValue String Rounded field value that corresponds to the Small, 63.0 63.0
original value, if data rounding is applicable.
unitOf String ID of the unit of measure record that’s Small, 63.0 63.0
MeasureId associated to the field.
Fields Info
Output representation of the metadata fields in an object.
JSON example
"fields": [
{
"dataType": "text",
"isFacetableConfigurable": true,
"isSearchableConfigurable": false,
"label": "Product Name",
"name": "Name",
"type": "Standard"
},
{
"dataType": "multilinetext",
"isFacetableConfigurable": false,
"isSearchableConfigurable": true,
"label": "Product Description",
"name": "Description",
"type": "Standard"
}
]
128
Product Catalog Management Product Catalog Management Business APIs
isFacetable Boolean Indicates whether the field is facetable Small, 63.0 Small, 63.0
Configurable (true) or not (false).
isSearchable Boolean Indicates whether the field is searchable Small, 63.0 Small, 63.0
Configurable (true) or not (false).
129
Product Catalog Management Product Catalog Management Business APIs
"name": "Description",
"type": "Standard"
}
],
"name": "Product2"
},
{
"fields": [
{
"dataType": "stringplusclob",
"label": "Description",
"name": "Description",
"type": "ProductAttributeDefinitionStandard"
},
{
"dataType": "text",
"label": "Name",
"name": "Name",
"type": "ProductAttributeDefinitionStandard"
},
],
"name": "ProductAttributeDefinition"
}
]
},
"statusCode": "200"
}
index Index Configuration Details of the index-configured fields. Small, 62.0 62.0
Configurations Field[]
metadata Metadata[] Details of the metadata for objects. Small, 62.0 62.0
statusCode String Code that indicates the status of the request. Small, 62.0 62.0
130
Product Catalog Management Product Catalog Management Business APIs
"attributeDefinitionId": "0tjT1000000002bIAA",
"name": "Color",
"type": "ProductDynamicAttribute",
"isSearchable": true
},
{
"attributeFieldId": "00Nxx000001FwnABII",
"name": "Message__c",
"type": "Custom",
"isSearchable": true
},
{
"name": "Code",
"type": "Standard",
"isSearchable": true
},
{
"facetDisplayRank": 1,
"isFacetable": false,
"isSearchable": true,
"name": "Family",
"type": "Standard"
}
]
facetDisplay Integer Sort order for displaying the facets at run Small, 63.0 63.0
Rank time.
isFacetable Boolean Indicates whether the field is facetable Small, 63.0 63.0
(true) or not (false).
isSearchable Boolean Indicates whether the index-configured field Small, 62.0 62.0
is searchable (true) or not (false).
131
Product Catalog Management Product Catalog Management Business APIs
"errors": [],
"indexConfigurations": [
{
"attributeDefinitionId": "0tjT1000000002bIAA",
"name": "Color",
"type": "ProductDynamicAttribute",
"isSearchable": true
},
{
"attributeFieldId": "00Nxx000001FwnABII",
"name": "Message__c",
"type": "Custom",
"isSearchable": true
},
{
"name": "Code",
"type": "Standard",
"isSearchable": true
},
{
"facetDisplayRank": 1,
"isFacetable": false,
"isSearchable": true,
"name": "Family",
"type": "Standard"
}
],
"statusCode": "200"
}
index Index Configuration Details of the index-configured fields. Small, 62.0 62.0
Configurations Field[]
statusCode String Code that indicates the status of the request. Small, 62.0 62.0
Index Error
Output representation of the error details related to an index.
JSON example
"indexErrorDetails": {
"errorFileId": "069xx0000004C92AAE",
132
Product Catalog Management Product Catalog Management Business APIs
"indexCreatedDate": "2024-10-03T05:24:18.000Z",
"indexErrorsCount": 1,
"indexLastUpdatedDate": "2024-10-03T05:27:00.000Z",
"itemLevelErrorsCount": 1
}
indexCreated String Date on which the index was created. Small, 63.0 63.0
Date
indexLast String Date on which the index was last updated. Small, 63.0 63.0
UpdatedDate
Index Setting
Output representation of the retrieved index settings.
JSON example
{
"errors": [],
"metadata": {
"activeLanguages": ["en_US","ja","es","nl_NL"]
},
"setting": {
"defaultLanguage": "en_US",
"id": "1JySG0000000GUb0AM",
"supportedLanguages": ["en_US","ja","es","nl_NL"]
},
"statusCode": "200"
}
metadata Setting Metadata[] Metadata associated with the setting. Small, 63.0 63.0
setting Setting[] Setting that’s used in indexing and Small, 63.0 63.0
maintained for an org.
statusCode String Code that indicates the status of the request. Small, 63.0 63.0
133
Product Catalog Management Product Catalog Management Business APIs
setting Setting[] Setting that’s used in indexing and Small, 63.0 63.0
maintained for an org.
statusCode String Code that indicates the status of the API Small, 63.0 63.0
request.
relatedObject String API name of the related object. Small, 62.0 62.0
APIName
Metadata
Output representation of the metadata details for objects.
JSON example
"metadata": {
"objectInfos": [
{
"fields": [
{
"dataType": "text",
134
Product Catalog Management Product Catalog Management Business APIs
"isFacetableConfigurable": true,
"isSearchableConfigurable": false,
"label": "Product Name",
"name": "Name",
"type": "Standard"
},
{
"dataType": "multilinetext",
"isFacetableConfigurable": false,
"isSearchableConfigurable": true,
"label": "Product Description",
"name": "Description",
"type": "Standard"
}
],
"name": "Product2"
},
{
"fields": [
{
"dataType": "stringplusclob",
"label": "Description",
"name": "Description",
"type": "ProductAttributeDefinitionStandard"
},
{
"dataType": "text",
"label": "Name",
"name": "Name",
"type": "ProductAttributeDefinitionStandard"
},
],
"name": "ProductAttributeDefinition"
}
]
}
Object Info
Output representation of the object details along with its fields.
JSON example
"objectInfos": [
{
"fields": [
{
"dataType": "text",
"isFacetableConfigurable": true,
135
Product Catalog Management Product Catalog Management Business APIs
"isSearchableConfigurable": false,
"label": "Product Name",
"name": "Name",
"type": "Standard"
},
{
"dataType": "multilinetext",
"isFacetableConfigurable": false,
"isSearchableConfigurable": true,
"label": "Product Description",
"name": "Description",
"type": "Standard"
}
],
"name": "Product2"
},
{
"fields": [
{
"dataType": "stringplusclob",
"label": "Description",
"name": "Description",
"type": "ProductAttributeDefinitionStandard"
},
{
"dataType": "text",
"label": "Name",
"name": "Name",
"type": "ProductAttributeDefinitionStandard"
},
],
"name": "ProductAttributeDefinition"
}
]
Product Classification
Output representation of the product classification details.
JSON example
"productClassification": {
"id": "11BT10000004C9SMAU",
"name" : "class",
"code" : "code",
"status" : "Active"
}
136
Product Catalog Management Product Catalog Management Business APIs
name String Name of the product classification record. Small, 61.0 61.0
status String Status of the product classification record. Small, 61.0 61.0
137
Product Catalog Management Product Catalog Management Business APIs
"additionalFields":{},
"attributeCategory":[],
"attributes":[],
"catalogs":[],
"categories":[],
"childProducts":[],
"id":"01txx0000006i2TAAQ",
"isActive":true,
"isAssetizable":true,
"isSoldOnlyWithOtherProds":true,
"name":"GenWatt Diesel 10kW",
"nodeType":"simpleProduct",
"productCode":"GC1020",
"productComponentGroups":[],
"productRelatedComponent":{
"childProductId":"01txx0000006i2TAAQ",
"doesBundlePriceIncludeChild":true,
"id":"0dSxx00000001P8EAI",
"isComponentRequired":false,
"isDefaultComponent":true,
"isExcluded":false,
"isQuantityEditable":false,
"parentProductId":"01txx0000006iC8AAI",
"productRelationshipTypeId":"0yoxx000000001dAAA",
"quantity":1,"quantityScaleMethod":"Proportional"
},
"productSellingModelOptions":[]
},
{
"additionalFields":{},
"attributeCategory":[],
"attributes":[],
"catalogs":[],
"categories":[],
"childProducts":[],
"id":"01txx0000006i2SAAQ",
"isActive":true,
"isAssetizable":true,
"isSoldOnlyWithOtherProds":true,
"name":"GenWatt Diesel 200kW",
"nodeType":"simpleProduct",
"productCode":"GC1040",
"productComponentGroups":[],
"productRelatedComponent":
{
"childProductId":"01txx0000006i2SAAQ",
"doesBundlePriceIncludeChild":true,
"id":"0dSxx00000001P9EAI",
"isComponentRequired":false,
"isDefaultComponent":true,
"isExcluded":false,
"isQuantityEditable":false,
"parentProductId":"01txx0000006iC8AAI",
"productRelationshipTypeId":"0yoxx000000001dAAA",
138
Product Catalog Management Product Catalog Management Business APIs
"quantity":1,
"quantityScaleMethod":"Proportional"
},
"productSellingModelOptions":[]
}
],
"id":"0y7xx000000015lAAA",
"isExcluded":false,
"name":"G1.1",
"parentGroupId":"0y7xx0000000149AAA",
"parentProductId":"01txx0000006iC8AAI"
}
],
"components":[],
"id":"0y7xx0000000149AAA",
"isExcluded":false,
"name":"G1",
"parentProductId":"01txx0000006iC8AAI"
}
]
childGroups Product Component List of child product components groups. Small, 62.0 62.0
Group[]
isExcluded Boolean Indicates whether the product component Small, 60.0 60.0
group is excluded from the product bundle
for selection in the run time (true) or not
(false).
parentProduct String ID associated with the parent product Small, 60.0 60.0
Id record.
139
Product Catalog Management Product Catalog Management Business APIs
Product
Output representation of the product definition.
JSON example
This example shows a sample of the Product List (POST) API response.
{
"products": [
{
"additionalFields": {
"code__c": "SWX445"
},
"attributeCategory": [
{
"attributes": [
{
"additionalFields": {
"scope": "Order"
},
"attributeNameOverride": "AD Text",
"code": "AD02",
"dataType": "Text",
"displayType": "Text",
"MinimumCharacterCount": "1",
"MaximumCharacterCount": "20",
"defaultValue": "AD Text DV",
"description": "AD Text Desc",
"helpText": "AD Text DHT",
"id": "0tjT1000000002bIAA",
"isHidden": false,
"isPriceImpacting": true,
"isReadOnly": true,
"isRequired": true,
"label": "AD Text Label",
"name": "AD Text",
"sequence": 1,
"status": "Active",
"valueDescription": "AD Text VD"
}
],
"code": "AC001",
"id": "0v3T1000000000BIAQ",
"name": "build and make"
}
],
"attributes": [
{
140
Product Catalog Management Product Catalog Management Business APIs
"additionalFields": {
"scope": "SWX445"
},
"attributeNameOverride": "AD Picklist",
"code": "AD001",
"dataType": "Picklist",
"defaultValue": "Red",
"description": "AD Picklist Description",
"helpText": "AD Picklist DHT",
"id": "0tjT1000000002WIAQ",
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "AD Picklist Label",
"name": "AD Picklist",
"picklist": {
"dataType": "Text",
"description": "APV Description",
"id": "0v5T10000000001IAA",
"name": "Color",
"values": [
{
"abbreviation": "Blue Abb",
"code": "APV03",
"displayValue": "Blue DV",
"id": "0v6T10000000006IAA",
"name": "Blue",
"sequence": "3",
"value": "Blue b",
"status": "Active"
},
{
"abbreviation": "Red Abb",
"code": "APV04",
"displayValue": "Red",
"id": "0v6T10000000001IAA",
"name": "Red",
"sequence": "4",
"value": "Red",
"status": "Active"
},
{
"abbreviation": "One Abb",
"code": "APV02",
"displayValue": "One DV",
"id": "0v6T1000000000uIAA",
"name": "One",
"sequence": "2",
"value": "One 1",
"status": "Active"
},
{
"abbreviation": "Red Abbreviation",
141
Product Catalog Management Product Catalog Management Business APIs
"code": "APV01",
"displayValue": "Red Display Value",
"id": "0v6T1000000001OIAQ",
"name": "Red",
"sequence": "1",
"value": "red12",
"status": "Active"
}
]
},
"sequence": 1,
"status": "Active",
"valueDescription": "AD Picklist VD"
}
],
"categories": [],
"childProducts": [
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"configureDuringSale": "NotAllowed",
"id": "01tZ7000000AJkaIAG",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Earphones",
"nodeType": "bundleProduct",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tZ7000000AJkaIAG",
"doesBundlePriceIncludeChild": true,
"id": "0dSZ700000000cdMAA",
"isComponentRequired": false,
"isDefaultComponent": true,
"isExcluded": false,
"isQuantityEditable": false,
"parentProductId": "01tZ7000000AJXOIA4",
"productRelationshipTypeId": "0yoZ700000000kPIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": []
}
],
"description": "Keep your organization connected with seamless collaboration across
distributed teams. No matter where employees are located, organizations are seeking
stronger employee engagement and customer experiences to enable more productivity and
greater business agility. More effective collaboration helps organizations work smarter.",
"displayUrl":
"https://dispatch.m.io/wp-content/uploads/2023/01/History-of-Webex.png",
"id": "01t1Q000008CD2eQAG",
142
Product Catalog Management Product Catalog Management Business APIs
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "SmartBytes Collaboration Suite",
"nodeType": "bundleProduct",
"productClassification": {
"id": "11B1Q0000008OMGUA2"
},
"productCode": "P0143",
"productComponentGroups": [
{
"components": [
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"id": "01tZ7000000AJXTIA4",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Charger",
"nodeType": "bundleProduct",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tZ7000000AJXTIA4",
"doesBundlePriceIncludeChild": true,
"id": "0dSZ700000000YLMAY",
"isComponentRequired": false,
"isDefaultComponent": true,
"isExcluded": false,
"isQuantityEditable": false,
"parentProductId": "01tZ7000000AJXOIA4",
"productRelationshipTypeId": "0yoZ700000000kPIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": []
}
],
"id": "0y7Z700000000TtIAI",
"isExcluded": false,
"name": "Box",
"parentProductId": "01tZ7000000AJXOIA4"
}
],
"productSellingModelOptions": [
{
"id": "0iO1Q0000008OkeUAE",
"productId": "01t1Q000008CD2eQAG",
"productSellingModel": {
"id": "0jP1Q000000CaVFUA0",
"isDefault": true,
"name": "One Time",
143
Product Catalog Management Product Catalog Management Business APIs
"sellingModelType": "OneTime",
"status": "Active"
}
}
],
"productSpecificationType": {
"name": "None"
}
}
],
"status": {
"code": "200",
"correlationId": "fd158d80-d73c-4a1f-a009-9225db804d70",
"errors": [],
"message": "Successfully fetched product records."
}
}
This example shows a sample of the Bulk Product Details (POST) API response.
{
"products": [
{
"additionalFields": {
"code__c": "SWX445"
},
"attributeCategory": [
{
"attributes": [
{
"additionalFields": {
"scope": "Order"
},
"attributeNameOverride": "AD Text",
"code": "AD02",
"dataType": "Text",
"displayType": "Text",
"MinimumCharacterCount": "1",
"MaximumCharacterCount": "20",
"defaultValue": "AD Text DV",
"description": "AD Text Desc",
"helpText": "AD Text DHT",
"id": "0tjT1000000002bIAA",
"isHidden": false,
"isPriceImpacting": true,
"isReadOnly": true,
"isRequired": true,
"label": "AD Text Label",
"name": "AD Text",
"sequence": 1,
"status": "Active",
"valueDescription": "AD Text VD"
}
],
"code": "AC001",
144
Product Catalog Management Product Catalog Management Business APIs
"id": "0v3T1000000000BIAQ",
"name": "build and make"
}
],
"attributes": [
{
"additionalFields": {
"scope": "SWX445"
},
"attributeNameOverride": "AD Picklist",
"code": "AD001",
"dataType": "Picklist",
"defaultValue": "Red",
"description": "AD Picklist Description",
"helpText": "AD Picklist DHT",
"id": "0tjT1000000002WIAQ",
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "AD Picklist Label",
"name": "AD Picklist",
"picklist": {
"dataType": "Text",
"description": "APV Description",
"id": "0v5T10000000001IAA",
"name": "Color",
"values": [
{
"abbreviation": "Blue Abb",
"code": "APV03",
"displayValue": "Blue DV",
"id": "0v6T10000000006IAA",
"name": "Blue",
"sequence": "3",
"value": "Blue b",
"status": "Active"
},
{
"abbreviation": "Red Abb",
"code": "APV04",
"displayValue": "Red",
"id": "0v6T10000000001IAA",
"name": "Red",
"sequence": "4",
"value": "Red",
"status": "Active"
},
{
"abbreviation": "One Abb",
"code": "APV02",
"displayValue": "One DV",
"id": "0v6T1000000000uIAA",
"name": "One",
145
Product Catalog Management Product Catalog Management Business APIs
"sequence": "2",
"value": "One 1",
"status": "Active"
},
{
"abbreviation": "Red Abbreviation",
"code": "APV01",
"displayValue": "Red Display Value",
"id": "0v6T1000000001OIAQ",
"name": "Red",
"sequence": "1",
"value": "red12",
"status": "Active"
}
]
},
"sequence": 1,
"status": "Active",
"valueDescription": "AD Picklist VD"
}
],
"categories": [],
"childProducts": [
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"configureDuringSale": "NotAllowed",
"id": "01tZ7000000AJkaIAG",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Earphones",
"nodeType": "bundleProduct",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tZ7000000AJkaIAG",
"doesBundlePriceIncludeChild": true,
"id": "0dSZ700000000cdMAA",
"isComponentRequired": false,
"isDefaultComponent": true,
"isExcluded": false,
"isQuantityEditable": false,
"parentProductId": "01tZ7000000AJXOIA4",
"productRelationshipTypeId": "0yoZ700000000kPIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": []
}
],
"description": "Keep your organization connected with seamless collaboration across
distributed teams. No matter where employees are located, organizations are seeking
146
Product Catalog Management Product Catalog Management Business APIs
stronger employee engagement and customer experiences to enable more productivity and
greater business agility. More effective collaboration helps organizations work smarter.",
"displayUrl":
"https://dispatch.m.io/wp-content/uploads/2023/01/History-of-Webex.png",
"id": "01t1Q000008CD2eQAG",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "SmartBytes Collaboration Suite",
"nodeType": "bundleProduct",
"productClassification": {
"id": "11B1Q0000008OMGUA2",
"name" : "class",
"code" : "code",
"status" : "Active"
},
"productCode": "P0143",
"productComponentGroups": [
{
"components": [
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"id": "01tZ7000000AJXTIA4",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Charger",
"nodeType": "bundleProduct",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tZ7000000AJXTIA4",
"doesBundlePriceIncludeChild": true,
"id": "0dSZ700000000YLMAY",
"isComponentRequired": false,
"isDefaultComponent": true,
"isExcluded": false,
"isQuantityEditable": false,
"parentProductId": "01tZ7000000AJXOIA4",
"productRelationshipTypeId": "0yoZ700000000kPIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": []
}
],
"id": "0y7Z700000000TtIAI",
"isExcluded": false,
"name": "Box",
"parentProductId": "01tZ7000000AJXOIA4"
}
147
Product Catalog Management Product Catalog Management Business APIs
],
"productSellingModelOptions": [
{
"id": "0iO1Q0000008OkeUAE",
"productId": "01t1Q000008CD2eQAG",
"productSellingModel": {
"id": "0jP1Q000000CaVFUA0",
"isDefault": true,
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
}
}
],
"productSpecificationType": {
"name": "None"
}
}
],
"status": {
"code": "200",
"correlationId": "fd158d80-d73c-4a1f-a009-9225db804d70",
"errors": [],
"message": "Successfully fetched product records."
}
}
148
Product Catalog Management Product Catalog Management Business APIs
}
],
"code": "AC001",
"id": "0v3T1000000000BIAQ",
"name": "build and make"
}
],
"attributes": [
{
"attributeNameOverride": "AD Picklist",
"code": "AD001",
"dataType": "Picklist",
"defaultValue": "Red",
"description": "AD Picklist Description",
"helpText": "AD Picklist DHT",
"id": "0tjT1000000002WIAQ",
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "AD Picklist Label",
"name": "AD Picklist",
"picklist": {
"dataType": "Text",
"description": "APV Description",
"id": "0v5T10000000001IAA",
"name": "Color",
"values": [
{
"abbreviation": "Blue Abb",
"code": "APV03",
"displayValue": "Blue DV",
"id": "0v6T10000000006IAA",
"name": "Blue",
"sequence": "3",
"value": "Blue b",
"status": "Active"
},
{
"abbreviation": "Red Abb",
"code": "APV04",
"displayValue": "Red",
"id": "0v6T10000000001IAA",
"name": "Red",
"sequence": "4",
"value": "Red",
"status": "Active"
},
{
"abbreviation": "One Abb",
"code": "APV02",
"displayValue": "One DV",
"id": "0v6T1000000000uIAA",
"name": "One",
149
Product Catalog Management Product Catalog Management Business APIs
"sequence": "2",
"value": "One 1",
"status": "Active"
},
{
"abbreviation": "Red Abbreviation",
"code": "APV01",
"displayValue": "Red Display Value",
"id": "0v6T1000000001OIAQ",
"name": "Red",
"sequence": "1",
"value": "red12",
"status": "Active"
}
]
},
"sequence": 1,
"status": "Active",
"valueDescription": "AD Picklist VD"
}
],
"availabilityDate": "2023-07-12T19:00:00.000Z",
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"description": "Bundle Product Description",
"discontinuedDate": "2023-07-27T19:00:00.000Z",
"displayUrl": "www.google.com",
"endOfLifeDate": "2023-07-31T19:00:00.000Z",
"id": "01tT1000000F0afIAC",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": true,
"name": "Bundle Product",
"nodeType": "bundleProduct",
"productClassification": {
"id": "11BT10000004C9SMAU",
"name" : "class",
"code" : "code",
"status" : "Active"
},
"productCode": "P001",
"productComponentGroups": [
{
"code": "PCG002",
"components": [
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"nodeType": "productClass",
"productClassification": {
"id": "11BT10000004C9SMAU",
150
Product Catalog Management Product Catalog Management Business APIs
"name" : "class",
"code" : "code",
"status" : "Active"
},
"productComponentGroups": [],
"productRelatedComponent": {
"childSellingModelId": "0jPT10000004CAfMAM",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rlMAA",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": true,
"maxQuantity": 5,
"minQuantity": 1,
"parentProductId": "01tT1000000F0afIAC",
"productClassificationId": "11BT10000004C9SMAU",
"productRelationshipTypeId": "0yoT10000004CBEIA2",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 2,
"isExcluded": false
},
"productSellingModelOptions": []
}
],
"description": "PCG002 desc",
"id": "0y7T10000004C9IIAU",
"maxBundleComponents": 5,
"minBundleComponents": 1,
"name": "PCG002",
"parentProductId": "01tT1000000F0afIAC",
"sequence": 2,
"isExcluded": false
},
{
"code": "PCG001",
"components": [
{
"attributeCategory": [],
"attributes": [
{
"attributeNameOverride": "AD Picklist",
"code": "AD001",
"dataType": "Picklist",
"defaultValue": "Red",
"description": "AD Picklist Description",
"helpText": "AD Picklist DHT",
"id": "0tjT1000000002WIAQ",
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "AD Picklist Label",
"name": "AD Picklist",
151
Product Catalog Management Product Catalog Management Business APIs
"picklist": {
"dataType": "Text",
"description": "APV Description",
"id": "0v5T10000000001IAA",
"name": "Color",
"values": [
{
"abbreviation": "Blue Abb",
"code": "APV03",
"displayValue": "Blue DV",
"id": "0v6T10000000006IAA",
"name": "Blue",
"sequence": "3",
"value": "Blue b",
"status": "Active"
},
{
"abbreviation": "Red Abb",
"code": "APV04",
"displayValue": "Red",
"id": "0v6T10000000001IAA",
"name": "Red",
"sequence": "4",
"value": "Red",
"status": "Active"
},
{
"abbreviation": "One Abb",
"code": "APV02",
"displayValue": "One DV",
"id": "0v6T1000000000uIAA",
"name": "One",
"sequence": "2",
"value": "One 1",
"status": "Active"
},
{
"abbreviation": "Red Abbreviation",
"code": "APV01",
"displayValue": "Red Display Value",
"id": "0v6T1000000001OIAQ",
"name": "Red",
"sequence": "1",
"value": "red12",
"status": "Active"
}
]
},
"sequence": 1,
"status": "Active",
"valueDescription": "AD Picklist VD"
},
{
"attributeNameOverride": "AD Text",
152
Product Catalog Management Product Catalog Management Business APIs
"code": "AD02",
"dataType": "Text",
"displayType": "Text",
"MinimumCharacterCount": "1",
"MaximumCharacterCount": "20",
"defaultValue": "AD Text DV",
"description": "AD Text Desc",
"helpText": "AD Text DHT",
"id": "0tjT1000000002bIAA",
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "AD Text Label",
"name": "AD Text",
"status": "Active",
"valueDescription": "AD Text VD"
}
],
"availabilityDate": "2023-07-17T19:00:00.000Z",
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"description": "P003 desc",
"discontinuedDate": "2023-07-19T19:00:00.000Z",
"displayUrl": "www.google.com",
"endOfLifeDate": "2023-07-28T19:00:00.000Z",
"id": "01tT1000000F0YyIAK",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Child1 - Bundle with PCG",
"nodeType": "bundleProduct",
"productClassification": {
"id": "11BT10000004C9SMAU",
"name" : "class",
"code" : "code",
"status" : "Active"
},
"productCode": "P003",
"productComponentGroups": [
{
"code": "PCG2",
"components": [
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"id": "01tT1000000F0Z8IAK",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Super Child2 - Bundle with PCG",
153
Product Catalog Management Product Catalog Management Business APIs
"nodeType": "bundleProduct",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tT1000000F0Z8IAK",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rWMAQ",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01tT1000000F0YyIAK",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 2,
"isExcluded": false
},
"productSellingModelOptions": [],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
},
{
"attributeCategory": [],
"attributes": [],
"availabilityDate": "2023-07-15T19:00:00.000Z",
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"discontinuedDate": "2023-07-16T19:00:00.000Z",
"displayUrl": "Test",
"endOfLifeDate": "2023-07-17T19:00:00.000Z",
"id": "01tT1000000F0YzIAK",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "SuperChild1 - Bundle with PCG",
"nodeType": "bundleProduct",
"productCode": "Test",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tT1000000F0YzIAK",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rXMAQ",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01tT1000000F0YyIAK",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 1,
"isExcluded": false
},
154
Product Catalog Management Product Catalog Management Business APIs
"productSellingModelOptions": [],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
},
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"id": "01tT1000000F0apIAC",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Bundle2",
"nodeType": "bundleProduct",
"productCode": "PC003",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tT1000000F0apIAC",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rqMAA",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01tT1000000F0YyIAK",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"isExcluded": false
},
"productSellingModelOptions": [],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
}
],
"description": "Group for components at level 2",
"id": "0y7T10000004C98IAE",
"maxBundleComponents": 5,
"minBundleComponents": 1,
"name": "PCG2",
"parentProductId": "01tT1000000F0YyIAK",
"isExcluded": false
}
],
"productRelatedComponent": {
"childProductId": "01tT1000000F0YyIAK",
"childSellingModelId": "0jPT10000004CAfMAM",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rgMAA",
155
Product Catalog Management Product Catalog Management Business APIs
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": true,
"maxQuantity": 3,
"minQuantity": 1,
"parentProductId": "01tT1000000F0afIAC",
"parentSellingModelId": "0jPT10000004CAfMAM",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 1,
"isExcluded": false
},
"productSellingModelOptions": [
{
"id": "0iOT10000004CMrMAM",
"productId": "01tT1000000F0YyIAK",
"isDefault": false,
"productSellingModel": {
"id": "0jPT10000004CAfMAM",
"name": "OneTimePSM",
"sellingModelType": "OneTime",
"status": "Active"
}
}
],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
}
],
"description": "PCG001 Description",
"id": "0y7T10000004C9DIAU",
"maxBundleComponents": 5,
"minBundleComponents": 1,
"name": "PCG001",
"parentProductId": "01tT1000000F0afIAC",
"sequence": 1,
"isExcluded": false
}
],
"productSellingModelOptions": [
{
"id": "0iOT10000004CMmMAM",
"productId": "01tT1000000F0afIAC",
"productSellingModel": {
"id": "0jPT10000004CAfMAM",
"name": "OneTimePSM",
"sellingModelType": "OneTime",
"status": "Active"
}
}
],
156
Product Catalog Management Product Catalog Management Business APIs
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
},
{
"attributeCategory": [
{
"attributes": [
{
"attributeNameOverride": "AD Text",
"code": "AD02",
"dataType": "Text",
"displayType": "Text",
"MinimumCharacterCount": "1",
"MaximumCharacterCount": "20",
"defaultValue": "AD Text DV",
"description": "AD Text Desc",
"helpText": "AD Text DHT",
"id": "0tjT1000000002bIAA",
"isHidden": false,
"isPriceImpacting": true,
"isReadOnly": true,
"isRequired": true,
"label": "AD Text Label",
"name": "AD Text",
"sequence": 1,
"status": "Active",
"valueDescription": "AD Text VD"
}
],
"code": "AC001",
"id": "0v3T1000000000BIAQ",
"name": "build and make"
}
],
"attributes": [
{
"attributeNameOverride": "AD Picklist",
"code": "AD001",
"dataType": "Picklist",
"defaultValue": "Red",
"description": "AD Picklist Description",
"helpText": "AD Picklist DHT",
"id": "0tjT1000000002WIAQ",
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "AD Picklist Label",
"name": "AD Picklist",
"picklist": {
"dataType": "Text",
"description": "APV Description",
157
Product Catalog Management Product Catalog Management Business APIs
"id": "0v5T10000000001IAA",
"name": "Color",
"values": [
{
"abbreviation": "Blue Abb",
"code": "APV03",
"displayValue": "Blue DV",
"id": "0v6T10000000006IAA",
"name": "Blue",
"sequence": "3",
"value": "Blue b",
"status": "Active"
},
{
"abbreviation": "Red Abb",
"code": "APV04",
"displayValue": "Red",
"id": "0v6T10000000001IAA",
"name": "Red",
"sequence": "4",
"value": "Red",
"status": "Active"
},
{
"abbreviation": "One Abb",
"code": "APV02",
"displayValue": "One DV",
"id": "0v6T1000000000uIAA",
"name": "One",
"sequence": "2",
"value": "One 1",
"status": "Active"
},
{
"abbreviation": "Red Abbreviation",
"code": "APV01",
"displayValue": "Red Display Value",
"id": "0v6T1000000001OIAQ",
"name": "Red",
"sequence": "1",
"value": "red12",
"status": "Active"
}
]
},
"sequence": 1,
"status": "Active",
"valueDescription": "AD Picklist VD"
}
],
"availabilityDate": "2023-07-12T19:00:00.000Z",
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
158
Product Catalog Management Product Catalog Management Business APIs
159
Product Catalog Management Product Catalog Management Business APIs
160
Product Catalog Management Product Catalog Management Business APIs
},
{
"abbreviation": "One Abb",
"code": "APV02",
"displayValue": "One DV",
"id": "0v6T1000000000uIAA",
"name": "One",
"sequence": "2",
"value": "One 1",
"status": "Active"
},
{
"abbreviation": "Red Abbreviation",
"code": "APV01",
"displayValue": "Red Display Value",
"id": "0v6T1000000001OIAQ",
"name": "Red",
"sequence": "1",
"value": "red12",
"status": "Active"
}
]
},
"sequence": 1,
"status": "Active",
"valueDescription": "AD Picklist VD"
},
{
"attributeNameOverride": "AD Text",
"code": "AD02",
"dataType": "Text",
"displayType": "Text",
"MinimumCharacterCount": "1",
"MaximumCharacterCount": "20",
"defaultValue": "AD Text DV",
"description": "AD Text Desc",
"helpText": "AD Text DHT",
"id": "0tjT1000000002bIAA",
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "AD Text Label",
"name": "AD Text",
"status": "Active",
"valueDescription": "AD Text VD"
}
],
"availabilityDate": "2023-07-17T19:00:00.000Z",
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"description": "P003 desc",
"discontinuedDate": "2023-07-19T19:00:00.000Z",
161
Product Catalog Management Product Catalog Management Business APIs
"displayUrl": "www.google.com",
"endOfLifeDate": "2023-07-28T19:00:00.000Z",
"id": "01tT1000000F0YyIAK",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Child1 - Bundle with PCG",
"nodeType": "bundleProduct",
"productClassification": {
"id": "11BT10000004C9SMAU",
"name" : "class",
"code" : "code",
"status" : "Active"
},
"productCode": "P003",
"productComponentGroups": [
{
"code": "PCG2",
"components": [
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"id": "01tT1000000F0Z8IAK",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Super Child2 - Bundle with PCG",
"nodeType": "bundleProduct",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tT1000000F0Z8IAK",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rWMAQ",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01tT1000000F0YyIAK",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 2,
"isExcluded": false
},
"productSellingModelOptions": [],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
},
{
"attributeCategory": [],
"attributes": [],
162
Product Catalog Management Product Catalog Management Business APIs
"availabilityDate": "2023-07-15T19:00:00.000Z",
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"discontinuedDate": "2023-07-16T19:00:00.000Z",
"displayUrl": "Test",
"endOfLifeDate": "2023-07-17T19:00:00.000Z",
"id": "01tT1000000F0YzIAK",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "SuperChild1 - Bundle with PCG",
"nodeType": "bundleProduct",
"productCode": "Test",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tT1000000F0YzIAK",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rXMAQ",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01tT1000000F0YyIAK",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 1,
"isExcluded": false
},
"productSellingModelOptions": [],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
},
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"id": "01tT1000000F0apIAC",
"isActive": false,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Bundle2",
"nodeType": "bundleProduct",
"productCode": "PC003",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01tT1000000F0apIAC",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rqMAA",
"isComponentRequired": false,
163
Product Catalog Management Product Catalog Management Business APIs
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01tT1000000F0YyIAK",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"isExcluded": false
},
"productSellingModelOptions": [],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
}
],
"description": "Group for components at level 2",
"id": "0y7T10000004C98IAE",
"maxBundleComponents": 5,
"minBundleComponents": 1,
"name": "PCG2",
"parentProductId": "01tT1000000F0YyIAK",
"isExcluded": false
}
],
"productRelatedComponent": {
"childProductId": "01tT1000000F0YyIAK",
"childSellingModelId": "0jPT10000004CAfMAM",
"doesBundlePriceIncludeChild": true,
"id": "0dST100000000rgMAA",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": true,
"maxQuantity": 3,
"minQuantity": 1,
"parentProductId": "01tT1000000F0afIAC",
"parentSellingModelId": "0jPT10000004CAfMAM",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 1,
"isExcluded": false
},
"productSellingModelOptions": [
{
"id": "0iOT10000004CMrMAM",
"productId": "01tT1000000F0YyIAK",
"isDefault": false,
"productSellingModel": {
"id": "0jPT10000004CAfMAM",
"name": "OneTimePSM",
"sellingModelType": "OneTime",
"status": "Active"
}
}
164
Product Catalog Management Product Catalog Management Business APIs
],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
}
],
"description": "PCG001 Description",
"id": "0y7T10000004C9DIAU",
"maxBundleComponents": 5,
"minBundleComponents": 1,
"name": "PCG001",
"parentProductId": "01tT1000000F0afIAC",
"sequence": 1,
"isExcluded": false
}
],
"productSellingModelOptions": [
{
"id": "0iOT10000004CMmMAM",
"productId": "01tT1000000F0afIAC",
"productSellingModel": {
"id": "0jPT10000004CAfMAM",
"name": "OneTimePSM",
"sellingModelType": "OneTime",
"status": "Active"
}
}
],
"productSpecificationType": {
"name": "NonCommercialSpecType",
"productSpecificationRecordType": null
}
}
],
"status": {
"code": "200",
"correlationId": "fd158d80-d73c-4a1f-a009-9225db804d70",
"errors": [],
"message": "Successfully fetched Product records."
}
}
attribute Attribute Category[] List of categorized attributes related to the Small, 60.0 60.0
Category product.
165
Product Catalog Management Product Catalog Management Business APIs
availability String Date when the part is used in the product Small, 60.0 60.0
Date or is made available for sale.
catalogs Catalog[] List of the associated catalogs returned with Small, 61.0 61.0
the Product List API (POST) response. The
Product By ID API (GET) returns an empty
catalog list in the response.
Returns the name and id values only.
categories Category[] List of the associated categories returned Small, 60.0 60.0
with the Product List API (POST) response.
The Product By ID API (GET) returns an
empty category list in the response.
Returns the name and id values only.
discontinued String Date from when the part can’t be used in Small, 60.0 60.0
Date the product or sold.
displayUrl String Display image URL of the product. Small, 60.0 60.0
endOfLifeDate String Date after which a product isn’t supported, Small, 60.0 60.0
ordered, or maintained.
isActive Boolean Indicates if the product is active (true) or Small, 60.0 60.0
not (false).
isAssetizable Boolean Indicates if the product instance remains a Small, 60.0 60.0
customer asset after it's purchased (true)
or not (false).
isSoldOnly Boolean Indicates whether the product can't be sold Small, 60.0 60.0
WithOther separately (true) or not (false).
Prods
166
Product Catalog Management Product Catalog Management Business APIs
nodeType String Type of the node, such as a product or Small, 60.0 60.0
bundled product.
product Product Details of the product classification that the Small, 60.0 60.0
Classification Classification product is based on.
productCode String Universal product code that's used to track Small, 60.0 60.0
the part that’s used in the product.
product Product Component Logical grouping of the component Small, 60.0 60.0
Component Group[] products in a bundle and the group
Groups cardinality for ordering the product
components.
product Product Related Details of the related components of a Small, 60.0 60.0
Related Component product.
Component
product Product Selling Details of the product selling model options. Small, 60.0 60.0
SellingModel Model Option[]
Options
product Product Specification Details of the product specification type. Small, 60.0 60.0
Specification Type
Type
quantityScale String Method to scale the quantity of the child Small, 60.0 60.0
Method product in relation to the quantity of the
parent.
167
Product Catalog Management Product Catalog Management Business APIs
"parentProductId": "01tT1000000F0afIAC",
"parentSellingModelId": "0jPT10000004CAfMAM",
"productClassificationId": "11BRO00000000222AA",
"productRelationshipTypeId": "0yoT1000000002WIAQ",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 1
}
childSelling String ID of the child product selling model record. Small, 60.0 60.0
ModelId
doesBundle Boolean Indicates whether the price of the bundle Small, 60.0 60.0
PriceInclude includes the child product (true) or not
Child (false).
isDefault Boolean Indicates whether to select the component Small, 60.0 60.0
Component in the bundle group by default (true) or
not (false).
isQuantity Boolean Indicates whether to allow changes to the Small, 60.0 60.0
Editable quantity of the component in the bundle
(true) or not (false).
maxQuantity Double Maximum quantity of the product in the Small, 60.0 60.0
opportunity, quote, or order line item.
minQuantity Double Minimum quantity of the product in the Small, 60.0 60.0
opportunity, quote, or order line item.
parentSelling String ID of the product selling model record. Small, 60.0 60.0
ModelId
168
Product Catalog Management Product Catalog Management Business APIs
product String ID of the product relationship type record. Small, 60.0 60.0
Relationship
TypeId
quantityScale String Method to scale the quantity of the child Small, 60.0 60.0
Method product in relation to the quantity of the
parent.
sequence Integer Order in which the child products are Small, 60.0 60.0
displayed.
sellingModel String Different models of selling the product. Valid Small, 60.0 60.0
Type values are:
• OneTime
• TermDefined
• Evergreen
169
Product Catalog Management Product Catalog Management Business APIs
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
JSON example
"productSellingModelOptions": [
{
"id": "0iOT10000004CMrMAM",
"isDefault": false,
"productId": "01tT1000000F0YyIAK",
"productSellingModel": {
"id": "0jPT10000004CAfMAM",
"name": "OneTimePSM",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
}
}]
isDefault Boolean Indicates whether this model option is the Small, 60.0 60.0
default product selling model option
(true) or not (false).
product Product Selling Master-detail field to the product selling Small, 60.0 60.0
SellingModel Model model.
170
Product Catalog Management Product Catalog Management Business APIs
"name": "NonCommercialSpecType",
}
Products
Output representation of the list of retrieved products.
JSON example
{
"correlationId": "9b6bc520-3c82-4d6c-a458-47590370681a",
"facets":[
{
"attributeType": "ProductStandard",
"displayName": "Product Type",
"displayRank": 1,
"displayType": "MultiSelect",
"nameOrId": "Type",
"values": [
{
"displayName": "Simple",
"nameOrId": "Simple",
"productCount": 9
}
]
},
{
"attributeType": "ProductStandard",
"displayName": "Active",
"displayRank": 2,
"displayType": "MultiSelect",
"nameOrId": "IsActive",
"values": [
{
"displayName": "true",
"nameOrId": "true",
"productCount": 47
}
]
}
],
"count": 3,
"products": [
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"description": "Keep your organization connected with seamless collaboration across
171
Product Catalog Management Product Catalog Management Business APIs
distributed teams. No matter where employees are located, organizations are seeking
stronger employee engagement and customer experiences to enable more productivity and
greater business agility. More effective collaboration helps organizations work smarter.",
"displayUrl":
"https://dispatch.m.io/wp-content/uploads/2023/01/History-of-Webex.png",
"id": "01t1Q000008CD2eQAG",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "SmartBytes Collaboration Suite",
"nodeType": "bundleProduct",
"productClassification": {
"id": "11B1Q0000008OMGUA2"
},
"productCode": "P0143",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iO1Q0000008OkeUAE",
"productId": "01t1Q000008CD2eQAG",
"productSellingModel": {
"id": "0jP1Q000000CaVFUA0",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
}
}
],
"productSpecificationType": {
"name": "None"
}
},
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"displayUrl":
"https://www.cisco.com/c/dam/en/us/products/collateral/wireless/small-business-300-series-wireless-access-points/datasheet-c78-732143.doc/_jcr_content/renditions/datasheet-c78-732143_1.jpg",
"id": "01t1Q000008CD36QAG",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "SmartBytes Repeater",
"nodeType": "simpleProduct",
"productClassification": {
"id": "11B1Q0000008OMMUA2"
},
"productCode": "BS_R001",
"productComponentGroups": [],
"productSellingModelOptions": [
172
Product Catalog Management Product Catalog Management Business APIs
{
"id": "0iO1Q0000008OlsUAE",
"productId": "01t1Q000008CD36QAG",
"productSellingModel": {
"id": "0jP1Q000000CaVFUA0",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
}
}
],
"productSpecificationType": {
"name": "COM_Offer"
}
},
{
"attributeCategory": [],
"attributes": [],
"categories": [],
"childProducts": [],
"configureDuringSale": "Allowed",
"description": "A converged data center architecture that integrates computing,
networking and storage resources to increase efficiency and enable centralized management.
UCS products are designed and configured to work together effectively.",
"displayUrl":
"https://www.cisco.com/c/dam/en/us/products/collateral/servers-unified-computing/ucs-x-series-modular-system/sap-hana-scaleup-appliance-with-xseries-wp.docx/_jcr_content/renditions/sap-hana-scaleup-appliance-with-xseries-wp_3.png",
"id": "01t1Q000008CD2sQAG",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "SmartBytes Unified Computing System",
"nodeType": "bundleProduct",
"productCode": "P0157",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iO1Q0000008OkzUAE",
"productId": "01t1Q000008CD2sQAG",
"productSellingModel": {
"id": "0jP1Q000000CaVFUA0",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
}
},
{
"id": "0iO1Q0000008OlWUAU",
"productId": "01t1Q000008CD2sQAG",
"productSellingModel": {
"id": "0jP1Q000000CaVHUA0",
"name": "Evergreen",
"pricingTerm": 1,
"pricingTermUnit": "Months",
173
Product Catalog Management Product Catalog Management Business APIs
"sellingModelType": "Evergreen",
"status": "Active"
}
}
],
"productSpecificationType": {
"name": "None"
}
}
],
"status": {
"code": "200",
"errors": [],
"message": "Successfully fetched the product records."
}
}
count Integer Total count of the products matching the Small, 60.0 60.0
request query.
facets Search Facet Details of the faceted search. This property Small, 63.0 63.0
is applicable if the Use Indexed Data For
Product Listing and Search toggle from
the Product Discovery Settings page from
Setup is enabled.
products Product[] List of products matching the request query. Small, 60.0 60.0
174
Product Catalog Management Product Catalog Management Business APIs
"ProductId": "01txx0000006i44AAA",
"Id": "1FTxx0000004CDtGAM",
"Name": "PPRS-000000005"
},
{
"SegmentType": "FreeTrial",
"DurationType": "Days",
"TrialDuration": null,
"ProductSellingModelId": "0jPxx000000001dEAA",
"ProductId": "01txx0000006i44AAA",
"Id": "1FTxx0000004CFUGA2",
"Name": "PPRS-000000006"
}
],
"relatedObjectAPIName": "ProductRampSegment"
},
{
"count": 2,
"records": [
{
"UsageMetricId": "1BRxx0000004CAeGAM",
"UsageMetricName": "Test Usage Metric 2",
"UsageDefinitionProductId": null,
"Label": "PUG-103",
"Quantity": 100,
"Id": "1BXxx0000004CCGGA2"
},
{
"UsageMetricId": "1BRxx0000004CCGGA2",
"UsageMetricName": "Test Usage Metric 3",
"UsageDefinitionProductId": "01txx0000006i2eAAA",
"Label": "PUG-105",
"Quantity": 500,
"Id": "1BXxx0000004CFUGA2"
}
],
"relatedObjectAPIName": "ProductUsageGrant"
}
]
relatedObject String API name of the related object to return the Small, 62.0 62.0
APIName records for.
175
Product Catalog Management Product Catalog Management Business APIs
Related Records
Output representation of the list of relatedObject records for a specified record ID.
JSON example
"relatedRecords": [
{
"recordId": "01txx0000006i44AAA",
"relatedObjectRecords": [
{
"count": 2,
"records": [
{
"SegmentType": "Yearly",
"DurationType": "Months",
"TrialDuration": null,
"ProductSellingModelId": "0jPxx000000001dEAA",
"ProductId": "01txx0000006i44AAA",
"Id": "1FTxx0000004CDtGAM",
"Name": "PPRS-000000005"
},
{
"SegmentType": "FreeTrial",
"DurationType": "Days",
"TrialDuration": null,
"ProductSellingModelId": "0jPxx000000001dEAA",
"ProductId": "01txx0000006i44AAA",
"Id": "1FTxx0000004CFUGA2",
"Name": "PPRS-000000006"
}
],
"relatedObjectAPIName": "ProductRampSegment"
},
{
"count": 2,
"records": [
{
"UsageMetricId": "1BRxx0000004CAeGAM",
"UsageMetricName": "Test Usage Metric 2",
"UsageDefinitionProductId": null,
"Label": "PUG-103",
"Quantity": 100,
"Id": "1BXxx0000004CCGGA2"
},
{
"UsageMetricId": "1BRxx0000004CCGGA2",
"UsageMetricName": "Test Usage Metric 3",
"UsageDefinitionProductId": "01txx0000006i2eAAA",
"Label": "PUG-105",
"Quantity": 500,
"Id": "1BXxx0000004CFUGA2"
}
],
"relatedObjectAPIName": "ProductUsageGrant"
}
176
Product Catalog Management Product Catalog Management Business APIs
]
},
{
"recordId": "01txx0000006i5gAAA",
"relatedObjectRecords": [
{
"count": 4,
"records": [
{
"SegmentType": "Yearly",
"DurationType": "Months",
"TrialDuration": null,
"ProductSellingModelId": "0jPxx0000000001EAA",
"ProductId": "01txx0000006i5gAAA",
"Id": "1FTxx0000004C92GAE",
"Name": "PPRS-000000001"
},
{
"SegmentType": "Custom",
"DurationType": "Days",
"TrialDuration": null,
"ProductSellingModelId": "0jPxx0000000001EAA",
"ProductId": "01txx0000006i5gAAA",
"Id": "1FTxx0000004CAeGAM",
"Name": "PPRS-000000002"
},
{
"SegmentType": "FreeTrial",
"DurationType": "Months",
"TrialDuration": 6,
"ProductSellingModelId": "0jPxx0000000001EAA",
"ProductId": "01txx0000006i5gAAA",
"Id": "1FTxx0000004CCGGA2",
"Name": "PPRS-000000003"
},
{
"SegmentType": "Custom",
"DurationType": null,
"TrialDuration": null,
"ProductSellingModelId": "0jPxx0000000001EAA",
"ProductId": "01txx0000006i5gAAA",
"Id": "1FTxx0000004CDsGAM",
"Name": "PPRS-000000004"
}
],
"relatedObjectAPIName": "ProductRampSegment"
},
{
"count": 0,
"records": [],
"relatedObjectAPIName": "ProductUsageGrant"
}
]
177
Product Catalog Management Product Catalog Management Business APIs
}
]
relatedObject Related Object List of related object records. Small, 62.0 62.0
Records Records[]
178
Product Catalog Management Product Catalog Management Business APIs
"Label": "PUG-103",
"Quantity": 100,
"Id": "1BXxx0000004CCGGA2"
},
{
"UsageMetricId": "1BRxx0000004CCGGA2",
"UsageMetricName": "Test Usage Metric 3",
"UsageDefinitionProductId": "01txx0000006i2eAAA",
"Label": "PUG-105",
"Quantity": 500,
"Id": "1BXxx0000004CFUGA2"
}
],
"relatedObjectAPIName": "ProductUsageGrant"
}
]
},
{
"recordId": "01txx0000006i5gAAA",
"relatedObjectRecords": [
{
"count": 4,
"records": [
{
"SegmentType": "Yearly",
"DurationType": "Months",
"TrialDuration": null,
"ProductSellingModelId": "0jPxx0000000001EAA",
"ProductId": "01txx0000006i5gAAA",
"Id": "1FTxx0000004C92GAE",
"Name": "PPRS-000000001"
},
{
"SegmentType": "Custom",
"DurationType": "Days",
"TrialDuration": null,
"ProductSellingModelId": "0jPxx0000000001EAA",
"ProductId": "01txx0000006i5gAAA",
"Id": "1FTxx0000004CAeGAM",
"Name": "PPRS-000000002"
},
{
"SegmentType": "FreeTrial",
"DurationType": "Months",
"TrialDuration": 6,
"ProductSellingModelId": "0jPxx0000000001EAA",
"ProductId": "01txx0000006i5gAAA",
"Id": "1FTxx0000004CCGGA2",
"Name": "PPRS-000000003"
},
{
"SegmentType": "Custom",
"DurationType": null,
"TrialDuration": null,
179
Product Catalog Management Product Catalog Management Business APIs
"ProductSellingModelId": "0jPxx0000000001EAA",
"ProductId": "01txx0000006i5gAAA",
"Id": "1FTxx0000004CDsGAM",
"Name": "PPRS-000000004"
}
],
"relatedObjectAPIName": "ProductRampSegment"
},
{
"count": 0,
"records": [],
"relatedObjectAPIName": "ProductUsageGrant"
}
]
}
],
"status": {
"code": "200",
"errors": [
],
"message": ""
}
}
Search Facet
Output representation of the details of the faceted search.
JSON example
"facets":[
{
"attributeType": "ProductStandard",
"displayName": "Product Type",
"displayRank": 1,
"displayType": "MultiSelect",
"nameOrId": "Type",
"values": [
{
180
Product Catalog Management Product Catalog Management Business APIs
"displayName": "Simple",
"nameOrId": "Simple",
"productCount": 9
}
]
},
{
"attributeType": "ProductStandard",
"displayName": "Active",
"displayRank": 2,
"displayType": "MultiSelect",
"nameOrId": "IsActive",
"values": [
{
"displayName": "true",
"nameOrId": "true",
"productCount": 47
}
]
}
]
nameOrId String Facet name or ID. Reserved for internal use. Small, 63.0 63.0
values Facet Value[] Values of the facet found in the search Small, 63.0 63.0
result. Sorted by display name in
alphabetical order.
Setting
Output representation of the setting that’s used in indexing.
JSON example
"setting": {
"defaultLanguage": "en_US",
"id": "1JySG0000000GUb0AM",
"supportedLanguages": ["en_US","ja","es","nl_NL"]
}
181
Product Catalog Management Product Catalog Management Business APIs
supported String[] List of supported language locales for Small, 63.0 63.0
Languages indexing.
Setting Metadata
Output representation of the metadata associated with a setting.
JSON example
"metadata": {
"activeLanguages": [
"en_US"
]
}
Snapshot
Output representation of the list of active snapshots.
JSON example
"snapshots": [
{
"activationDate": "2024-11-06T06:58:02.000Z",
"activationStatus": "ACTIVE",
"activationType": "IMMEDIATE",
"id": "1Avxx0000004C92CAE",
"snapshotIndexes": [
{
"createdDate": "2024-11-06T06:56:49.000Z",
"id": "1D6xx0000004C92CAE",
"indexBuildType": "FULL",
"indexInfos": [
{
"buildType": "FULL",
"id": "0axxx00000000T3AAI",
"isIncrementable": true,
"usageType": "LIVE"
}
182
Product Catalog Management Product Catalog Management Business APIs
],
"indexLogs": [
{
"catalogSnapshotTime": "2024-11-06T16:14:30.000Z",
"completionTime": "2024-11-06T16:16:02.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED",
"indexBuildType": "FULL",
"indexId": "0axxx00000000T3AAI",
"numberOfChanges": 7
},
{
"catalogSnapshotTime": "2024-11-06T15:03:32.000Z",
"completionTime": "2024-11-06T15:05:02.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED_WITH_ERRORS",
"indexBuildType": "INCREMENTAL",
"indexId": "0axxx00000000RRAAY",
"message": "Warning: Product errors found.",
"numberOfChanges": 3
},
{
"catalogSnapshotTime": "2024-11-06T12:35:34.000Z",
"completionTime": "2024-11-06T12:35:34.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED",
"indexBuildType": "INCREMENTAL",
"indexId": "0axxx00000000RRAAY",
"message": "There are no changes for the partial update.",
"numberOfChanges": 0
},
{
"catalogSnapshotTime": "2024-11-06T12:07:32.000Z",
"completionTime": "2024-11-06T12:09:02.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED_WITH_ERRORS",
"indexBuildType": "FULL",
"message": "Warning: Product errors found.",
"numberOfChanges": 1
}
],
"indexType": "PRODUCT",
"lastBuildStatus": "IN_PROGRESS",
"venueId": "1D6xx0000004C92CAE"
}
]
}
]
183
Product Catalog Management Product Catalog Management Business APIs
activation String Activation type of the snapshot. Valid values Small, 62.0 62.0
Type are:
• IMMEDIATE—Snapshot is activated
immediately after a successful build.
snapshot Snapshot Index[] List of indexes created in the snapshot. Small, 62.0 62.0
Indexes
Snapshot Collection
Output representation of the retrieved snapshot collection.
JSON example
{
"errors": [],
"snapshots": [
{
"activationDate": "2024-11-06T06:58:02.000Z",
"activationStatus": "ACTIVE",
"activationType": "IMMEDIATE",
"id": "1Avxx0000004C92CAE",
"snapshotIndexes": [
{
"createdDate": "2024-11-06T06:56:49.000Z",
"id": "1D6xx0000004C92CAE",
"indexBuildType": "FULL",
"indexInfos": [
{
"buildType": "FULL",
"id": "0axxx00000000T3AAI",
"isIncrementable": true,
"usageType": "LIVE"
}
],
"indexLogs": [
{
"catalogSnapshotTime": "2024-11-06T16:14:30.000Z",
"completionTime": "2024-11-06T16:16:02.000Z",
"createdById": "005xx000001X7x7AAC",
184
Product Catalog Management Product Catalog Management Business APIs
"indexBuildStatus": "COMPLETED",
"indexBuildType": "FULL",
"indexId": "0axxx00000000T3AAI",
"numberOfChanges": 7
},
{
"catalogSnapshotTime": "2024-11-06T15:03:32.000Z",
"completionTime": "2024-11-06T15:05:02.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED_WITH_ERRORS",
"indexBuildType": "INCREMENTAL",
"indexId": "0axxx00000000RRAAY",
"message": "Warning: Product errors found.",
"numberOfChanges": 3
},
{
"catalogSnapshotTime": "2024-11-06T12:35:34.000Z",
"completionTime": "2024-11-06T12:35:34.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED",
"indexBuildType": "INCREMENTAL",
"indexId": "0axxx00000000RRAAY",
"message": "There are no changes for the partial update.",
"numberOfChanges": 0
},
{
"catalogSnapshotTime": "2024-11-06T12:07:32.000Z",
"completionTime": "2024-11-06T12:09:02.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED_WITH_ERRORS",
"indexBuildType": "FULL",
"message": "Warning: Product errors found.",
"numberOfChanges": 1
}
],
"indexType": "PRODUCT",
"lastBuildStatus": "IN_PROGRESS",
"venueId": "1D6xx0000004C92CAE"
}
]
}
],
"statusCode": "200"
}
statusCode String Code indicating the status of the request. Small, 62.0 62.0
185
Product Catalog Management Product Catalog Management Business APIs
Snapshot Deployment
Output representation of the snapshot deployment.
JSON example
This example shows a sample response to the request to build a new snapshot with immediate activation.
{
"errors": [],
"snapshot": {
"activationStatus": "NONE",
"activationType": "IMMEDIATE",
"id": "1Avxx0000004CFU",
"snapshotIndexes": [
{
"createdDate": "2024-07-24T21:10:48.000Z",
"id": "1D6xx0000004CFU",
"indexBuildType": "FULL",
"indexType": "PRODUCT",
"lastBuildStatus": "IN_PROGRESS"
}
]
},
"statusCode": "200"
}
This example shows a sample response of the request to rebuild a snapshot in the active status.
{
"errors": [],
"snapshot": {
"activationStatus": "NONE",
"activationType": "IMMEDIATE",
"id": "1Avxx0000004CH6",
"snapshotIndexes": [
{
"createdDate": "2024-07-24T21:13:05.000Z",
"id": "1D6xx0000004CH6",
"indexBuildType": "FULL",
"indexType": "PRODUCT",
"lastBuildStatus": "IN_PROGRESS"
}
]
},
"statusCode": "200"
}
snapshot Snapshot[] Run-time catalog snapshot associated with Small, 62.0 62.0
the created index.
statusCode String Code indicating the status of the request. Small, 62.0 62.0
186
Product Catalog Management Product Catalog Management Business APIs
Snapshot Index
Output representation of the snapshot index of a run-time catalog.
JSON example
"snapshotIndexes": [
{
"createdDate": "2024-11-06T06:56:49.000Z",
"id": "1D6xx0000004C92CAE",
"indexBuildType": "FULL",
"indexInfos": [
{
"buildType": "FULL",
"id": "0axxx00000000T3AAI",
"isIncrementable": true,
"usageType": "LIVE"
}
],
"indexLogs": [
{
"catalogSnapshotTime": "2024-11-06T16:14:30.000Z",
"completionTime": "2024-11-06T16:16:02.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED",
"indexBuildType": "FULL",
"indexId": "0axxx00000000T3AAI",
"numberOfChanges": 7
},
{
"catalogSnapshotTime": "2024-11-06T15:03:32.000Z",
"completionTime": "2024-11-06T15:05:02.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED_WITH_ERRORS",
"indexBuildType": "INCREMENTAL",
"indexId": "0axxx00000000RRAAY",
"message": "Warning: Product errors found.",
"numberOfChanges": 3
},
{
"catalogSnapshotTime": "2024-11-06T12:35:34.000Z",
"completionTime": "2024-11-06T12:35:34.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED",
"indexBuildType": "INCREMENTAL",
"indexId": "0axxx00000000RRAAY",
"message": "There are no changes for the partial update.",
"numberOfChanges": 0
},
{
"catalogSnapshotTime": "2024-11-06T12:07:32.000Z",
"completionTime": "2024-11-06T12:09:02.000Z",
"createdById": "005xx000001X7x7AAC",
"indexBuildStatus": "COMPLETED_WITH_ERRORS",
"indexBuildType": "FULL",
"message": "Warning: Product errors found.",
187
Product Catalog Management Product Catalog Management Business APIs
"numberOfChanges": 1
}
],
"indexType": "PRODUCT",
"lastBuildStatus": "IN_PROGRESS",
"venueId": "1D6xx0000004C92CAE"
}
]
createdDate String Created date of the snapshot index. Small, 62.0 62.0
indexBuild String Build type of the snapshot index. Valid value Small, 62.0 62.0
Type is:
• FULL—Specifies a full index build.
• INCREMENTAL—Specifies an
incremental index build. Available in API
version 63.0 and later.
indexInfos Index Info Index information records associated with Small, 63.0 63.0
the snapshot index.
indexLogs Index Logs[] Index logs associated with the snapshot Small, 63.0 63.0
index.
indexType String Index type of the snapshot index. Valid value Small, 62.0 62.0
is:
• PRODUCT—Snapshot index is of
product type.
lastBuild String Last build status of the snapshot index. Valid Small, 62.0 62.0
Status values are:
• IN_PROGRESS—Snapshot index
build is in progress.
• FAILED—Snapshot index build failed.
• COMPLETED—Snapshot index build
completed successfully.
188
Product Catalog Management Product Catalog Management Business APIs
indexError Index Error[] Count and details of errors that occurred Small, 63.0 63.0
Details during indexing.
statusCode String Code that indicates the status of the API Small, 63.0 63.0
request.
189
Product Catalog Management Product Catalog Management Business APIs
isIncrementable Boolean Indicates whether a partial build is enabled Small, 63.0 63.0
(true) or disabled (false).
usageType String Usage type of the index. Valid values are: Small, 63.0 63.0
190
Product Catalog Management Product Catalog Management Business APIs
"indexBuildStatus": "COMPLETED_WITH_ERRORS",
"indexBuildType": "FULL",
"message": "Warning: Product errors found.",
"numberOfChanges": 1
}
]
createdById String ID of the user that initiated the index build. Small, 63.0 63.0
indexBuild String Type of the index build. Valid values are: Small, 63.0 63.0
Type
• FULL—Specifies a full index build.
• INCREMENTAL—Specifies an
incremental index build. Available in API
version 63.0 and later.
message String Message for the index status. Small, 63.0 63.0
Status
Output representation of the status of the request.
JSON example
"status": {
"code": "200",
"errors": [],
"message": "Successfully fetched the catalog records."
}
191
Product Catalog Management Product Catalog Management Business APIs
messageDetail String Localized details of the error message. Small, 63.0 63.0
messageTitle String Localized title of the error message. Small, 63.0 63.0
192
Product Catalog Management Product Catalog Management Metadata API Types
"unitCode": "Grams"
}
}
name String Name of the unit of measure record. Small, 63.0 63.0
roundingMethod String Data rounding method of the unit of Small, 63.0 63.0
measure record.
scale Integer Scale of the unit of measure record. Small, 63.0 63.0
unitCode String Code of the unit of measure record. Small, 63.0 63.0
httpStatus String HTTP status code of the API request. Small, 63.0 63.0
Code
ProductSpecificationType
Represents the specification types in your org that define products with unique terminology specific to the industry.
193
Product Catalog Management Product Catalog Management Metadata API Types
ProductSpecificationRecType
Represents the association of a product specification type with record types defined on the Product object. The product specification
record type also determines if the product specification is sold commercially or not.
SEE ALSO:
Metadata API Developer Guide: Understanding Metadata API
ProductSpecificationType
Represents the specification types in your org that define products with unique terminology specific to the industry.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
Version
ProductSpecificationType components are available in API version 60.0 and later.
Fields
194
Product Catalog Management Product Catalog Management Metadata API Types
<ProductSpecificationType xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>sample</masterLabel>
<description>Sample Description</description>
</ProductSpecificationType>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ProductSpecificationType</name>
</types>
<version>60.0</version>
</Package>
ProductSpecificationRecType
Represents the association of a product specification type with record types defined on the Product object. The product specification
record type also determines if the product specification is sold commercially or not.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
Version
ProductSpecificationRecType components are available in API version 60.0 and later.
195
Product Catalog Management Product Catalog Management Metadata API Types
Fields
<ProductSpecificationRecType xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>sample</masterLabel>
<recordType>Product2.Offer</recordType>
<productSpecificationType>Placeholder</productSpecificationType>
<isCommercial>true</isCommercial>
</ProductSpecificationRecType>
196
Product Catalog Management Product Catalog Management Tooling API Objects
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ProductSpecificationRecType</name>
</types>
<types>
<members>*</members>
<name>ProductSpecificationType</name>
</types>
<types>
<members>Product2.Offer</members>
<name>RecordType</name>
</types>
<version>60.0</version>
</Package>
ProductSpecificationType
Represents the specification types in your org that define products with unique terminology specific to the industry. This object is
available in API version 60.0 and later.
ProductSpecificationRecType
Represents the association of a product specification type with record types defined on the Product object. The product specification
record type also determines if the product specification is sold commercially or not. This object is available in API version 60.0 and
later.
SEE ALSO:
Tooling API Developer Guide: Introducing Tooling API
ProductSpecificationType
Represents the specification types in your org that define products with unique terminology specific to the industry. This object is
available in API version 60.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
197
Product Catalog Management Product Catalog Management Tooling API Objects
Fields
Field Details
Description Type
textarea
Properties
Create, Nillable, Update
Description
Description of the product specification type.
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. This name can contain only underscores and
alphanumeric characters, and must be unique in your org. It must begin with a letter, not
include spaces, not end with an underscore, and not contain two consecutive underscores.
In managed packages, this field prevents naming conflicts on package installations. With
this field, a developer can change the object’s name in a managed package and the changes
are reflected in a subscriber’s organization. Label is Record Type Name.
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the product specification type instance.
Possible values are:
• da—Danish
• de—German
• en_US—English
198
Product Catalog Management Product Catalog Management Tooling API Objects
Field Details
• es—Spanish
• es_MX—Spanish (Mexico)
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
ManageableState Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
• beta
• deleted
• deprecated
• deprecatedEditable
• installed
• installedEditable
• released
• unmanaged
MasterLabel Type
string
199
Product Catalog Management Product Catalog Management Tooling API Objects
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
Label assigned to the ProductSpecificationType object.
NamespacePrefix Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix associated with this object. Each Developer Edition organization that
creates a managed package has a unique namespace prefix. Limit: 15 characters. You can
refer to a component in a managed package by using the
namespacePrefix__componentName notation.
The namespace prefix can have one of the following values:
• In Developer Edition organizations, the namespace prefix is set to the namespace prefix
of the organization for all objects that support it. There is an exception if an object is in
an installed managed package. In that case, the object has the namespace prefix of the
installed managed package. This field’s value is the namespace prefix of the Developer
Edition organization of the package developer.
• In organizations that are not Developer Edition organizations, NamespacePrefix
is only set for objects that are part of an installed managed package. There is no
namespace prefix for all other objects.
ProductSpecificationRecType
Represents the association of a product specification type with record types defined on the Product object. The product specification
record type also determines if the product specification is sold commercially or not. This object is available in API version 60.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
200
Product Catalog Management Product Catalog Management Tooling API Objects
Fields
Field Details
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. This name can contain only underscores and
alphanumeric characters, and must be unique in your org. It must begin with a letter, not
include spaces, not end with an underscore, and not contain two consecutive underscores.
In managed packages, this field prevents naming conflicts on package installations. With
this field, a developer can change the object’s name in a managed package and the changes
are reflected in a subscriber’s organization. Label is Record Type Name.
IsCommercial Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the product is sold commercially (true) or not (false). The default
value is true.
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the product specification record type instance.
Possible values are:
• da—Danish
• de—German
• en_US—English
• es—Spanish
• es_MX—Spanish (Mexico)
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
201
Product Catalog Management Product Catalog Management Tooling API Objects
Field Details
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
ManageableState Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
• beta
• deleted
• deprecated
• deprecatedEditable
• installed
• installedEditable
• released
• unmanaged
MasterLabel Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label assigned to the ProductSpecificationRecType object.
NamespacePrefix Type
string
Properties
Filter, Group, Nillable, Sort
202
Product Catalog Management Product Catalog Management Tooling API Objects
Field Details
Description
The namespace prefix associated with this object. Each Developer Edition organization that
creates a managed package has a unique namespace prefix. Limit: 15 characters. You can
refer to a component in a managed package by using the
namespacePrefix__componentName notation.
The namespace prefix can have one of the following values:
• In Developer Edition organizations, the namespace prefix is set to the namespace prefix
of the organization for all objects that support it. There is an exception if an object is in
an installed managed package. In that case, the object has the namespace prefix of the
installed managed package. This field’s value is the namespace prefix of the Developer
Edition organization of the package developer.
• In organizations that are not Developer Edition organizations, NamespacePrefix
is only set for objects that are part of an installed managed package. There is no
namespace prefix for all other objects.
ProductSpecificationType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Required.
Product specification type that's associated with the record type. This field is unique within
your organization.
The picklist values that are available to you depend on your industry solution and permission
sets.
RecordType Type
sObject
Properties
Nillable
Description
Custom record type of Product2 object.
RecordTypeId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
Required. ID of the product record type associated with the product specification type. This
field is unique within your organization.
This field is a relationship field.
203
Product Catalog Management Product Discovery
Field Details
Relationship Name
RecordType
Relationship Type
Lookup
Refers To
RecordType
Product Discovery
Product Discovery provides a hierarchical catalog browsing experience to identify suitable products
EDITIONS
with text-based and faceted search.
Available in: Lightning
Product Discovery Business APIs Experience
Use the Product Discovery Business APIs, which are composite APIs, to search products or to Available in: Enterprise,
discover catalogs, products, and categories during the product browsing experience. Unlimited, and Developer
Product Discovery Standard Invocable Actions Editions of Revenue Cloud
Use the standard invocable actions available with Product Discovery to find and retrieve the
product details.
Product Discovery Metadata API Types
Metadata API enables you to access some types and feature settings that you can customize in the user interface.
SEE ALSO:
Salesforce Help: Configure Product Discovery Settings
Salesforce Help: Invoke Qualification Procedures During Product Discovery
Resource Description
/connect/cpq/catalogs/catalogId (POST) Get catalog details for a
specified catalog ID. This API is
a composite API for Product
Discovery.
204
Product Catalog Management Product Discovery Business APIs
Resource Description
/connect/cpq/categories (POST) Get a list of categories and
subcategories of a specified
catalog. This API is a composite
API for Product Discovery.
Resources
Learn more about the available Product Discovery API resources.
205
Product Catalog Management Product Discovery Business APIs
Request Bodies
Learn more about the available Product Discovery API request bodies.
Response Bodies
Learn more about the available Product Discovery API response bodies.
Resources
Learn more about the available Product Discovery API resources.
/connect/cpq/catalogs/catalogId
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/catalogs/0ZSxx000000009hGAA
Available version
60.0
206
Product Catalog Management Product Discovery Business APIs
HTTP methods
POST
Request body for POST
JSON example
{
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
Properties
userContext User Context Input User context details. For example, Optional 60.0
account ID or contact ID.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/catalogs
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"limit": 10,
207
Product Catalog Management Product Discovery Business APIs
"offset": 0,
"orderBy": [
"name:asc",
"id:desc"
],
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
Properties
offset Integer Offset size from which to get the catalog Optional 60.0
count.
userContext User Context Input User context details. For example, Optional 60.0
account ID or contact ID.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/categories
Available version
60.0
HTTP methods
POST
208
Product Catalog Management Product Discovery Business APIs
Properties
userContext User Context Input User context details. For example, Optional 60.0
account ID or contact ID.
/connect/cpq/categories/categoryId
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/categories/0ZGxx000000001dGAA
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"userContext": {
209
Product Catalog Management Product Discovery Business APIs
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
Properties
userContext User Context Input User context details. For example, Optional 60.0
account ID or contact ID.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/products/bulk
Available version
61.0
HTTP methods
POST
Request body for POST
JSON example
{
"productData": [
{
"productId": "01txx0000006ivJAAQ",
"productSellingModelId": "0jPxx000000009hEAA"
},
{
"productId": "01txx0000006ivLAAQ",
"productSellingModelId": "0jPxx000000009iEAABB"
}
],
"correlationId": "de9a674c-1807-438c-ac78-2c96f4655325",
"priceBookId" : "01sxx0000005qxxAAA",
210
Product Catalog Management Product Discovery Business APIs
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
Properties
currencyCode String Currency code to consider for pricing and Optional 61.0
filtering.
211
Product Catalog Management Product Discovery Business APIs
priceBookId String ID of the price book to fetch the prices Optional 61.0
from.
productData Product Data List of maps that contain product IDs and Required 61.0
Input[] product selling model IDs.
userContext User Context User context details. For example, Optional 61.0
Input[] account ID or contact ID.
212
Product Catalog Management Product Discovery Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/products/search
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
This example shows a sample request to search products by using a query.
{
"query": {
"textQuery": {
"searchPhrase": "firstproduct"
}
},
"catalogId": "0ZSxx0000000001GAA",
"categoryId": "0ZGT100000000qlOAA",
"correlationId":"9cbb9650-48c5-11ed-96d1-0afcf185843b",
"limit":10,
"cursor": "MTAwMDAwMDAwNg==",
"orderBy":["name:asc","id:desc"],
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"additionalFields": {
"Product2": {
"fields" : [
"CustomField1__c",
"CustomField2__c",
"StandardField1"
]
}
}
}
This example shows a sample request to search products by using the searchTerm property.
{
"searchTerm": "Laptop",
"catalogId": "0ZSDU0000002Og64AE",
"categoryId": "0ZGDU0000002P0A4AU",
"correlationId":"d9d8f898-19f5-464a-ba2b-6a070783f6c4",
"limit":10,
"cursor": "MTAwMDAwMDAwNw==",
"orderBy":["name:asc","id:desc"],
"userContext": {
"accountId": "001DU000001o2V0YAI"
}
}
213
Product Catalog Management Product Discovery Business APIs
If a parent category ID is specified in the request body, then the API returns all products associated to all child categories.
Properties
214
Product Catalog Management Product Discovery Business APIs
215
Product Catalog Management Product Discovery Business APIs
orderBy String[] Sort order of the results, which is either Optional 60.0
ascending or descending order. The
default sort order is ascending order. The
default value is asc.
priceBookId String ID of the price book to get the prices Optional 60.0
from. If this property isn’t specified, then
prices from the standard price book are
fetched.
216
Product Catalog Management Product Discovery Business APIs
searchTerm String String used to get products with the Optional 62.0
product name containing the search
term. See Search Considerations When
Using Indexed Data.
userContext User Context Input User context details. For example, Optional 60.0
account ID or contact ID.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/products/guided-selection
Available version
62.0
HTTP methods
POST
Request body for POST
JSON example
This input request includes properties from the Products List API. To learn about the other input properties, see Products List
(POST).
{
"correlationId": "corrId",
"catalogId": "0ZSxx0000000001GAA",
217
Product Catalog Management Product Discovery Business APIs
"priceBookId": "pricebookId",
"limit": 10,
"cursor": "MTAwMDAwMDAwNg==",
"userContext": {
"accountId": "accId"
},
"guidedSelectionResponseId": "ABCxx0000000001GAA",
"searchTerms": [
{
"term": "IPhone"
},
{
"term": "4GB"
},
{
"term": "64GB"
}
],
"enableQualification": true,
"enablePricing": true,
"includeCatalogDetails": false
}
Properties
searchTerms Guided Selection Search terms of the guided selection. Required if the 62.0
Search Term Input[] guided
Selection
ResponseId
property isn’t
specified.
If both the guidedSelectionResponseId and searchTerms properties are specified, then the searchTerms
property is considered in the input request.
Response body for POST
Guided Selection
/connect/cpq/products/productId
218
Product Catalog Management Product Discovery Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/products/01txx0000006j08AAA
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"catalogId": "0ZSxx0000000001GAA",
"priceBookId" : "01s26000002ZT71AAG",
"productSellingModelId" : "0jP1Q000000CaVFUA0",
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"enablePricing" : true,
"enableQualification" : true,
"qualificationProcedure": "QualificationProcedure",
"pricingProcedure": "Preview",
"contextDefinition": "TestDefinition",
"contextMapping": "TestDefinitionNode",
"additionalFields": {
"Product2": {
"fields": [
"field1",
"field2"
]
},
"ProductAttributeDefinition": {
"fields": [
"field3",
"field4"
]
}
},
"additionalContextData":
[{
"nodeName": "Contract",
"nodeData":
{
"id": "xxxxx231",
"name": "Contract1"
}
},
{
"nodeName": "Lead",
"nodeData":
{
219
Product Catalog Management Product Discovery Business APIs
"id": "lllllll31",
"name": "Lead1"
}
}]
}
Properties
220
Product Catalog Management Product Discovery Business APIs
priceBookId String ID of the price book to fetch the prices Required 60.0
from. If this property isn’t specified, then
the prices from the standard price book
are fetched.
221
Product Catalog Management Product Discovery Business APIs
userContext User Context Input User context details. For example, Optional 60.0
account ID or contact ID.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/products
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"correlationId": "eeaa1db2-f371-4227-a886-c77e2f66ce1d",
"limit": 60,
"cursor": "MTAwMDAwMDAwNg==",
"orderBy": [
"name:asc"
],
"catalogId": "0ZSDU0000002Og74AE",
"categoryId": "0ZGDU0000002P0H4AU",
"priceBookId": "01sDU000000JVsVYAW",
"productClassificationId": "11BDU0000002TCC2A2",
"currencyCode": "USD",
"userContext": {
"accountId": "001DU000001o2UzYAI"
},
"includeCatalogDetails": true,
"enableQualification": true,
"enablePricing": true,
"qualificationProcedure": "ProductQualification",
"pricingProcedure": "pricingProcedure",
"contextDefinition": "BrowseContextDefinitionExt",
"contextMapping": "ProductDiscoveryMapping",
222
Product Catalog Management Product Discovery Business APIs
"filter": {
"criteria": [
{
"property": "name",
"operator": "eq",
"value": "Laptop Pro Bundle"
}
]
},
"relatedObjectFilters": [
{
"objectName": "ProductSpecificationRecType",
"criteria": [
{
"property": "IsCommercial",
"operator": "eq",
"value": true
}
]
}
],
"additionalContextData": [
{
"nodeName": "Account",
"nodeData": {
"id": "001DU000001o2UzYAI",
"name": "Cloud Kicks"
}
}
],
"additionalFields": {
"Product2": {
"fields": [
"CanRamp",
"DecompositionScope",
"ProductCode"
]
}
}
}
If a parent category ID is specified in the request body, then the API returns all products associated to all child categories.
Properties
223
Product Catalog Management Product Discovery Business APIs
224
Product Catalog Management Product Discovery Business APIs
orderBy String[] Sort order of the results, which is either Optional 60.0
ascending (asc) or descending order
(desc). The default sort order is
225
Product Catalog Management Product Discovery Business APIs
priceBookId String ID of the price book to get the prices Required 60.0
from. If this property isn’t specified, then
prices from the standard price book are
fetched.
related Related Object Filter records based on supported criteria Optional 60.0
Object Filter Input[] for related objects.
Filters
The supported object is
ProductSpecificationRecType.
The supported property is
IsCommerical.
The supported operator is eq.
The supported values are true and
false.
userContext User Context Input User context details. For example, Optional 60.0
account ID or contact ID.
226
Product Catalog Management Product Discovery Business APIs
Qualification (POST)
Run the qualification procedure on a list of product IDs. This API is a composite API for Product Discovery.
Resource
/connect/cpq/qualification
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/qualification
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"productIds": [
"01txx0000006i7PAAQ",
"01txx0000006i7QAAQ",
"01txx0000006i7IAAQ"
],
"userContext": {
"accountId": "001xx000003GZHgAAO"
}
}
Properties
227
Product Catalog Management Product Discovery Business APIs
productIds String[] List of product IDs for qualification check. Required 60.0
userContext User Context Input User context details. For example, Optional 60.0
account ID or contact ID.
Request Bodies
Learn more about the available Product Discovery API request bodies.
228
Product Catalog Management Product Discovery Business APIs
Properties
229
Product Catalog Management Product Discovery Business APIs
}
],
"correlationId": "de9a674c-1807-438c-ac78-2c96f4655325",
"priceBookId" : "01sxx0000005qxxAAA",
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
Properties
context String Context mapping details from the context Optional 61.0
Mapping definition. If specified, the API validates if
the context mapping belongs to the
specified context definition and considers
the mapping for hydration.
If unspecified, the default context mapping
of the context definition is used.
correlationId String Unique token to track and associate related Optional 61.0
events or transactions across different
components of the application. If
unspecified, a Universally Unique Identifier
(UUID) is generated.
currencyCode String Currency code to consider for pricing and Optional 61.0
filtering.
230
Product Catalog Management Product Discovery Business APIs
priceBookId String ID of the price book to fetch the prices Optional 61.0
from.
productData Product Data Input[] List of maps that contain product IDs and Required 61.0
product selling model IDs.
userContext User Context Input[] User context details. For example, account Optional 61.0
ID or contact ID.
231
Product Catalog Management Product Discovery Business APIs
JSON example
{
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
Properties
userContext User Context Input User context details. For example, account Optional 60.0
ID or contact ID.
{
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"limit": 10,
"offset": 0,
"orderBy": [
"name:asc",
"id:desc"
],
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
Properties
232
Product Catalog Management Product Discovery Business APIs
offset Integer Offset size from which to get the catalog Optional 60.0
count.
userContext User Context Input User context details. For example, account Optional 60.0
ID or contact ID.
Properties
userContext User Context Input User context details. For example, account Optional 60.0
ID or contact ID.
233
Product Catalog Management Product Discovery Business APIs
}
}
Properties
userContext User Context Input User context details. For example, account Optional 60.0
ID or contact ID.
"additionalContextData":[
{
"nodeName": "Contract",
"nodeData": {
"id": "xxxxx231",
"name": "Contract1"
}
},
{
"nodeName": "Lead",
"nodeData": {
"id": "lllllll31",
"name": "Lead1"
}
}]
Properties
234
Product Catalog Management Product Discovery Business APIs
Properties
searchTerms Guided Selection Search terms of the guided selection. Required if the 62.0
Search Term Input[] guided
Selection
ResponseId
property isn’t
specified.
If both the guidedSelectionResponseId and searchTerms properties are specified, then the searchTerms
property is considered in the input request.
235
Product Catalog Management Product Discovery Business APIs
Properties
"criteria":
[{
"attributeType": "ProductStandard",
"property": "name",
"operator": "eq",
"value": "iPhone"
}]
Properties
236
Product Catalog Management Product Discovery Business APIs
property String Property name to use in the filter, which Required 60.0
must be the same as the object field.
The supported property is name.
Filter Input
Input representation of the request to filter records.
JSON example
"filter":
{"criteria":
[ {
"attributeType": "ProductStandard",
"property": "name",
"operator": "eq",
"value": "iPhone"
}]}
237
Product Catalog Management Product Discovery Business APIs
Properties
238
Product Catalog Management Product Discovery Business APIs
{
"id": "lllllll31",
"name": "Lead1"
}
}]
}
Properties
context String API name of the custom context definition Optional 60.0
Definition that’s sent for context creation. If this
property isn’t specified, then the default
context definition is used.
currencyCode String Currency code that’s considered for pricing Optional 60.0
and filtering request. If multiple currencies
239
Product Catalog Management Product Discovery Business APIs
enablePricing Boolean Indicates whether to enable pricing for the Optional 60.0
products (true) or not (false). The
default value is true.
The Pricing Procedure toggle from the
Product Discovery Settings page from
Setup overrides this property. For example,
if the Pricing Procedure toggle is
disabled, then setting the
enablePricing property to true
has no effect and the prices property
in the API response is returned empty.
priceBookId String ID of the price book to fetch the prices Required 60.0
from. If this property isn’t specified, then
the prices from the standard price book
are fetched.
pricing String API name of the custom pricing procedure Optional 60.0
Procedure that’s used for the pricing process. If this
property isn’t specified, then the default
pricing procedure is executed.
240
Product Catalog Management Product Discovery Business APIs
Properties
241
Product Catalog Management Product Discovery Business APIs
},
"includeCatalogDetails": true,
"enableQualification": true,
"enablePricing": true,
"qualificationProcedure": "ProductQualification",
"pricingProcedure": "pricingProcedure",
"contextDefinition": "BrowseContextDefinitionExt",
"contextMapping": "ProductDiscoveryMapping",
"filter": {
"criteria": [
{
"property": "name",
"operator": "eq",
"value": "Laptop Pro Bundle"
}
]
},
"relatedObjectFilters": [
{
"objectName": "ProductSpecificationRecType",
"criteria": [
{
"property": "IsCommercial",
"operator": "eq",
"value": true
}
]
}
],
"additionalContextData": [
{
"nodeName": "Account",
"nodeData": {
"id": "001DU000001o2UzYAI",
"name": "Cloud Kicks"
}
}
],
"additionalFields": {
"Product2": {
"fields": [
"CanRamp",
"DecompositionScope",
"ProductCode"
]
}
}
}
If a parent category ID is specified in the request body, then the API returns all products associated to all child categories.
242
Product Catalog Management Product Discovery Business APIs
Properties
context String API name of the custom context definition Optional 60.0
Definition that’s sent for context creation. If this
property isn’t specified, then the default
context definition is used.
currencyCode String Currency code that’s considered for pricing Optional 60.0
and filtering request. If multiple currencies
are enabled for the org, then the
currencyCode property is required.
enablePricing Boolean Indicates whether to enable pricing for the Optional 60.0
products (true) or not (false). The
default value is true.
The Pricing Procedure toggle from the
Product Discovery Settings page from
243
Product Catalog Management Product Discovery Business APIs
filter Filter Input Filters records based on supported criteria. Optional 60.0
orderBy String[] Sort order of the results, which is either Optional 60.0
ascending (asc) or descending order
244
Product Catalog Management Product Discovery Business APIs
priceBookId String ID of the price book to get the prices from. Required 60.0
If this property isn’t specified, then prices
from the standard price book are fetched.
pricing String API name of the custom pricing procedure Optional 60.0
Procedure that’s used for the pricing process. If this
property isn’t specified, then the default
pricing procedure is executed.
relatedObject Related Object Filter Filter records based on supported criteria Optional 60.0
Filters Input[] for related objects.
The supported object is
ProductSpecificationRecType.
The supported property is
IsCommerical.
The supported operator is eq.
The supported values are true and
false.
userContext User Context Input User context details. For example, account Optional 60.0
ID or contact ID.
245
Product Catalog Management Product Discovery Business APIs
JSON example
This example shows a sample request to search products by using a query.
{
"query": {
"textQuery": {
"searchPhrase": "firstproduct"
}
},
"catalogId": "0ZSxx0000000001GAA",
"categoryId": "0ZGT100000000qlOAA",
"correlationId":"9cbb9650-48c5-11ed-96d1-0afcf185843b",
"limit":10,
"cursor": "MTAwMDAwMDAwNg==",
"orderBy":["name:asc","id:desc"],
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"additionalFields": {
"Product2": {
"fields" : [
"CustomField1__c",
"CustomField2__c",
"StandardField1"
]
}
}
}
This example shows a sample request to search products by using the searchTerm property.
{
"searchTerm": "Laptop",
"catalogId": "0ZSDU0000002Og64AE",
"categoryId": "0ZGDU0000002P0A4AU",
"correlationId":"d9d8f898-19f5-464a-ba2b-6a070783f6c4",
"limit":10,
"cursor": "MTAwMDAwMDAwNw==",
"orderBy":["name:asc","id:desc"],
"userContext": {
"accountId": "001DU000001o2V0YAI"
}
}
If a parent category ID is specified in the request body, then the API returns all products associated to all child categories.
Properties
246
Product Catalog Management Product Discovery Business APIs
context String API name of the custom context definition Optional 60.0
Definition that’s sent for context creation. If this
property isn’t specified, then the default
context definition is used.
currencyCode String Currency code that’s considered for pricing Optional 60.0
and filtering request.
enablePricing Boolean Indicates whether to enable pricing for the Optional 60.0
products (true) or not (false). The
default value is true.
The Pricing Procedure toggle from the
Product Discovery Settings page from
Setup overrides this property. For example,
if the Pricing Procedure toggle is
disabled, then setting the
enablePricing property to true
has no effect and the prices property
in the API response is returned empty.
247
Product Catalog Management Product Discovery Business APIs
filter Filter Input Filters records based on supported criteria. Optional 60.0
248
Product Catalog Management Product Discovery Business APIs
orderBy String[] Sort order of the results, which is either Optional 60.0
ascending or descending order. The
default sort order is ascending order. The
default value is asc.
priceBookId String ID of the price book to get the prices from. Optional 60.0
If this property isn’t specified, then prices
from the standard price book are fetched.
pricing String API name of the custom pricing procedure Optional 60.0
Procedure that’s used for the pricing process. If this
property isn’t specified, then the default
pricing procedure is executed.
relatedObject Related Object Filter Filter records based on supported criteria Optional 60.0
Filter Input[] for related objects.
The supported object is
ProductSpecificationRecType.
The supported property is
IsCommerical.
The supported operator is eq.
The supported values are true and
false.
searchTerm String String used to get products with the Optional 62.0
product name containing the search term.
See Search Considerations When Using
Indexed Data.
userContext User Context Input User context details. For example, account Optional 60.0
ID or contact ID.
249
Product Catalog Management Product Discovery Business APIs
QOC Qualification
Input representation of the qualification request.
JSON example
{
"productIds": [
"01txx0000006i7PAAQ",
"01txx0000006i7QAAQ",
"01txx0000006i7IAAQ"
],
"userContext": {
"accountId": "001xx000003GZHgAAO"
}
}
Properties
context String API name of the custom context definition Optional 60.0
Definition that’s sent for context creation. If this
property isn’t specified, the default context
definition is used.
productIds String[] List of product IDs for qualification check. Required 60.0
userContext User Context Input User context details. For example, account Optional 60.0
ID or contact ID.
250
Product Catalog Management Product Discovery Business APIs
Properties
objectName String Name of the object that’s related to the Required if the 60.0
main object. relatedObjectFilters
property is specified.
"userContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI",
"contextId": "e055bb18-d4e8-41c3-881e-0132b9561708"
}
Properties
251
Product Catalog Management Product Discovery Business APIs
Response Bodies
Learn more about the available Product Discovery API response bodies.
API Status
Output representation of the API status.
CPQ Base Bulk Details
Output representation of the response that contains the details of multiple products.
CPQ Base Details
Output representation of the catalog, category, or product details based on the request.
CPQ Base List
Output representation of the list of catalogs, categories, or products based on the request.
CPQ Message
Output representation of the API messages.
Facet Value
Output representation of the facet values found in the search result.
Guided Selection
Output representation of the details of a guided selection.
Guided Selection Search Term
Output representation of the search term details for a guided selection.
Search Products Facet
Output representation of the details of the faceted search.
User Context
Output representation of the user context details.
API Status
Output representation of the API status.
statusCode String Status code of the API execution. Small, 60.0 60.0
statusMessage String Display label for the API status. Small, 60.0 60.0
252
Product Catalog Management Product Discovery Business APIs
"statusCode": "FetchedDetailsSuccessfully"
},
"contextId": "c68c7c7e85f3ea5b0e7bcfefc0f2dba9bbd24bfe2f4240ca589af50e473e2242",
"correlationId": "de9a674c-1807-438c-ac78-2c96f4655325",
"result": [
{
"additionalFields": [],
"attributeCategories": [],
"attributes": [],
"catalogs": [],
"childProducts": [],
"id": "01txx0000006ivJAAQ",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "iPhone12",
"nodeType": "simpleProduct",
"prices": [
{
"currencyIsoCode": "USD",
"isDefault": false,
"isSelected": true,
"price": 100,
"priceBookEntryId": "01uxx0000008zUkAAI",
"priceBookId": "01sxx0000005qxxAAA",
"pricingModel": {
"id": "0jPxx000000009hEAA",
"name": "OneTime",
"pricingModelType": "OneTime"
}
},
{
"currencyIsoCode": "USD",
"isDefault": true,
"isSelected": false,
"price": 15,
"priceBookEntryId": "01uxx0000008zUmAAI",
"priceBookId": "01sxx0000005qxxAAA",
"pricingModel": {
"frequency": "Months",
"id": "0jPxx000000009iEAA",
"name": "Monthly",
"occurrence": 1,
"pricingModelType": "TermDefined"
}
}
],
"productClassification": {},
"productCode": "iPhone12",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iOxx00000000EfEAI",
"productId": "01txx0000006ivJAAQ",
253
Product Catalog Management Product Discovery Business APIs
"productSellingModel": {
"id": "0jPxx000000009iEAA",
"name": "Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000009iEAA"
},
{
"id": "0iOxx00000000EgEAI",
"productId": "01txx0000006ivJAAQ",
"productSellingModel": {
"id": "0jPxx000000009hEAA",
"name": "OneTime",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000009hEAA"
}
],
"productSpecificationType": {
"name": "ProdSpecRecType1",
"productSpecificationRecordType": {}
},
"qualificationContext": {
"isQualified": true
}
},
{
"additionalFields": [],
"attributeCategories": [],
"attributes": [],
"catalogs": [],
"childProducts": [],
"id": "01txx0000006ivLAAQ",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "iPhone13",
"nodeType": "simpleProduct",
"prices": [
{
"currencyIsoCode": "USD",
"isDefault": true,
"isSelected": false,
"price": 1520,
"priceBookEntryId": "01uxx0000008zUpAAI",
"priceBookId": "01sxx0000005qxxAAA",
"pricingModel": {
"id": "0jPxx000000009hEAA",
"name": "OneTime",
"pricingModelType": "OneTime"
254
Product Catalog Management Product Discovery Business APIs
}
},
{
"currencyIsoCode": "USD",
"isDefault": false,
"isSelected": false,
"price": 152,
"priceBookEntryId": "01uxx0000008zUqAAI",
"priceBookId": "01sxx0000005qxxAAA",
"pricingModel": {
"frequency": "Months",
"id": "0jPxx000000009iEAA",
"name": "Monthly",
"occurrence": 1,
"pricingModelType": "TermDefined"
}
}
],
"productClassification": {},
"productCode": "iPhone13",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iOxx00000000EbEAI",
"productId": "01txx0000006ivLAAQ",
"productSellingModel": {
"id": "0jPxx000000009iEAA",
"name": "Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000009iEAA"
},
{
"id": "0iOxx00000000EeEAI",
"productId": "01txx0000006ivLAAQ",
"productSellingModel": {
"id": "0jPxx000000009hEAA",
"name": "OneTime",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000009hEAA"
}
],
"productSpecificationType": {
"name": "ProdSpecRecType1",
"productSpecificationRecordType": {}
},
"qualificationContext": {
"isQualified": true
}
255
Product Catalog Management Product Discovery Business APIs
}
]
}
result Any response body Result that contains the details of products. Small, 61.0 61.0
userContext User Context[] User context details. For example, account Small, 61.0 61.0
ID or contact ID.
],
"statusCode": "FetchedDetailsSuccessfully"
},
"correlationId": "32595ed6-1922-41f7-9c2c-373c677a7d62",
"result": {
"catalogCode": "Mobiles",
"catalogType": "Sales",
"description": "Catalog for mobile phones",
"effectiveEndDate": "2028-04-01T19:00Z",
"effectiveStartDate": "2024-04-01T19:00Z",
"id": "0ZSxx0000000001GAA",
"name": "Mobiles",
"numberOfCategories": 3
}
}
],
"statusCode": "FetchedDetailsSuccessfully"
},
"correlationId": "f9fb90de-36aa-44a1-9961-a9ef5fc0cad8",
256
Product Catalog Management Product Discovery Business APIs
"result": {
"catalogId": "0ZSxx0000000001GAA",
"childCategories": [
],
"description": "Category for Samsung phones",
"id": "0ZGxx000000004rGAA",
"name": "Samsung",
"isNavigational": true,
"sortOrder": 2
}
}
],
"statusCode": "FetchedDetailsSuccessfully"
},
"correlationId": "822a8941-7412-4883-bb80-e488f908471e",
"result": {
"additionalFields": {
"CustomField1__c": "TextValue",
"CustomField2__c": "10",
"StandardField1": "false"
},
"attributeCategories": [
],
"attributes": [
],
"catalogs": [
],
"childProducts": [
],
"id": "01txx0000006i2WAAQ",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "iPhone15",
"nodeType": "simpleProduct",
"prices": [
],
"productClassification": {
},
"productCode": "iPhone15",
"productComponentGroups": [
257
Product Catalog Management Product Discovery Business APIs
],
"productSellingModelOptions": [
{
"id": "0iOxx0000000003EAA",
"productId": "01txx0000006i2WAAQ",
"productSellingModel": {
"id": "0jPxx0000000001EAA",
"name": "OneTime",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000001EAA"
},
{
"id": "0iOxx0000000004EAA",
"productId": "01txx0000006i2WAAQ",
"productSellingModel": {
"id": "0jPxx0000000002EAA",
"name": "Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000002EAA"
}
],
"productSpecificationType": {
"name": "ProdSpecRecType1",
"productSpecificationRecordType": {
}
}
}
}
result Any response body Result that contains the details of catalogs, Small, 60.0 60.0
categories, or products as per the requested
resource.
userContext User Context User context details. For example, account Small, 60.0 60.0
ID or contact ID.
258
Product Catalog Management Product Discovery Business APIs
],
"statusCode": "FetchedDetailsSuccessfully"
},
"correlationId": "9f417514-9587-4063-9e48-18a2cf2477c0",
"limit": 10,
"offSet": 0,
"query": {
},
"result": [
{
"catalogCode": "Mobiles",
"catalogType": "Sales",
"description": "Catalog for mobile phones",
"effectiveEndDate": "2028-04-01T19:00Z",
"effectiveStartDate": "2024-04-01T19:00Z",
"id": "0ZSxx0000000001GAA",
"name": "Mobiles",
"numberOfCategories": 3
}
],
"total": 1
}
],
"statusCode": "FetchedDetailsSuccessfully"
},
"correlationId": "3f2a8f45-e7d2-42ec-bc4c-b981d750e912",
"query": {
},
"result": [
{
"catalogId": "0ZSxx0000000001GAA",
"childCategories": [
],
"description": "Category for Apple phones and iPads",
"id": "0ZGxx0000000001GAA",
259
Product Catalog Management Product Discovery Business APIs
"name": "Apple",
"sortOrder": 1,
"isNavigational": true
},
{
"catalogId": "0ZSxx0000000001GAA",
"childCategories": [
],
"description": "Category for Samsung phones",
"id": "0ZGxx000000004rGAA",
"name": "Samsung",
"sortOrder": 2,
"isNavigational": true
},
{
"catalogId": "0ZSxx0000000001GAA",
"childCategories": [
],
"description": "Category for Android phones",
"id": "0ZGxx000000006TGAQ",
"name": "Android",
"isNavigational": true
}
],
"total": 3
}
260
Product Catalog Management Product Discovery Business APIs
],
"categories": [
{
"catalogId": "0ZSDU0000002Og74AE",
"childCategories": [],
"customFields": {},
"hasSubCategories": false,
"id": "0ZGDU0000002P0H4AU",
"name": "Cloud Services",
"qualificationContext": {
"isQualified": true
}
}
],
"childProducts": [],
"configureDuringSale": "Allowed",
"description": "The laptop pro bundle includes a Laptop, mouse, warranty for 2
years, premium support and printer bundle",
"displayUrl":
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSCrGjPR1fvJqg4yP3RMyqjI0H9eL6tk1fvzw&usqp=CAU",
"id": "01tDU000000ExkZYAS",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Laptop Pro Bundle",
"nodeType": "bundleProduct",
"prices": [],
"productClassification": {},
"productCode": "LPB001",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iODU0000002TBN2A2",
"productId": "01tDU000000ExkZYAS",
"productSellingModel": {
"id": "0jPDU0000002OTv2AM",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPDU0000002OTv2AM"
}
],
"productSpecificationType": {
"name": "Commercial",
"productSpecificationRecordType": {}
},
"productType": "Bundle",
"qualificationContext": {
"isQualified": true
}
}
261
Product Catalog Management Product Discovery Business APIs
]
}
This example shows a sample of the list of products retrieved based on the Laptop search term.
{
"apiStatus": {
"messages": [],
"statusCode": "FetchedDetailsSuccessfully"
},
"correlationId": "d9d8f898-19f5-464a-ba2b-6a070783f6c4",
"cursor": "MTAwMDAwMDAwMw==",
"facets": [
{
"attributeType": "ProductStandard",
"displayName": "Product Type",
"displayRank": 2,
"nameOrId": "Type",
"values": [
{
"displayName": "Bundle",
"nameOrId": "Bundle"
}
]
},
{
"attributeType": "ProductDynamicAttribute",
"displayName": "Display",
"displayRank": 3,
"nameOrId": "0tjDU0000003K5BYAU",
"values": [
{
"displayName": "1080p Built-in Display",
"nameOrId": "1080p Built-in Display"
},
{
"displayName": "2k Built-in Display",
"nameOrId": "2k Built-in Display"
},
{
"displayName": "4k Built-in Display",
"nameOrId": "4k Built-in Display"
}
]
}
],
"limit": 10,
"query": {},
"result": [
{
"additionalFields": {},
"attributeCategories": [],
"catalogs": [],
"categories": [
{
262
Product Catalog Management Product Discovery Business APIs
"catalogId": "0ZSDU0000002Og64AE",
"childCategories": [],
"customFields": {},
"hasSubCategories": false,
"id": "0ZGDU0000002P0A4AU",
"name": "Laptops",
"qualificationContext": {
"isQualified": true
}
}
],
"configureDuringSale": "Allowed",
"description": "Battery- or AC-powered personal computer (PC) smaller than a
briefcase",
"displayUrl":
"https://media.istockphoto.com/id/1023428598/photo/3d-illustration-laptop-isolated-on-white-background-laptop-with-empty-space-screen-laptop-at.jpg?s=612x612&w=0&k=20&c=ssK6er5v1fGpSghGiqySwoD8tn5blC7xgefQJI2xU38=",
"id": "01tDU000000ExkWYAS",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Laptop",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {
"id": "11BDU0000002TCD2A2"
},
"productCode": "LP001",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iODU0000002TBF2A2",
"productId": "01tDU000000ExkWYAS",
"productSellingModel": {
"id": "0jPDU0000002OTv2AM",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPDU0000002OTv2AM"
}
],
"productSpecificationType": {
"name": "Commercial",
"productSpecificationRecordType": {}
},
"qualificationContext": {
"isQualified": true
}
},
{
"additionalFields": {},
"attributeCategories": [],
"catalogs": [],
263
Product Catalog Management Product Discovery Business APIs
"categories": [
{
"catalogId": "0ZSDU0000002Og64AE",
"childCategories": [],
"customFields": {},
"hasSubCategories": false,
"id": "0ZGDU0000002P0A4AU",
"name": "Laptops",
"qualificationContext": {
"isQualified": true
}
}
],
"configureDuringSale": "Allowed",
"description": "The laptop basic bundle includes a Laptop, mouse, and warranty
for 1 year.",
"displayUrl":
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTbf49JG4zZogCmZMJuXU38qOkR9X36MN4bSw&usqp=CAU",
"id": "01tDU000000ExkXYAS",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Laptop Basic Bundle",
"nodeType": "bundleProduct",
"prices": [],
"productClassification": {},
"productCode": "LB001",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iODU0000002TBD2A2",
"productId": "01tDU000000ExkXYAS",
"productSellingModel": {
"id": "0jPDU0000002OTv2AM",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPDU0000002OTv2AM"
}
],
"productSpecificationType": {
"name": "Commercial",
"productSpecificationRecordType": {}
},
"productType": "Bundle",
"qualificationContext": {
"isQualified": true
}
},
{
"additionalFields": {},
"attributeCategories": [],
264
Product Catalog Management Product Discovery Business APIs
"catalogs": [],
"categories": [
{
"catalogId": "0ZSDU0000002Og64AE",
"childCategories": [],
"customFields": {},
"hasSubCategories": false,
"id": "0ZGDU0000002P0A4AU",
"name": "Laptops",
"qualificationContext": {
"isQualified": true
}
}
],
"configureDuringSale": "Allowed",
"description": "The laptop pro bundle includes a Laptop, mouse, warranty for 2
years, premium support and printer bundle",
"displayUrl":
"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSCrGjPR1fvJqg4yP3RMyqjI0H9eL6tk1fvzw&usqp=CAU",
"id": "01tDU000000ExkZYAS",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Laptop Pro Bundle",
"nodeType": "bundleProduct",
"prices": [],
"productClassification": {},
"productCode": "LPB001",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iODU0000002TBN2A2",
"productId": "01tDU000000ExkZYAS",
"productSellingModel": {
"id": "0jPDU0000002OTv2AM",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPDU0000002OTv2AM"
}
],
"productSpecificationType": {
"name": "Commercial",
"productSpecificationRecordType": {}
},
"productType": "Bundle",
"qualificationContext": {
"isQualified": true
}
},
{
"additionalFields": {},
265
Product Catalog Management Product Discovery Business APIs
"attributeCategories": [],
"catalogs": [],
"categories": [
{
"catalogId": "0ZSDU0000002Og64AE",
"childCategories": [],
"customFields": {},
"hasSubCategories": false,
"id": "0ZGDU0000002P0A4AU",
"name": "Laptops",
"qualificationContext": {
"isQualified": true
}
}
],
"configureDuringSale": "Allowed",
"description": "Laptop, Laptop Bag, Laptop stand, Mouse, Keyboard, USB-C
Hub,External Hard Drive, Noise Cancelling Headphones, office 365",
"displayUrl": "https://m.media-amazon.com/images/I/613Fno-NLYL._AC_SL1000_.jpg",
"id": "01tDU000000ExlAYAS",
"isActive": true,
"isAssetizable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Laptop Productivity Bundle",
"nodeType": "bundleProduct",
"prices": [],
"productClassification": {},
"productCode": "LPB001",
"productComponentGroups": [],
"productSellingModelOptions": [
{
"id": "0iODU0000002TBq2AM",
"productId": "01tDU000000ExlAYAS",
"productSellingModel": {
"id": "0jPDU0000002OTv2AM",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPDU0000002OTv2AM"
}
],
"productSpecificationType": {
"name": "Commercial",
"productSpecificationRecordType": {}
},
"productType": "Bundle",
"qualificationContext": {
"isQualified": true
}
}
],
"total": 4
}
266
Product Catalog Management Product Discovery Business APIs
This example shows a sample of the results of a qualification procedure that’s executed on a list of product IDs.
{
"apiStatus": {
"messages": [
],
"statusCode": "FetchedDetailsSuccessfully"
},
"contextId": "e055bb18-d4e8-41c3-881e-0132b9561708",
"correlationId": "c280c1b0-fd3f-4eac-9b08-075bdf1cbefc",
"query": {
},
"result": [
{
"productId": "01txx0000006i7PAAQ",
"qualificationContext": {
"isQualified": true
}
},
{
"productId": "01txx0000006i7QAAQ",
"qualificationContext": {
"isQualified": true
}
},
{
"productId": "01txx0000006i7IAAQ",
"qualificationContext": {
"isQualified": true
}
}
]
}
cursor String Unique ID to represent the position of each Small, 60.0 60.0
product in the dataset.
facets Search Products Details of the faceted search. Small, 63.0 63.0
Facet
limit Integer Number of items fetched in the response. Small, 60.0 60.0
offSet Integer Offset size from which the item count is Small, 60.0 60.0
fetched.
267
Product Catalog Management Product Discovery Business APIs
result Any response body Result that contains the list of catalogs, Small, 60.0 60.0
categories, or products as per the requested
resource.
userContext User Context User context details. For example, account Small, 60.0 60.0
ID or contact ID.
CPQ Message
Output representation of the API messages.
detail String Required details other than the message Small, 60.0 60.0
text.
severity String Severity of the API message. Valid values Small, 60.0 60.0
are:
• Error
• Info
• Warning
Facet Value
Output representation of the facet values found in the search result.
JSON example
"values": [
{
"displayName": "1080p Built-in Display",
"nameOrId": "1080p Built-in Display"
},
{
"displayName": "2k Built-in Display",
"nameOrId": "2k Built-in Display"
},
268
Product Catalog Management Product Discovery Business APIs
{
"displayName": "4k Built-in Display",
"nameOrId": "4k Built-in Display"
}
]
nameOrId String ID or the internal name of the facet value. Small, 63.0 63.0
Guided Selection
Output representation of the details of a guided selection.
JSON example
{
"apiStatus": {
"messages": [],
"statusCode": "FETCHED_DETAILS_SUCCESSFULLY"
},
"correlationId": "corrId",
"cursor": "MTAwMDAwMDAwNg==",
"searchTerms": [
{
"term": "IPhone"
},
{
"term": "4GB"
},
{
"term": "64GB"
}
],
"result": [
{
"additionalFields": {
"CustomField1__c": "TextValue",
"CustomField2__c": "10",
"StandardField1": "false"
},
"description": "IPhone-13",
"id": "01txx0000006kYwAAI",
"name": "Sample product 1",
"prices": [
{
"price": 150,
"priceBookEntryId": "12Axx0000004DF7EAM",
"priceBookId": "01sxx0000005puLAAQ",
"pricingModel": {
"frequency": "Monthly",
269
Product Catalog Management Product Discovery Business APIs
"id": "12Bxx000000CiCDEA0",
"name": "IPhone-13",
"occurrence": 6,
"pricingModelType": "Recurring"
}
},
{
"price": 400,
"priceBookEntryId": "12Axx0000004DGjEAM",
"priceBookId": "01sxx0000005puLAAQ",
"pricingModel": {
"id": "12Bxx000000CiCCEA0",
"name": "IPhone-13",
"pricingModelType": "OneTime"
}
}
],
"qualificationContext": {
"isQualified": true
}
}
]
}
270
Product Catalog Management Product Discovery Business APIs
displayRank Integer Display rank for the facet. Small, 63.0 63.0
nameOrId String ID or the internal name of the facet. Small, 63.0 63.0
values Facet Value[] Values of the facet found in the search Medium, 63.0 63.0
result. Sorted by display name in
alphabetical order.
271
Product Catalog Management Product Discovery Standard Invocable Actions
User Context
Output representation of the user context details.
272
Product Catalog Management Product Discovery Standard Invocable Actions
Inputs
Input Details
additionalContextData Type
Apex-defined
Description
An array of Apex runtime_industries_cpq.AdditionalContextData records
that contain the additional nodes that are used along with the context definition nodes for data
hydration.
The maximum number of supported nodes is 10.
additionalFields Type
Apex-defined
Description
An Apex runtime_industries_cpq.AdditionalFields record that contains an
array of additional standard or custom fields to include in the response.
The supported objects are:
• Product2
• ProductAttributeDefinition—If the fields defined for the
ProductAttributeDefinition object aren’t available for the
ProductClassificationAttr object, then the API request fails.
catalogId Type
string
Description
Catalog ID that’s used to find and retrieve the products.
categoryId Type
string
Description
ID of the category or subcategory to get the products for.
contextDefinition Type
string
Description
API name of the context definition used for context creation. If you don’t specify a value, the
context selected on the Product Discovery Settings page from Setup is used.
contextMapping Type
string
273
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
Description
API name of the context mapping that’s used for data hydration. The value of this parameter is
used only if it belongs to the specified context definition.
correlationId Type
string
Description
Currency code that’s used to calculate and show prices. Only the products with the currency
code matching the specified currency code are fetched.
currencyCode Type
string
Description
Currency code that’s used to calculate and show prices.
cursor Type
string
Description
A unique identifier that represents the position of the product from which the next set of results
are retrieved.
enablePricing Type
boolean
Description
Indicates whether the pricing procedure must run (true) or not (false).
The default value is true. To use this parameter, you must enable the Pricing Procedure setting
from Setup.
enableQualification Type
boolean
Description
Indicates whether the qualification procedure must run (true) or not (false).
The default value is true. To use this parameter, you must enable the Qualification Procedure
setting from Setup.
filter Type
Apex-defined
274
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
Description
A collection of Apex runtime_industries_cpq.FilterInputRepresentation
records where each record contains a related object and the filter criteria that’s applied on the
object.
The filter parameter supports only the name property.
The supported operators are:
• eq
• in
• contains
If this parameter contains multiple criteria, all the criteria are applied.
includeCatalogDetails Type
boolean
Description
Indicates whether catalog details must be included in the response (true) or not (false).
limit Type
integer
Description
Maximum number of results to be returned in the response. Enter a value from 1 through 100.
The default value is 10.
orderBy Type
string
Description
Comma-separated string of key-value pairs that specify how results are sorted. Each string must
contain a field name and its sort order. For example,
["name:asc",”custom_field:asc”].
priceBookId Type
string
Description
ID of the pricebook from which you wan to retrieve the pricing details.
productClassificationId Type
string
Description
ID of the product classification that’s used to filter products.
275
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
pricingProcedure Type
string
Description
API name of the pricing procedure to calculate product prices. If you don’t specify a value, the
pricing procedure selected on the Product Discovery Settings page from Setup is used.
qualificationProcedure Type
string
Description
API name of the qualification procedure to evaluate product eligibility. If you don’t specify a
value, the qualification procedure selected on the Product Discovery Settings page from Setup
is used.
relatedObjectFilters Type
Apex-defined
Description
A collection of Apex
runtime_industries_cpq.RelatedObjectFilterInputRepresentation
records, where each record contains a related object and the filter criteria that’s applied on the
object.
searchTerm Type
string
Description
Required.
Search term to find and retrieve products.
userContext Type
Apex-defined
Description
An Apex ConnectApi.UserContextInputRepresentation record that contains
the user details to evaluate product eligibility and calculate prices.
Outputs
Output Details
apiStatus Type
Apex-defined
276
Product Catalog Management Product Discovery Standard Invocable Actions
Output Details
Description
An Apex runtime_industries_cpq.ApiStatusRepresentation record that
contains a status code and message.
contextId Type
string
Description
ID of the context that’s created by using the specified context definition.
correlationId Type
string
Description
ID to reference a series of related actions.
cursor Type
string
Description
Unique identifier that represents the position of the next product in the dataset. It’s used as an
input to retrieve the next set of products.
results Type
Apex-defined
Description
An Apex runtime_industries_cpq.SearchProductsRepresentation record
that contains the products that match the query.
userContext Type
Apex-defined
Description
An Apex ConnectApi.UserContextRepresentation record that includes the user
details.
Example
POST
This sample request is for the Find Products action.
{
"inputs": [
277
Product Catalog Management Product Discovery Standard Invocable Actions
{
"searchTerm": "firstproduct",
"additionalContextData": [
{
"nodeName": "Contract",
"nodeData": {
"id": "xxxxx231",
"name": "Contract1"
}
},
{
"nodeName": "Lead",
"nodeData": {
"id": "lllllll31",
"name": "Lead1"
}
}
],
"additionalFields": {
"Product2": {
"fields": [
"CustomField1__c",
"StandardField1"
]
}
},
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"catalogId": "0ZSxx0000000001GAA",
"categoryId": "0ZGxx0000000004TAJ",
"currencyCode": "USD",
"priceBookId": "01sxx0000005puLAAQ",
"productClassificationId": "11BRO00000000222AA",
"limit": 10,
"cursor": "MTAwMDAwMDAwNg==",
"orderBy": [
"name:asc"
],
"userContext": {
"accountId": "001xx0000000001AAA"
},
"enableQualification": true,
"enablePricing": true,
"qualificationProcedure": "QualificationProcedure",
"pricingProcedure": "Preview",
"contextDefinition": "TestDefinition",
"contextMapping": "TestDefinitionNode",
"includeCatalogDetails": false,
"filter": {
"criteria": [
{
"property": "name",
"operator": "eq",
"value": "Catalog_Name_1"
}
278
Product Catalog Management Product Discovery Standard Invocable Actions
]
},
"relatedObjectFilters": [
{
"objectName": "ProductSpecificationRecType",
"criteria": [
{
"property": "IsCommercial",
"operator": "eq",
"value": true
}
]
}
]
}
]
}
279
Product Catalog Management Product Discovery Standard Invocable Actions
"pricingModel": {
"id": "12Bxx000000CiCCEA0",
"name": "IPhone-13",
"pricingModelType": "OneTime"
}
}
],
"qualificationContext": {
"isQualified": true
}
},
{
"additionalFields": {
"CustomField1__c": "TextValue",
"CustomField2__c": "10",
"StandardField1": "false"
},
"description": "Sample product 2",
"name": "Sample product 2",
"id": "01txx0000006kYwAAI",
"prices": [],
"qualificationContext": {
"isQualified": false
}
},
{
"description": "Sample product 3",
"name": "Sample product 3",
"id": "01txx0000006kYwAAI",
"prices": [],
"qualificationContext": {
"isQualified": true
}
}
],
"userContext": {
"accountId": "001xx0000000001AAA"
}
}
280
Product Catalog Management Product Discovery Standard Invocable Actions
@InvocableVariable(required=false)
public String recordId;
}
output.additionalContextDataFinalOutput.additionalContextData = listContextData;
relatedObjectFilter.objectName = 'ProductSpecificationRecType';
List<runtime_industries_cpq.FilterCriteriaInputRepresentation> criteriaList =
new List<runtime_industries_cpq.FilterCriteriaInputRepresentation>();
runtime_industries_cpq.FilterCriteriaInputRepresentation criteria = new
runtime_industries_cpq.FilterCriteriaInputRepresentation();
criteria.property = 'IsCommercial';
criteria.operator = 'eq';
criteria.value = 'true';
281
Product Catalog Management Product Discovery Standard Invocable Actions
criteriaList.add(criteria);
relatedObjectFilter.criteria = criteriaList;
relatedObjectFilterList.add(relatedObjectFilter);
output.relatedObjectFilter.relatedObjectFilter = relatedObjectFilterList;
output.userContext.accountId = '001DU000001nx9BYAQ';
return flowOutputs;
282
Product Catalog Management Product Discovery Standard Invocable Actions
Inputs
Input Details
additionalContextData Type
Apex-defined
Description
An array of Apex runtime_industries_cpq.AdditionalContextData records
that contain the additional nodes that are used along with the context definition nodes for data
hydration.
The maximum number of supported nodes is 10.
additionalFields Type
Apex-defined
Description
An Apex runtime_industries_cpq.AdditionalFields record that contains an
array of additional standard or custom fields to include in the response.
The supported objects are:
• Product2
• ProductAttributeDefinition—If the fields defined for the
ProductAttributeDefinition object aren’t available for the
ProductClassificationAttr object, then the API request fails.
catalogId Type
string
Description
Catalog ID that’s used to find and retrieve the products.
categoryId Type
string
Description
ID of the category or subcategory to get the products for.
contextDefinition Type
string
Description
API name of the context definition that’s used for context creation.
If you don’t specify a value, the context selected on the Product Discovery Settings page from
Setup is used.
283
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
contextMapping Type
string
Description
API name of the context mapping that’s used for data hydration.
The value of this parameter is used only if it belongs to the specified context definition.
correlationId Type
string
Description
Unique ID that’s used to reference a series of related actions.
currencyCode Type
string
Description
Currency code that’s used to calculate and show prices. Only the products with the currency
code matching the specified currency code are fetched.
cursor Type
string
Description
Unique identifier that represents the position of the product from which the next set of results
are retrieved.
enablePricing Type
boolean
Description
Indicates whether the pricing procedure must run (true) or not (false).
The default value is true. To use this parameter, you must enable the Pricing Procedure setting
from Setup.
enableQualification Type
boolean
Description
Indicates whether the qualification procedure must run (true) or not (false).
The default value is true. To use this parameter, you must enable the Qualification Procedure
setting from Setup.
284
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
filter Type
Apex-defined
Description
A collection of Apex runtime_industries_cpq.FilterInputRepresentation
records where each record contains a related object and the filter criteria that’s applied on the
object.
The filter parameter supports only the name property.
The supported operators are:
• eq
• in
• contains
If this parameter contains multiple criteria, all the criteria are applied.
includeCatalogDetails Type
boolean
Description
Indicates whether catalog details must be included in the response (true) or not (false).
limit Type
integer
Description
Maximum number of results to be returned in the response. Specify a value from 1 through 100.
The default value is 10.
orderBy Type
string
Description
Comma-separated string of key-value pairs that specify how the results are sorted. Each string
must contain a field name and its sort order. For example,
["name:asc",”custom_field:asc”].
priceBookId Type
string
Description
ID of the pricebook that the pricing details are retrieved from.
pricingProcedure Type
string
285
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
Description
API name of the pricing procedure to calculate product prices. If you don’t specify a value, the
pricing procedure selected on the Product Discovery Settings page from Setup is used.
productClassificationId Type
string
Description
ID of the product classification that’s used to filter the products.
qualificationProcedure Type
string
Description
API name of the qualification procedure to evaluate product eligibility. If you don’t specify a
value, the qualification procedure selected on the Product Discovery Settings page from Setup
is used.
relatedObjectFilters Type
Apex-defined
Description
A collection of Apex
runtime_industries_cpq.RelatedObjectFilterInputRepresentation
records, where each record contains a related object and the filter criteria that’s applied on the
object.
userContext Type
Apex-defined
Description
An Apex ConnectApi.UserContextInputRepresentation record that contains
the user details to evaluate product eligibility and calculate prices.
Outputs
Output Details
apiStatus Type
Apex-defined
Description
An Apex runtime_industries_cpq.ApiStatusRepresentation record that
contains a status code and message.
286
Product Catalog Management Product Discovery Standard Invocable Actions
Output Details
contextId Type
string
Description
ID of the context that’s created by using the specified context definition.
correlationId Type
string
Description
ID to reference a series of related actions.
cursor Type
string
Description
Unique identifier that represents the position of the product from which the next set of results
are retrieved.
results Type
Apex-defined
Description
An Apex runtime_industries_cpq.ProductListRepresentation record that
contains the retrieved products.
userContext Type
Apex-defined
Description
An Apex ConnectApi.UserContextRepresentation record that includes the user
details.
Example
POST
This sample request is for the Get Products action.
{
"inputs": [
{
"additionalContextData": [
{
"nodeName": "Contract",
"nodeData": {
"id": "xxxxx231",
287
Product Catalog Management Product Discovery Standard Invocable Actions
"name": "Contract1"
}
},
{
"nodeName": "Lead",
"nodeData": {
"id": "lllllll31",
"name": "Lead1"
}
}
],
"additionalFields": {
"Product2": {
"fields": [
"CustomField1__c",
"StandardField1"
]
}
},
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"catalogId": "0ZSxx0000000001GAA",
"categoryId": "0ZGxx0000000004TAJ",
"currencyCode": "USD",
"priceBookId": "01sxx0000005puLAAQ",
"productClassificationId": "11BRO00000000222AA",
"limit": 10,
"cursor": "MTAwMDAwMDAwNg==",
"orderBy": [
"name:asc"
],
"userContext": {
"accountId": "001xx0000000001AAA"
},
"enableQualification": true,
"enablePricing": true,
"qualificationProcedure": "QualificationProcedure",
"pricingProcedure": "Preview",
"contextDefinition": "TestDefinition",
"contextMapping": "TestDefinitionNode",
"filter": {
"criteria": [
{
"property": "name",
"operator": "eq",
"value": "Catalog_Name_1"
}
]
},
"relatedObjectFilters": [
{
"objectName": "ProductSpecificationRecType",
"criteria": [
{
"property": "IsCommercial",
288
Product Catalog Management Product Discovery Standard Invocable Actions
"operator": "eq",
"value": true
}
]
}
]
}
]
}
289
Product Catalog Management Product Discovery Standard Invocable Actions
"isQualified": true
}
},
{
"additionalFields": {
"CustomField1__c": "TextValue",
"CustomField2__c": "10",
"StandardField1": "false"
},
"description": "Sample product 2",
"name": "Sample product 2",
"id": "01txx0000006kYwAAI",
"prices": [],
"qualificationContext": {
"isQualified": false
}
},
{
"description": "Sample product 3",
"name": "Sample product 3",
"id": "01txx0000006kYwAAI",
"prices": [],
"qualificationContext": {
"isQualified": true
}
}
],
"userContext": {
"accountId": "001xx0000000001AAA"
}
}
@InvocableVariable(required=false)
public String recordId;
}
290
Product Catalog Management Product Discovery Standard Invocable Actions
public runtime_industries_cpq.AdditionalContextData
additionalContextDataFinalOutput = new runtime_industries_cpq.AdditionalContextData();
output.additionalContextDataFinalOutput.additionalContextData = listContextData;
relatedObjectFilter.objectName = 'ProductSpecificationRecType';
List<runtime_industries_cpq.FilterCriteriaInputRepresentation> criteriaList =
new List<runtime_industries_cpq.FilterCriteriaInputRepresentation>();
runtime_industries_cpq.FilterCriteriaInputRepresentation criteria = new
runtime_industries_cpq.FilterCriteriaInputRepresentation();
criteria.property = 'IsCommercial';
criteria.operator = 'eq';
criteria.value = 'true';
criteriaList.add(criteria);
relatedObjectFilter.criteria = criteriaList;
relatedObjectFilterList.add(relatedObjectFilter);
output.relatedObjectFilter.relatedObjectFilter = relatedObjectFilterList;
output.userContext.accountId = '001DU000001nx9BYAQ';
291
Product Catalog Management Product Discovery Standard Invocable Actions
return flowOutputs;
Inputs
Input Details
additionalContextData Type
Apex-defined
Description
An array of Apex runtime_industries_cpq.AdditionalContextData records
that contain the additional nodes that are used along with the context definition nodes for data
hydration.
292
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
The maximum number of supported nodes is 10.
additionalFields Type
Apex-defined
Description
An Apex runtime_industries_cpq.AdditionalFields record that contains an
array of additional standard or custom fields to include in the response.
The supported objects are:
• Product2
• ProductAttributeDefinition—If the fields defined for the
ProductAttributeDefinition object aren’t available for the
ProductClassificationAttr object, then the API request fails.
catalogId Type
string
Description
Catalog ID that’s used to find and retrieve the products.
contextDefinition Type
string
Description
API name of the context definition for context creation.
If you don’t provide a value, the context selected on the Product Discovery Settings page from
Setup is used.
contextMapping Type
string
Description
API name of the context mapping for data hydration. The value of this parameter is used only if
it belongs to the specified context definition.
correlationId Type
string
Description
Currency code that’s used to calculate and show prices. Only the products with the currency
code matching the specified currency code are fetched.
currencyCode Type
string
293
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
Description
Currency code that’s used to calculate and show prices.
enablePricing Type
boolean
Description
Indicates whether the pricing procedure must run (true) or not (false).
The default value is true.
To use this parameter, you must enable the Pricing Procedure setting from Setup.
enableQualification Type
boolean
Description
Indicates whether the qualification procedure must run (true) or not (false).
The default value is true.
To use this parameter, you must enable the Qualification Procedure setting from Setup.
priceBookId Type
string
Description
ID of the pricebook from which you want to retrieve the pricing details.
pricingProcedure Type
string
Description
API name of the pricing procedure to calculate product prices.
If you don’t specify a value, the pricing procedure selected on the Product Discovery Settings
page from Setup is used.
productId Type
string
Description
Required.
ID of the product to get the details for.
productSellingModelId Type
string
294
Product Catalog Management Product Discovery Standard Invocable Actions
Input Details
Description
ID of the product selling model.
qualificationProcedure Type
string
Description
API name of the qualification procedure to evaluate product eligibility.
If you don’t specify a value, the qualification procedure selected on the Product Discovery Settings
page from Setup is used.
userContext Type
Apex-defined
Description
An Apex ConnectApi.UserContextInputRepresentation record that contains
the user details to evaluate product eligibility and calculate prices.
Outputs
Output Details
apiStatus Type
Apex-defined
Description
An Apex runtime_industries_cpq.ApiStatusRepresentation record that
contains a status code and message.
contextId Type
string
Description
ID of the context that’s created by using the specified context definition.
correlationId Type
string
Description
ID to reference a series of related actions.
results Type
Apex-defined
295
Product Catalog Management Product Discovery Standard Invocable Actions
Output Details
Description
An Apex runtime_industries_cpq.ProductDetailsRepresentation record
that contains the product details.
userContext Type
Apex-defined
Description
An Apex ConnectApi.UserContextRepresentation record that contains the user
details.
Example
POST
This sample request is for the Get Product Details action.
{
"inputs": [{
"additionalContextData": [
{
"nodeName": "Contract",
"nodeData": {
"id": "xxxxx231",
"name": "Contract1"
}
},
{
"nodeName": "Lead",
"nodeData": {
"id": "lllllll31",
"name": "Lead1"
}
}
],
"additionalFields": {
"Product2": {
"fields": [
"CustomField1__c",
"StandardField1"
]
}
},
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"catalogId": "0ZSxx0000000001GAA",
"currencyCode": "USD",
"priceBookId": "01sxx0000005puLAAQ",
"productId": "01txx0000006j08AAA",
"productSellingModelId": "0jPxx000000004rEAA",
"userContext": {
296
Product Catalog Management Product Discovery Standard Invocable Actions
"accountId": "001xx0000000001AAA"
},
"enableQualification": true,
"enablePricing": true,
"qualificationProcedure": "QualificationProcedure",
"pricingProcedure": "Preview",
"contextDefinition": "TestDefinition",
"contextMapping": "TestDefinitionNode"
}]
}
This is the sample response for the Get Product Details action.
{
"apiStatus": {
"messages": [],
"statusCode": "FETCHED_DETAILS_SUCCESSFULLY"
},
"contextId": "0U3RM00000000SR0AY",
"correlationId": "9cbb9650-48c5-11ed-96d1-0afcf185843b",
"result": [
{
"additionalFields": {
"CustomField1__c": "TextValue",
"CustomField2__c": "10",
"StandardField1": "false"
},
"description": "IPhone-13",
"id": "01txx0000006kYwAAI",
"name": "Sample product 1",
"prices": [
{
"price": 150,
"priceBookEntryId": "12Axx0000004DF7EAM",
"priceBookId": "01sxx0000005puLAAQ",
"pricingModel": {
"frequency": "Monthly",
"id": "12Bxx000000CiCDEA0",
"name": "IPhone-13",
"occurrence": 6,
"pricingModelType": "Recurring"
}
},
{
"price": 400,
"priceBookEntryId": "12Axx0000004DGjEAM",
"priceBookId": "01sxx0000005puLAAQ",
"pricingModel": {
"id": "12Bxx000000CiCCEA0",
"name": "IPhone-13",
"pricingModelType": "OneTime"
}
}
],
"qualificationContext": {
297
Product Catalog Management Product Discovery Standard Invocable Actions
"isQualified": true
}
},
{
"additionalFields": {
"CustomField1__c": "TextValue",
"CustomField2__c": "10",
"StandardField1": "false"
},
"description": "Sample product 2",
"name": "Sample product 2",
"id": "01txx0000006kYwAAI",
"prices": [],
"qualificationContext": {
"isQualified": false
}
},
{
"description": "Sample product 3",
"name": "Sample product 3",
"id": "01txx0000006kYwAAI",
"prices": [],
"qualificationContext": {
"isQualified": true
}
}
],
"userContext": {
"accountId": "001xx0000000001AAA"
}
}
@InvocableVariable(required=false)
public String recordId;
}
298
Product Catalog Management Product Discovery Standard Invocable Actions
public runtime_industries_cpq.AdditionalContextData
additionalContextDataFinalOutput = new runtime_industries_cpq.AdditionalContextData();
output.additionalContextDataFinalOutput.additionalContextData = listContextData;
relatedObjectFilter.objectName = 'ProductSpecificationRecType';
List<runtime_industries_cpq.FilterCriteriaInputRepresentation> criteriaList =
new List<runtime_industries_cpq.FilterCriteriaInputRepresentation>();
runtime_industries_cpq.FilterCriteriaInputRepresentation criteria = new
runtime_industries_cpq.FilterCriteriaInputRepresentation();
criteria.property = 'IsCommercial';
criteria.operator = 'eq';
criteria.value = 'true';
criteriaList.add(criteria);
relatedObjectFilter.criteria = criteriaList;
relatedObjectFilterList.add(relatedObjectFilter);
output.relatedObjectFilter.relatedObjectFilter = relatedObjectFilterList;
output.userContext.accountId = '001DU000001nx9BYAQ';
299
Product Catalog Management Product Discovery Metadata API Types
return flowOutputs;
FlowActionCall
Product Discovery exposes additional actionType values for the FlowActionCall metadata type.
300
Product Catalog Management Product Discovery Metadata API Types
ProductDiscoverySettings
Represents the settings for Product Discovery.
Version
ProductDiscoverySettings components are available in API version 62.0 and later.
Fields
301
Product Catalog Management Product Discovery Metadata API Types
Description
Context definition that gets updated based on the user-selected options and provides
summary data.
<discoverProductsFlowNameOrgValue>revenue_products__DiscoverProducts</discoverProductsFlowNameOrgValue>
<prodDiscPricingEnabledOrgValue>true</prodDiscPricingEnabledOrgValue>
<prodDiscQualEnabledOrgValue>true</prodDiscQualEnabledOrgValue>
<prodDiscProcedureOrgValue>PricingProcedure</prodDiscProcedureOrgValue>
<prodDiscQualificationOrgValue>QualificationProcedure</prodDiscQualificationOrgValue>
<prodDiscBrowseContextDefOrgValue>BrowseContextDefinition</prodDiscBrowseContextDefOrgValue>
</ProductDiscoverySettings>
302
Product Catalog Management Product Discovery Metadata API Types
303
CHAPTER 3 Salesforce Pricing
In this chapter ... Create customized price adjustment methods and pricing
EDITIONS
procedures. Determine the discounts to apply to your products
• Salesforce Pricing and services by using price adjustment methods. Get visibility into Available in: Lightning
Standard Objects the pricing calculation process by using pricing procedures. Experience
• Salesforce Pricing
Business APIs Available in: Enterprise,
SEE ALSO: Unlimited, and Developer
• Salesforce Pricing
Standard Invocable
Salesforce Help: Permissions for Salesforce Pricing Editions of Revenue Cloud
Actions where Salesforce Pricing is
enabled
• Salesforce Pricing
Metadata API Types
• Salesforce Pricing
Tooling API Objects
304
Salesforce Pricing Salesforce Pricing Standard Objects
AttributeAdjustmentCondition
Represents the condition applied to an attribute that determines the price of a product or service being sold. This object is available
in API version 60.0 and later.
AttributeBasedAdjRule
Represents the attribute conditions in a rule associated with the attribute based adjustment made for a product or service being
sold. This object is available in API version 60.0 and later.
AttributeBasedAdjustment
Represents the association between the product selling model and the price adjustment for product or service being sold based on
its attributes. This object stores information about the attributes that define the price of the product or service, the discounts applied,
along with its value for a given date range. This object is available in API version 60.0 and later.
AttributeDefinition
Represents a product, asset, or object attribute, for example, a hardware specification or software detail. This object is available in
API version 60.0 and later.
BundleBasedAdjustment
Represents the association between the product selling model and the price adjustment for a product or service being sold as a
bundle. This object stores information of the product or service's price, the discounts applied, along with its value for a given date
range. This object is available in API version 60.0 and later.
CostBook
Represents the cost book that contains multiple cost book entries. This object is available in API version 61.0 and later.
ContractItemPrice
Represents the price of a product on the contract. This object is available in API version 61.0 and later.
CostBookEntry
Represents the total cost of a product or service that’s determined based on various factors that affect a product's price. For example,
when a product is manufactured, the weight of the raw material can be a cost factor based on the amount of material required and
its shipping cost. This object is available in API version 61.0 and later.
PriceAdjustmentSchedule
Represents a series of tiered discounts based on the number of items purchased. This object is available in API version 60.0 and later.
PriceAdjustmentTier
Represents a discount tier in a price adjustment schedule. This object is available in API version 60.0 and later.
PriceBook2
Represents a price book that contains the list of products that your org sells. This object is available in API version 60.0 and later.
PriceBookEntry
Represents a product entry (an association between a Pricebook2 and Product2) in a price book. This object is available in API version
60.0 and later.
PriceBookEntryDerivedPrice
Represents the price of a product that’s derived from another source such as a product or an asset. This object is available in API
version 61.0 and later.
305
Salesforce Pricing AttributeAdjustmentCondition
PricingAdjBatchJob
Represents the collective update of multiple records on their prices and other adjustments. This object is available in API version
62.0 and later.
PricingAdjBatchJobLog
Represents the report that contains a list of failed adjustment requests along with an error message that describes the reason for
failure. This object is available in API version 62.0 and later.
PricingAPIExecution
Represents the pricing resolution for an pricing element determined using strategy name and formula. This object is available in API
version 63.0 and later.
PricingProcedureResolution
Represents a selection for a pricing procedure to execute a pricing process from a list of pricing procedures available. This object is
available in API version 60.0 and later.
PricingProcessExecution
Represents a record generated during the execution of a discovery or pricing procedure. Multiple procedures may be performed
within a single API call, with each recorded in a Pricing API Execution record. This object is available in API version 63.0 and later.
ProductPriceHistoryLog
Stores historical pricing data based on the product's price range. This object is available in API version 62.0 and later.
ProductPriceRange
Represents the price range of a product determined by using a product selling model that’s stored in the relevant price book. This
object is available in API version 62.0 and later.
ProductSellingModel
Defines one method by which a product can be sold; for example, as a one-time sale, an evergreen subscription, or a termed
subscription. If the product is sold on subscription, this object defines the subscription’s term. A product can have multiple product
selling models. This object is available in API version 60.0 and later.
ProductSellingModelDataTranslation
Represents the translated values of the data stored within the ProductSellingModel record’s fields. This object is available in API
version 61.0 and later.
ProductSellingModelOption
A junction object between Product Selling Model and Product2. This object is available in API version 60.0 and later.
SEE ALSO:
Object Reference for the Salesforce Platform: Overview of Salesforce Objects and Fields
SOAP API Developer Guide: Introduction to SOAP API
AttributeAdjustmentCondition
Represents the condition applied to an attribute that determines the price of a product or service being sold. This object is available in
API version 60.0 and later.
Supported Calls
create(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(),
search(), update(), upsert()
306
Salesforce Pricing AttributeAdjustmentCondition
Fields
Field Details
AttributeBasedAdjRuleId Type
reference
Properties
Create, Filter, Group, Sort
Description
Specifies the attribute adjustment rule record for which the condition is to be applied.
This field is a relationship field.
Relationship Name
AttributeBasedAdjRule
Relationship Type
Lookup
Refers To
AttributeBasedAdjRule
AttributeDefinitionId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
Specifies the attribute definition record for which the condition is to be applied.
This field is a relationship field.
Relationship Name
AttributeDefinition
Relationship Type
Lookup
Refers To
AttributeDefinition
BooleanValue Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies the boolean value of the operator.
Possible values are:
• False
• True
307
Salesforce Pricing AttributeAdjustmentCondition
Field Details
DateTimeValue Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date time value of the attribute.
DateValue Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The date value of the attribute.
DoubleValue Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The double value of the attribute.
IntegerValue Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The integer value of the attribute.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
308
Salesforce Pricing AttributeAdjustmentCondition
Field Details
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Name of the attribute adjustment condition.
Operator Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Operator used by the attribute.
Possible values are:
• doesnotexistin—Does Not Exist In
• equals—Equals
• existsin—Exists In
• greaterorequal—Greater Or Equal
• greaterthan—Greater Than
• lessorequal—Less Or Equal
• lessthan—Less Than
• matches—Matches
• notequals—Not Equals
The default value is equals.
ProductId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the product associated with the attribute adjustment condition.
This field is a relationship field.
Relationship Name
Product
Relationship Type
Lookup
Refers To
Product2
309
Salesforce Pricing AttributeBasedAdjRule
Field Details
StringValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The string value of the attribute.
UsageType Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The type of record where the attribute adjustment condition is used.
Possible values are:
• Pricing
• Rating
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
AttributeAdjustmentConditionFeed on page 1661
Feed tracking is available for the object.
AttributeAdjustmentConditionHistory on page 1668
History is available for tracked fields of the object.
AttributeBasedAdjRule
Represents the attribute conditions in a rule associated with the attribute based adjustment made for a product or service being sold.
This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
310
Salesforce Pricing AttributeBasedAdjRule
Fields
Field Details
AttributeCount Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of attributes.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the attribute based adjustment rule was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Name of the attribute based adjustment rule.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
ID of the owner of the attribute based adjustment rule.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
311
Salesforce Pricing AttributeBasedAdjustment
Field Details
Refers To
Group, User
UsageType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of record where the attribute-based adjustment rule is used.
Possible values are:
• Pricing
• Rating
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
AttributeBasedAdjRuleFeed on page 1661
Feed tracking is available for the object.
AttributeBasedAdjRuleHistory on page 1668
History is available for tracked fields of the object.
AttributeBasedAdjRuleShare on page 1672
Sharing is available for the object.
AttributeBasedAdjustment
Represents the association between the product selling model and the price adjustment for product or service being sold based on its
attributes. This object stores information about the attributes that define the price of the product or service, the discounts applied, along
with its value for a given date range. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AdjustmentType Type
picklist
312
Salesforce Pricing AttributeBasedAdjustment
Field Details
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of pricing adjustment being made.
Possible values are:
• Amount
• Override
• Percentage
AdjustmentValue Type
double
Properties
Create, Filter, Sort, Update
Description
The value of the adjustment being made based on the adjustment type.
AttributeBasedAdjRuleId Type
reference
Properties
Create, Filter, Group, Sort
Description
The attribute based adjustment rule associated with this attribute based adjustment record.
This field is a relationship field.
Relationship Name
AttributeBasedAdjRule
Relationship Type
Lookup
Refers To
AttributeBasedAdjRule
AttributeCount Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of attributes.
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
313
Salesforce Pricing AttributeBasedAdjustment
Field Details
Description
ISO code of the currency. Must be one of the valid alphabetic, three-letter currency ISO codes
defined by the ISO 4217 standard, such as USD, GBP, or JPY. Must be unique within your
organization.
Possible values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the price list entry comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time till when the price list entry remains effective.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the attribute based adjustment was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
314
Salesforce Pricing AttributeBasedAdjustment
Field Details
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Name of the attribute based adjustment.
PriceAdjustmentScheduleId Type
reference
Properties
Create, Filter, Group, Sort
Description
The price adjustment schedule associated with the attribute based adjustment record.
This field is a relationship field.
Relationship Name
PriceAdjustmentSchedule
Relationship Type
Lookup
Refers To
PriceAdjustmentSchedule
PricingTerm Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of pricing term units in the pricing term. Used with PricingTermUnit to define
the length of the pricing term. For example, if PricingTermUnit is Months and this field is 1,
the subscription is priced monthly.If the selling model is one-time, this field must be null.
PricingTermUnit Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The unit of time used to define the pricing term. Used with PricingTerm to define the length
of the pricing term. For example, if this field is Months and PricingTerm is 1, the subscription
is priced monthly. If the selling model is one-time, this field must be null.
Possible values are:
• Annual—Years
• Months
• Quarterly
• Semi-Annual
315
Salesforce Pricing AttributeBasedAdjustment
Field Details
ProductId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the product associated with the product attribute set.
This field is a relationship field.
Relationship Name
Product
Relationship Type
Lookup
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the ProductSellingModel record associated with this attribute based adjustment
record.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
SellingModelType Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates whether the product is sold as a one-time sale, an evergreen subscription, or a
subscription with a defined term.
Possible values are:
• Evergreen
• OneTime—One Time
• TermDefined—Term-Defined
316
Salesforce Pricing AttributeDefinition
Field Details
The default value is OneTime.
Weight__c Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Weight value of the attribute.
WiFi_Standard__c Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
WiFi value of the attribute.
Possible values are:
• Checkbox
• Currency
• Date
• Datetime
• Multipicklist
• Number
• Percent
• Picklist
• Text
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
AttributeBasedAdjustmentFeed on page 1661
Feed tracking is available for the object.
AttributeBasedAdjustmentHistory on page 1668
History is available for tracked fields of the object.
AttributeDefinition
Represents a product, asset, or object attribute, for example, a hardware specification or software detail. This object is available in API
version 60.0 and later.
317
Salesforce Pricing AttributeDefinition
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Code Type
string
Properties
Create, Filter, Group, idLookup, Nillable, Sort, Update
Description
Code for the attribute definition. This field is unique within your organization.
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Available only if the multicurrency feature is enabled. Contains the ISO code for any currency
allowed by the organization.
Possible values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
DataType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The data type of the attribute definition.
Possible values are:
• Checkbox
• Currency
• Date
• Datetime
• Multipicklist
• Number
318
Salesforce Pricing AttributeDefinition
Field Details
• Percent
• Picklist
• Text
DefaultHelpText Type
textarea
Properties
Create, Nillable, Update
Description
The default help text for this attribute.
DefaultValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The default value for this attribute.
Description Type
textarea
Properties
Create, Nillable, Update
Description
Description of this attribute.
DeveloperName Type
string
Properties
Create, Filter, Group, Sort
Description
The unique name of the attribute definition record.
This name must begin with a letter and use only alphanumeric characters and underscores.
It can't include spaces, end with an underscore, or have two consecutive underscores.
IsActive Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates that the attribute definition is active. Active attributes definitions can be selected
for products.
319
Salesforce Pricing AttributeDefinition
Field Details
The default value is false.
IsRequired Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the attribute definition is required for a product.
The default value is false.
Label Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label for the attribute.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the attribute definition was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the attribute definition was last viewed.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the attribute.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
320
Salesforce Pricing AttributeDefinition
Field Details
Description
The owner of the attribute definition.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
PicklistId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the attribute picklist with the valid values for this attribute.
This field is a relationship field.
Relationship Name
Picklist
Relationship Type
Lookup
Refers To
AttributePicklist
SourceSystemIdentifier Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The identifier of the attribute definition in an external system.
ValueDescription Type
textarea
Properties
Create, Nillable, Update
Description
The default value description for this attribute.
321
Salesforce Pricing BundleBasedAdjustment
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
AttributeDefinitionFeed on page 1661
Feed tracking is available for the object.
AttributeDefinitionHistory on page 1668
History is available for tracked fields of the object.
AttributeDefinitionShare on page 1672
Sharing is available for the object.
BundleBasedAdjustment
Represents the association between the product selling model and the price adjustment for a product or service being sold as a bundle.
This object stores information of the product or service's price, the discounts applied, along with its value for a given date range. This
object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AdjustmentType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of pricing adjustment being made.
Possible values are:
• Amount
• Override
• Percentage
AdjustmentValue Type
double
Properties
Create, Filter, Sort, Update
Description
The type of pricing adjustment being made.
322
Salesforce Pricing BundleBasedAdjustment
Field Details
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
ISO code of the currency. Must be one of the valid alphabetic, three-letter currency ISO codes
defined by the ISO 4217 standard, such as USD, GBP, or JPY. Must be unique within your
organization.
Possible values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the bundle based adjustment comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time till when the bundle based adjustment remains effective.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the bundle based adjustment was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the bundle based adjustment was last viewed.
323
Salesforce Pricing BundleBasedAdjustment
Field Details
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the bundle based adjustment record.
ParentProductId Type
reference
Properties
Create, Filter, Group, Sort
Description
Represents the immediate parent in the product bundle that the price is configured for.
This field is a relationship field.
Relationship Name
ParentProduct
Relationship Type
Lookup
Refers To
Product2
ParentProductSellingModelId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The immediate parent node of a product selling model when nodes are represented in a
hierarchial structure.
This field is a relationship field.
Relationship Name
ParentProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
PriceAdjustmentScheduleId Type
reference
Properties
Create, Filter, Group, Sort
324
Salesforce Pricing BundleBasedAdjustment
Field Details
Description
The price adjustment schedule associated with the bundle based adjustment record.
This field is a relationship field.
Relationship Name
PriceAdjustmentSchedule
Relationship Type
Lookup
Refers To
PriceAdjustmentSchedule
PricingTerm Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of pricing term units in the pricing term. Used with PricingTermUnit to define
the length of the pricing term. For example, if PricingTermUnit is Months and this field is 1,
the subscription is priced monthly.If the selling model is one-time, this field must be null.
PricingTermUnit Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The unit of time used to define the pricing term. Used with PricingTerm to define the length
of the pricing term. For example, if this field is Months and PricingTerm is 1, the subscription
is priced monthly. If the selling model is one-time, this field must be null.
Possible values are:
• Annual—Years
• Months
• Quarterly
• Semi-Annual
ProductId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the product associated with the product bundle set.
This field is a relationship field.
325
Salesforce Pricing BundleBasedAdjustment
Field Details
Relationship Name
Product
Relationship Type
Lookup
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the ProductSellingModel record associated with this bundle based adjustment
record.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
RootBundleId Type
reference
Properties
Create, Filter, Group, Sort
Description
Represents the structural root product in a product's bundle that the price is configured for.
This field is a relationship field.
Relationship Name
RootBundle
Relationship Type
Lookup
Refers To
Product2
RootProductSellingModelId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
326
Salesforce Pricing CostBook
Field Details
Description
The root product selling model. The primary or base product selling method.
This field is a relationship field.
Relationship Name
RootProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
SellingModelType Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates whether the product is sold as a one-time sale, an evergreen subscription, or a
subscription with a defined term.
Possible values are:
• Evergreen
• OneTime—One Time
• TermDefined—Term-Defined
The default value is OneTime.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
BundleBasedAdjustmentFeed on page 1661
Feed tracking is available for the object.
BundleBasedAdjustmentHistory on page 1668
History is available for tracked fields of the object.
CostBook
Represents the cost book that contains multiple cost book entries. This object is available in API version 61.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
327
Salesforce Pricing CostBook
Fields
Field Details
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
Date and time when the cost book comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
Date and time till when the cost book is no longer in effect.
IsDefault Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the cost book is default (true) or not (false).
The default value is true.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
328
Salesforce Pricing ContractItemPrice
Field Details
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Name of the cost book.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
ID of the user who created the record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
CostBookFeed on page 1661
Feed tracking is available for the object.
CostBookHistory on page 1668
History is available for tracked fields of the object.
CostBookShare on page 1672
Sharing is available for the object.
ContractItemPrice
Represents the price of a product on the contract. This object is available in API version 61.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
329
Salesforce Pricing ContractItemPrice
Fields
Field Details
ContractId Type
reference
Properties
Create, Filter, Group, Sort
Description
The contract record associated with this contract item price record.
This field is a relationship field.
Relationship Name
Contract
Relationship Type
Master-detail
Refers To
Contract (the master object)
CurrencyIsoCode Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Contains the ISO code for any currency allowed by the organization. Available only if the
multicurrency feature is enabled.
Valid value is:
• USD—U.S. Dollar
The default value is USD.
DiscountType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The unit of the discount.
Valid values are:
• AdjustmentAmount
• AdjustmentPercentage
DiscountValue Type
double
330
Salesforce Pricing ContractItemPrice
Field Details
Properties
Create, Filter, Nillable, Sort, Update
Description
The value of the discount.
EndDate Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time till when the contract item price is no longer in effect.
ItemId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the line item record associated with this contract item price record.
This field is a polymorphic relationship field.
Relationship Name
Item
Relationship Type
Lookup
Refers To
Product2, ProductCategory
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
331
Salesforce Pricing ContractItemPrice
Field Details
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the contract item price record.
Price Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
The unit price of the product that’s being sold as part of the contract.
ProductSellingModelId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the product selling model record associated with this contract item price record.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
SellingModelType Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies whether the line item is sold as a one-time sale, an evergreen subscription, or a
subscription with a defined term.
Valid values are:
• Evergreen
• OneTime
• TermDefined
The default value is OneTime.
332
Salesforce Pricing CostBookEntry
Field Details
StartDate Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the contract item price comes into effect.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ContractItemPriceFeed on page 1661
Feed tracking is available for the object.
ContractItemPriceHistory on page 1668
History is available for tracked fields of the object.
CostBookEntry
Represents the total cost of a product or service that’s determined based on various factors that affect a product's price. For example,
when a product is manufactured, the weight of the raw material can be a cost factor based on the amount of material required and its
shipping cost. This object is available in API version 61.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Cost Type
currency
Properties
Create, Filter, Sort, Update
Description
Total cost of the product.
CostBookId Type
reference
333
Salesforce Pricing CostBookEntry
Field Details
Properties
Create, Filter, Group, Sort
Description
ID of the Cost Book record with which this record is associated.
This field is a relationship field.
Relationship Name
CostBook
Relationship Type
Master-detail
Refers To
CostBook (the master object)
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
ISO code for any currency allowed by the organization. Available only for organizations with
the multicurrency feature enabled.
Valid values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
Description Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Description of this cost book entry record.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
Date and time when the cost book entry comes into effect.
EffectiveTo Type
dateTime
334
Salesforce Pricing CostBookEntry
Field Details
Properties
Create, Filter, Nillable, Sort, Update
Description
Date and time till when the cost book entry is no longer in effect.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Name of the cost book entry.
ProductId Type
reference
Properties
Create, Filter, Group, Sort
Description
Required. ID of the Product2 record with which this record is associated. This field must be
specified when creating Product2 records. This field can’t be changed in an update.
This field is a relationship field.
Relationship Name
Product
Relationship Type
Lookup
Refers To
Product2
335
Salesforce Pricing PriceAdjustmentSchedule
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
CostBookEntryFeed on page 1661
Feed tracking is available for the object.
CostBookEntryHistory on page 1668
History is available for tracked fields of the object.
PriceAdjustmentSchedule
Represents a series of tiered discounts based on the number of items purchased. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AdjustmentMethod Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The method for applying tiered pricing. Possible values are:
• Range—All items receive the discount of the highest tier the quantity falls in.
• Slab—Items receive the discount defined for the tier they fall in.
Possible values are:
• Range
• Slab
The default value is Range.
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Available only if the multicurrency feature is enabled. Contains the ISO code for any currency
allowed by the organization.
Possible values are:
336
Salesforce Pricing PriceAdjustmentSchedule
Field Details
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
Description Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Text description of the price adjustment schedule.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the price adjustment schedule comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the price adjustment schedule remains effective.
IsActive Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the price adjustment schedule is active (true) or not (false). You can change
this field’s value as often as necessary. Label is Active. Default value is False.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Indicates whether the price adjustment schedule has been archived (true) or not (false). This
field is read-only.
337
Salesforce Pricing PriceAdjustmentSchedule
Field Details
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Required. The name of the price adjustment schedule. This field is read-only. Label is Price
Adjustment Schedule Name.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The Salesforce ID of the sales representative who owns the price adjustment schedule.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
Pricebook2Id Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The price book associated with this price adjustment schedule record.
This field is a relationship field.
Relationship Name
Pricebook2
Relationship Type
Lookup
338
Salesforce Pricing PriceAdjustmentTier
Field Details
Refers To
Pricebook2
ScheduleType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of price adjustment schedule.
Possible values are:
• Attribute
• Bundle
• Custom
• Term
• Volume
The default value is Volume.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PriceAdjustmentScheduleShare on page 1672
Sharing is available for the object.
PriceAdjustmentTier
Represents a discount tier in a price adjustment schedule. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
Fields
Field Details
AdjustmentType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
339
Salesforce Pricing PriceAdjustmentTier
Field Details
Description
The type of price adjustment.
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Available only if the multicurrency feature is enabled. Contains the ISO code for any currency
allowed by the organization.
Possible values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the price adjustment tier comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the price adjustment tier remains effective.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Indicates when the user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
340
Salesforce Pricing PriceAdjustmentTier
Field Details
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
LowerBound Type
double
Properties
Create, Filter, Sort, Update
Description
The minimum quantity the discount can be applied to. It must be a positive integer and less
than or equal to the upper bound of the tier.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the price adjustment tier.
PriceAdjustmentScheduleId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the price adjustment schedule that the discount is applied to.
This field is a relationship field.
Relationship Name
PriceAdjustmentSchedule
Relationship Type
Lookup
Refers To
PriceAdjustmentSchedule
PricingTerm Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of pricing term units in the pricing term. Used with PricingTermUnit to define
the length of the pricing term. For example, if PricingTermUnit is Months and this field is 1,
the subscription is priced monthly.If the selling model is one-time, this field must be null.
341
Salesforce Pricing PriceAdjustmentTier
Field Details
PricingTermUnit Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The unit of time used to define the pricing term. Used with PricingTerm to define the length
of the pricing term. For example, if this field is Months and PricingTerm is 1, the subscription
is priced monthly. If the selling model is one-time, this field must be null.
Possible values are:
• Annual—Years
• Months
Product2Id Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the product associated with the price adjustment tier.
This field is a relationship field.
Relationship Name
Product2
Relationship Type
Lookup
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the ProductSellingModel record associated with this price adjustment tier record.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
342
Salesforce Pricing PriceAdjustmentTier
Field Details
SellingModelType Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Indicates whether the product is sold as a one-time sale, an evergreen subscription, or a
subscription with a defined term.
Possible values are:
• Evergreen
• OneTime—One Time
• TermDefined—Term-Defined
The default value is OneTime.
TierType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The unit of the discount. Possible values are:
• AdjustmentAmount—An amount discounted from an item’s list price
• AdjustmentPercentage—A percentage discounted from an item’s list price
Possible values are:
• AdjustmentAmount—Amount
• AdjustmentPercentage—Percentage
• OverrideAmount—Override
TierValue Type
double
Properties
Create, Filter, Sort, Update
Description
The value of the discount.
UpperBound Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The maximum quantity the discount can be applied to. Must be a positive integer. Not
inclusive. Set this value one digit higher than the quantity you want the tier to include. For
343
Salesforce Pricing PriceBook2
Field Details
example, if a tier’s upper bound is 99, set the value of UpperBound to 100. For the last tier,
the value is optional.
Usage
To use PriceAdjustmentTiers, associate them with a PriceAdjustmentSchedule.
Tiers can’t overlap, and no gaps are allowed between tiers.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PriceAdjustmentTierFeed on page 1661
Feed tracking is available for the object.
PriceAdjustmentTierHistory on page 1668
History is available for tracked fields of the object.
PriceBook2
Represents a price book that contains the list of products that your org sells. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Available only if the multicurrency feature is enabled. Contains the ISO code for any currency
allowed by the organization.
Possible values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
344
Salesforce Pricing PriceBook2
Field Details
Description Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Text description of the price book.
IsActive Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the price book is active (true) or not (false). Inactive price books are hidden
in many areas in the user interface. You can change this field’s value as often as necessary.
Label is Active.
The default value is false.
IsArchived Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the price book has been archived (true) or not (false). This field is read
only.
The default value is false.
IsStandard Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the price book is the standard price book for the org (true) or not (false).
Every org has one standard price book—all other price books are custom price books.
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
345
Salesforce Pricing PriceBook2
Field Details
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Required. Name of this object. This field is read-only for the standard price book.
ValidFrom Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when a price book is initially valid. If this field is null, the price book is valid
immediately when active.
ValidTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when a price book is valid to. If this field is null, the price book is valid
until it’s deactivated.
Usage
A price book is a list of products that your org sells.
• Each org has one standard price book that defines the standard or generic list price for each product or service that it sells.
• An org can have multiple custom price books to use for specialized purposes, such as for discounts, different channels or markets,
or select accounts or opportunities. While your client application can create, delete, and update custom price books, your client
application can only update the standard price book.
• For some orgs, the standard price book is the only price needed. If you set up other price books, you can reference the standard
price book when setting up list prices in custom price books.
346
Salesforce Pricing PriceBookEntry
Use this object to query standard and custom price books that have been configured for your org. A common use of this object is to
allow your client application to obtain valid Pricebook2 object IDs for use when configuring PricebookEntry records via the API.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PriceBook2ChangeEvent on page 1659
Change events are available for the object.
PriceBook2History on page 1668
History is available for tracked fields of the object.
PriceBookEntry
Represents a product entry (an association between a Pricebook2 and Product2) in a price book. This object is available in API version
60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), update(), upsert()
Fields
Note: Salesforce Object Search Language (SOSL) allows you to search records across standard and custom objects. When filtering
records in the PriceBookEntry object using SOSL, you can only sort by fields related to Product2.
Field Details
ActivePriceAdjustmentQuantity Type
int
Properties
Filter, Group, Nillable, Sort
Description
The count of active price adjustment schedules associated with the price book entry.
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Available only for organizations with the multicurrency feature enabled. Contains the ISO
code for any currency allowed by the organization.
Possible values are:
• BHD—Bahraini Dinar
347
Salesforce Pricing PriceBookEntry
Field Details
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
IsActive Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this price book entry is active (true) or not (false). Although you can never
delete PricebookEntry records, your client application can set this flag to false.
Inactive PricebookEntry records are hidden in many areas in the user interface. You can
change this flag on a PricebookEntry record as often as necessary.
The default value is false.
IsArchived Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the PricebookEntry has been archived (true) or not (false). This field is set
to true when the Product2 record it’s associated with is archived, or when the Pricebook2
record is archived. This field is read only.
The default value is false.
IsDerived Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
Indicates whether the product's price was derived (yes) or not (no).
The default value is false.
Name Type
string
Properties
Filter, Group, Nillable, Sort
Description
Name of this price book entry record. This read-only field references the value in the Name
field of the Product2 record.
348
Salesforce Pricing PriceBookEntry
Field Details
Pricebook2Id Type
reference
Properties
Create, Filter, Group, Sort
Description
Required. ID of the Pricebook2 record with which this record is associated. This field must
be specified when creating Pricebook2 records. It can’t be changed in an update.
This field is a relationship field.
Relationship Name
Pricebook2
Relationship Type
Lookup
Refers To
Pricebook2
Product2Id Type
reference
Properties
Create, Filter, Group, Sort
Description
Required. ID of the Product2 record with which this record is associated. This field must be
specified when creating Product2 records. It can’t be changed in an update.
This field is a relationship field.
Relationship Name
Product2
Relationship Type
Lookup
Refers To
Product2
ProductCode Type
string
Properties
Filter, Group, Nillable, Sort
Description
Product code for this record. This read-only field references the value in the ProductCode field
of the associated Product2 record.
ProductSellingModelId Type
reference
349
Salesforce Pricing PriceBookEntry
Field Details
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the related product selling model.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
UnitPrice Type
currency
Properties
Create, Filter, Sort, Update
Description
Required. Unit price for this price book entry. You can specify a value only
if UseStandardPrice is set to false.
UseStandardPrice Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this price book entry uses the standard price defined in the standard
Pricebook2 record (true) or not (false). If set to true, then the UnitPrice field is read-only, and
the value is the same as the UnitPrice value in the corresponding PricebookEntry in the
standard price book (that is, the PricebookEntry record whose Pricebook2Id refers to the
standard price book and whose Product2Id and CurrencyIsoCode are the same as this record).
For PricebookEntry records associated with the standard Pricebook2 record, this field must
be set to true.
The default value is false.
Usage
Use this object to define the association between your organization’s products (Product2) and your organization’s standard price book
or to custom price books ( Pricebook2). Create one PricebookEntry record for each standard or custom price and currency combination
for a product in a Pricebook2.
When creating these records, you must specify the IDs of the associated Pricebook2 record and Product2 record. Once these records are
created, your client application can’t update these IDs.
350
Salesforce Pricing PriceBookEntryDerivedPrice
This object is defined only for those organizations that have products enabled as a feature. If the organization doesn’t have the products
feature enabled, then the PricebookEntry object doesn’t appear in the describeGlobal call, and you can’t access it.
If you delete a PriceBookEntry that is referenced by a line item, the line item is unaffected, but the PriceBookEntry is archived and
unavailable from the API. Deleted PriceBookEntry records can’t be recovered.
You must load the standard price for a product before you’re permitted to load its custom prices.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PriceBookEntryChangeEvent on page 1659
Change events are available for the object.
PriceBookEntryHistory on page 1668
History is available for tracked fields of the object.
PriceBookEntryDerivedPrice
Represents the price of a product that’s derived from another source such as a product or an asset. This object is available in API version
61.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
ContributingProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
Source product from which the derived price is calculated. The source product is associated
with the derived price product.
This field is a relationship field.
Relationship Name
ContributingProduct
Relationship Type
Lookup
Refers To
Product2
351
Salesforce Pricing PriceBookEntryDerivedPrice
Field Details
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
ISO code for any currency allowed by the organization. Available only if the multicurrency
feature is enabled.
Valid values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
DerivedPricingScope Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Scope of the product based on which the derived price is calculated.
Valid values are:
• Both
• NonTransactional
• Transactional
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
Date and time when the derived pricing comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
Date and time when the derived pricing is no longer in effect.
Formula Type
string
352
Salesforce Pricing PriceBookEntryDerivedPrice
Field Details
Properties
Create, Filter, Sort, Update
Description
Coded format of the formula used to calculate the derived price of a product from another
product or asset.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed this record. If this value is null, it’s possible
that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Name of the derived price record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
ID of the user who created the record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
353
Salesforce Pricing PriceBookEntryDerivedPrice
Field Details
PricebookEntryId Type
reference
Properties
Create, Filter, Group, Sort
Description
Price book entry associated with the source product.
This field is a relationship field.
Relationship Name
PricebookEntry
Relationship Type
Lookup
Refers To
PricebookEntry
PricebookId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
Price book associated with the source product.
This field is a relationship field.
Relationship Name
Pricebook
Relationship Type
Lookup
Refers To
Pricebook2
PricingSource Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Pricing type used to calculate the derived price of the product.
Valid values are:
• Header
• Product
ProductId Type
reference
354
Salesforce Pricing PricingAdjBatchJob
Field Details
Properties
Filter, Group, Sort
Description
Product associated with the derived pricing.
This field is a relationship field.
Relationship Name
Product
Relationship Type
Lookup
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Filter, Group, Sort
Description
Product selling model associated with this record.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PriceBookEntryDerivedPriceFeed on page 1661
Feed tracking is available for the object.
PriceBookEntryDerivedPriceHistory on page 1668
History is available for tracked fields of the object.
PriceBookEntryDerivedPriceShare on page 1672
Sharing is available for the object.
PricingAdjBatchJob
Represents the collective update of multiple records on their prices and other adjustments. This object is available in API version 62.0
and later.
355
Salesforce Pricing PricingAdjBatchJob
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
EffectiveFrom Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the updated value can be considered for a pricing adjustment batch
job.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time until when the updated value is effective and can be considered for a
pricing adjustment batch job.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Indicates whether the pricing adjustment batch job has been archived (true) or not
(false). This field is read-only.
LastTriggeredDate Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the pricing adjustment batch job was last triggered.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
356
Salesforce Pricing PricingAdjBatchJob
Field Details
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the pricing adjustment batch job.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The Salesforce ID of the sales representative who owns the pricing procedure resolution.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
ProcessedRecordsCount Type
long
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The total number of records that were successfully updated.
RecordCount Type
long
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The total number of records that have been processed.
RecordList Type
textarea
Properties
Create
357
Salesforce Pricing PricingAdjBatchJob
Field Details
Description
The list of record IDs eligible for a pricing adjustment batch job.
ShouldSkipBulkRetry Type
boolean
Properties
Create, Filter, Group, Nillable, Sort
Description
For internal use only.
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The processing status of the pricing adjustment batch job.
Valid values are:
• Completed
• Failed
• InProgress
• New
• PartiallyCompleted
• Rerun
TargetObject Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The target object of the pricing adjustment batch job.
Valid values are:
• AttributeBasedAdjustment
• BundleBasedAdjustment
• PriceAdjustmentTier
• PricebookEntry
UpdateType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
358
Salesforce Pricing PricingAdjBatchJobLog
Field Details
Description
The type of update being made by the pricing adjustment batch job.
Valid values are:
• Amount
• Override
• Percentage
UpdateValue Type
double
Properties
Create, Filter, Sort, Update
Description
The numerical value of the update.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PricingAdjBatchJobFeed on page 1661
Feed tracking is available for the object.
PricingAdjBatchJobHistory on page 1668
History is available for tracked fields of the object.
PricingAdjBatchJobShare on page 1672
Sharing is available for the object.
PricingAdjBatchJobLog
Represents the report that contains a list of failed adjustment requests along with an error message that describes the reason for failure.
This object is available in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
359
Salesforce Pricing PricingAdjBatchJobLog
Fields
Field Details
AdjustedValue Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The adjusted value of a record. The stored value is used even if another pricing adjustment
batch job is triggered again.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the failed versioned record is generated. This is only applicable for
Price Adjustment records.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time until when the failed versioned record is available. This is applicable only
for Price Adjustment records.
ErrorCode Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The error code for the failure during the record update process.
ErrorMessage Type
textarea
Properties
Create, Update
Description
The error message that’s generated for the failure during the record update process.
LastReferencedDate Type
dateTime
360
Salesforce Pricing PricingAdjBatchJobLog
Field Details
Properties
Filter, Nillable, Sort
Description
Indicates whether the pricing adjustment batch job has been archived (true) or not
(false). This field is read-only.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Required. The name of the pricing adjustment batch job.
PricingAdjBatchJobId Type
reference
Properties
Create, Filter, Group, Sort
Description
The pricing adjustment batch job associated with the pricing adjustment batch job log.
This field is a relationship field.
Relationship Name
PricingAdjBatchJob
Relationship Type
Master-detail
Refers To
PricingAdjBatchJob (the master object)
TargetRecord Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The ID of the record for which a pricing adjustment error was generated.
361
Salesforce Pricing PricingAPIExecution
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PricingAdjBatchJobLogFeed
Feed tracking is available for the object.
PricingAdjBatchJobLogHistory on page 1668
History is available for tracked fields of the object.
PricingAPIExecution
Represents the pricing resolution for an pricing element determined using strategy name and formula. This object is available in API
version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
ApiEndpoint Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The unique API endpoint that is called.
ApiType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the API type of the pricing API execution.
Possible values are:
• NGP
The default value is NGP.
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
362
Salesforce Pricing PricingAPIExecution
Field Details
Description
Available only if the multicurrency feature is enabled. Contains the ISO code for any currency
allowed by the organization.
Possible values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
ExecutionKey Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique execution ID generated each time a pricing API runs.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the record.
OwnerId Type
reference
363
Salesforce Pricing PricingAPIExecution
Field Details
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The Salesforce ID of the sales representative who owns the pricing procedure resolution.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
ReferenceKey Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Optional. The reference ID that a consuming workstream must pass in the API to search for
specific logs in the Pricing Operations Console.
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the API response.
Possible values are:
• Failure
• Partial_Success—Partial Success
• Success
The default value is Success.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PricingAPIExecutionFeed on page 1661
Feed tracking is available for the object.
PricingAPIExecutionHistory on page 1668
History is available for tracked fields of the object.
PricingAPIExecutionShare on page 1672
Sharing is available for the object.
364
Salesforce Pricing PricingProcedureResolution
PricingProcedureResolution
Represents a selection for a pricing procedure to execute a pricing process from a list of pricing procedures available. This object is
available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Available only if the multicurrency feature is enabled. Contains the ISO code for any currency
allowed by the organization.
Possible values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the pricing procedure resolution comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time till when the pricing procedure resolution remains effective.
LastReferencedDate Type
dateTime
365
Salesforce Pricing PricingProcedureResolution
Field Details
Properties
Filter, Nillable, Sort
Description
Indicates whether the pricing procedure resolution has been archived (true) or not (false).
This field is read-only.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Required. The name of the pricing procedure resolution.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The Salesforce ID of the sales representative who owns the pricing procedure resolution.
This field is a polymorphic relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
PricingProcedureId Type
reference
Properties
Create, Filter, Group, Sort
Description
The pricing procedure record associated with this pricing procedure resolution.
366
Salesforce Pricing PricingProcessExecution
Field Details
This field is a relationship field.
Relationship Name
PricingProcedure
Relationship Type
Lookup
Refers To
ExpressionSet
ProcedureType Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The pricing data store associated with this pricing recipe field mappings.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PricingProcedureResolutionFeed on page 1661
Feed tracking is available for the object.
PricingProcedureResolutionHistory on page 1668
History is available for tracked fields of the object.
PricingProcedureResolutionShare on page 1672
Sharing is available for the object.
PricingProcessExecution
Represents a record generated during the execution of a discovery or pricing procedure. Multiple procedures may be performed within
a single API call, with each recorded in a Pricing API Execution record. This object is available in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
CurrencyIsoCode Type
picklist
367
Salesforce Pricing PricingProcessExecution
Field Details
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Available only if the multicurrency feature is enabled. Contains the ISO code for any currency
allowed by the organization.
Possible values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
ExecutionKey Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The unique execution ID generated each time a pricing API runs.
ExecutionType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of execution defined internally within the pricing API.
Possible values are:
• Api_Execution—Api Execution
• Discovery
• Discovery_Line—Discovery Line
• Pricing
• Pricing_Line—Pricing Line
The default value is Pricing.
ExecutionTypeKey Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique execution type ID generated internally for procedure executions, such as pricing
or discovery procedures.
368
Salesforce Pricing PricingProcessExecution
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Message Type
textarea
Properties
Create, Nillable, Update
Description
The message generated upon running a pricing process.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The Salesforce ID of the sales representative who owns the pricing procedure resolution.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
369
Salesforce Pricing ProductPriceHistoryLog
Field Details
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the status of the execution type.
Possible values are:
• Failure
• Partial_Success—Partial Success
• Success
The default value is Success.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
PricingProcessExecutionFeed on page 1661
Feed tracking is available for the object.
PricingProcessExecutionHistory on page 1668
History is available for tracked fields of the object.
PricingProcessExecutionShare on page 1672
Sharing is available for the object.
ProductPriceHistoryLog
Stores historical pricing data based on the product's price range. This object is available in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
CurrencyIsoCode Type
picklist
370
Salesforce Pricing ProductPriceHistoryLog
Field Details
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
ISO code for any currency allowed by the organization. Available only for organizations with
the multicurrency feature enabled.
Valid values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
Date Type
date
Properties
Create, Filter, Group, Sort, Update
Description
The date when the product price history log record is created.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Indicates whether the product price history log has been archived (true) or not (false).
This field is read-only.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Required. The name of the product price history log.
371
Salesforce Pricing ProductPriceRange
Field Details
ProductPriceRangeId Type
reference
Properties
Create, Filter, Group, Sort
Description
The product price range associated with this product price history log record.
This field is a relationship field.
Relationship Name
ProductPriceRange
Relationship Type
Master-detail
Refers To
ProductPriceRange (the master object)
TrackedPrice Type
currency
Properties
Create, Filter, Sort, Update
Description
The price for a product recorded for a particular date.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductPriceHistoryLogFeed on page 1661
Feed tracking is available for the object.
ProductPriceHistoryLogHistory on page 1668
History is available for tracked fields of the object.
ProductPriceRange
Represents the price range of a product determined by using a product selling model that’s stored in the relevant price book. This object
is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
372
Salesforce Pricing ProductPriceRange
Fields
Field Details
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
ISO code for any currency allowed by the organization. Available only for organizations with
the multicurrency feature enabled.
Valid values are:
• BHD—Bahraini Dinar
• JPY—Japanese Yen
• USD—U.S. Dollar
The default value is USD.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Indicates whether the product price range has been archived (true) or not (false). This
field is read-only.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, it’s
possible that this record was referenced (LastReferencedDate) and not viewed.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Required. The name of the product price range.
OwnerId Type
reference
373
Salesforce Pricing ProductSellingModel
Field Details
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The Salesforce ID of the sales representative who owns the product price range.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
ProductId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The product for which the price range is being determined.
This field is a relationship field.
Relationship Name
Product
Refers To
Product2
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductPriceRangeFeed on page 1661
Feed tracking is available for the object.
ProductPriceRangeHistory on page 1668
History is available for tracked fields of the object.
ProductPriceRangeShare on page 1672
Sharing is available for the object.
ProductSellingModel
Defines one method by which a product can be sold; for example, as a one-time sale, an evergreen subscription, or a termed subscription.
If the product is sold on subscription, this object defines the subscription’s term. A product can have multiple product selling models.
This object is available in API version 60.0 and later.
374
Salesforce Pricing ProductSellingModel
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Indicates when the user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Indicates when the user last viewed this record.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name given to the product selling model.
PricingTerm Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The number of pricing term units in the pricing term. Used with PricingTermUnit to define
the length of the pricing term. For example, if PricingTermUnit is Months and this field is 1,
the subscription is priced monthly.If the selling model is one-time, this field must be null.
PricingTermUnit Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
375
Salesforce Pricing ProductSellingModel
Field Details
Description
The unit of time used to define the pricing term. Used with PricingTerm to define the length
of the pricing term. For example, if this field is Months and PricingTerm is 1, the subscription
is priced monthly. If the selling model is one-time, this field must be null.
Possible values are:
• Annual—Years
• Months
SellingModelType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Indicates whether the product is sold as a one-time sale, an evergreen subscription, or a
subscription with a defined term.
Possible values are:
• Evergreen
• OneTime—One Time
• TermDefined—Term-Defined
The default value is OneTime.
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the product selling model.
Possible values are:
• Active
• Draft
• Inactive
The default value is Draft.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ProductSellingModelFeed on page 1661
Feed tracking is available for the object.
376
Salesforce Pricing ProductSellingModelDataTranslation
ProductSellingModelDataTranslation
Represents the translated values of the data stored within the ProductSellingModel record’s fields. This object is available in API version
61.0 and later.
Supported Calls
create(), delete(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(),
undelete(), update(), upsert()
Fields
Field Details
IsOutOfDate Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the translation is out-of-date (true) or current (false). A translation
is out-of-date if the parent Product2 record is updated after the last translation was filed.
Language Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The language for these translated values.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
377
Salesforce Pricing ProductSellingModelOption
Field Details
Description
The translated value for the ProductSellingModel record name. This field is required to
translate the text in other fields.
ParentId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the ProductSellingModel record associated with the data that’s being translated.
This field is a relationship field.
Relationship Name
Parent
Relationship Type
Lookup
Refers To
ProductSellingModel
Usage
Use this object to translate the data stored in a ProductSellingModel record into the different languages supported by Salesforce. If data
translation is enabled for custom fields on the ProductSellingModel object, additional ProductSellingModelDataTranslation fields exist
for translating the data contained within those fields.
You can’t use a custom external id field in an upsert call for a ProductSellingModelDataTranslation object.
ProductSellingModelOption
A junction object between Product Selling Model and Product2. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Description Type
textarea
Properties
Create, Nillable, Update
378
Salesforce Pricing ProductSellingModelOption
Field Details
Description
The description of the product selling model option.
DisplayName Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the product selling model option to display to customers.
Increment Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The number of pricing term units that can be used to increase a subscription term.
IsDefault Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indcates the default product selling model for a product. Setting a default is optional. A
product can only have one default product selling model.
The default value is false. This field requires Industries EPC.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last accessed this record, a record related to this record,
or a list view.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last viewed this record or list view. If this value is null,
the user might have only accessed this record or list view but not viewed it.
379
Salesforce Pricing ProductSellingModelOption
Field Details
Maximum Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum number of pricing term units for a subscription term.
Minimum Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The minimum number of pricing term units for a subscription term.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the product selling model option.
Product2Id Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the Product2 record associated with this ProductSellingModelOption record.
This field is a relationship field.
Relationship Name
Product2
Relationship Type
Lookup
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Create, Filter, Group, Sort
380
Salesforce Pricing Salesforce Pricing Business APIs
Field Details
Description
The ID of the ProductSellingModel record associated with
this ProductSellingModelOption record.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
ProrationPolicyId Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the ProrationPolicy record associated with this ProductSellingModelOption record.
This field is a relationship field.
Relationship Name
ProrationPolicy
Relationship Type
Lookup
Refers To
ProrationPolicy
Resource Description
/connect/core-pricing/price-contexts/contextid (POST) Perform a pricing request by
using the instance ID of a
context.
381
Salesforce Pricing Salesforce Pricing Business APIs
Resource Description
pricing details per line items
and related errors, if any.
This section lists the available Procedure Plan Definition-related resources. Use procedure plan definitions to define criteria for all pricing
process-related requirements in one central location, and to set up the procedures based on these requirements.
Resource Description
/connect/procedure-plan-definitions (GET, POST) Get the records of procedure
plan definitions. Additionally,
create a record of a procedure
plan definition.
382
Salesforce Pricing Resources
Resource Description
object to check for prerequisites
such as usage type and context
mapping details.
Resources
Learn more about the available Salesforce Pricing resources.
Request Bodies
Learn more about the available Salesforce Pricing API request bodies.
Response Bodies
Learn more about the available Salesforce Pricing API response bodies.
SEE ALSO:
Connect REST API Developer Guide: Introduction
Resources
Learn more about the available Salesforce Pricing resources.
383
Salesforce Pricing Resources
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/pbeDerivedPricingSourceProduct
Available version
61.0
HTTP methods
POST
Request body for POST
JSON example
{
"productId":"01txx0000006i2SAAQ",
"pricebookEntryId":"01uxx0000008yYcAAI",
"effectiveFrom":"2020-01-01T22:53:20.000Z",
384
Salesforce Pricing Resources
"effectiveTo":"2021-01-01T22:53:20.000Z"
}
Properties
effectiveTo String Date until when the price book entry is Required 61.0
effective.
/connect/core-pricing/price-contexts/contextid
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/price-contexts/0U3RM00000000SR0AY
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"configurationOverrides": {
"skipWaterfall": true,
"useSessionScopedContext": true,
"persistContext": true,
"taggedData": false
}
"procedureName": "ES1"
}
385
Salesforce Pricing Resources
Properties
Pricing (POST)
Create and hydrate context instance in a single request. Provide a comprehensive response that contains final pricing details per line
items and related errors, if any.
Resource
/connect/core-pricing/pricing
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/pricing
Available version
60.0
Requires Chatter
No
HTTP methods
POST
Request body for POST
JSON example
{
"contextDefinitionId": "11Oxx0000006PdxEAE",
"contextMappingId": "11jxx0000004LDDAA2",
"jsonDataString": {
"Cart": [
{
"id": "cart_1001",
"cart_id": "cart_1001",
"PriceBookId": "PriceBookId_1001",
"businessObjectType": "Cart",
"CartItem": [
{
"id": "lineItem_1001",
"line_item_id": "lineItem_1001",
"Quantity": 7,
386
Salesforce Pricing Resources
"PriceType": "OneTime",
"Frequency": "",
"UOM": "",
"businessObjectType": "CartItem",
"product_id": "01txx0000006i44AAA",
"UnitPrice": 6.8,
"NetUnitPrice": 0,
"Attribute": [
{
"name": "Color",
"code": "RED",
"isPriceImpacting": true,
"businessObjectType": "Attribute",
"id": "Attribute_1001",
"attribute_id": "Attribute_1001"
},
{
"name": "Size",
"code": "10INCH",
"isPriceImpacting": true,
"businessObjectType": "Attribute",
"id": "Attribute_1002",
"attribute_id": "Attribute_1002"
}
]
},
{
"id": "lineItem_1002",
"line_item_id": "lineItem_1002",
"quantity": 3,
"PriceType": "OneTime",
"Frequency": "",
"UOM": "",
"businessObjectType": "CartItem",
"product_id": "01txx0000006i2SAAQ",
"unitprice": 6,
"NetUnitPrice": 0,
"Attribute": [
{
"name": "Color",
"code": "BLUE",
"isPriceImpacting": true,
"businessObjectType": "Attribute",
"id": "Attribute_1003",
"attribute_id": "Attribute_1003"
},
{
"name": "Size",
"code": "6INCH",
"isPriceImpacting": true,
"businessObjectType": "Attribute",
"id": "Attribute_1004",
"attribute_id": "Attribute_1004"
}
387
Salesforce Pricing Resources
]
}
]
}
]
},
"pricingProcedureId": "9QMxx0000004CKKGA2",
"configurationOverrides": {
"skipWaterfall": true,
"useSessionScopedContext": true,
"persistContext": true,
"taggedData": false
}
}
Properties
388
Salesforce Pricing Resources
/connect/core-pricing/sync/pricingSyncOrigin
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/sync/syncData
Available version
60.0
HTTP methods
GET
Response body for GET
Pricing Generic Response
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/recipe
Available version
60.0
HTTP methods
GET
Response body for GET
Pricing Recipe Response
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/recipe/mapping
Available version
60.0
389
Salesforce Pricing Resources
HTTP methods
POST
Request body for POST
JSON example
{
"recipeId" : "12Gxx0000005J9MEAU",
"pricingRecipeLookUpTableInputRepresentations": [
{
lookupId: “12Gxx0000005J9MEAU”,
pricingComponentType: “CustomDiscount”
},
{
lookupId: “12Gxx0000005J9MEAU”,
pricingComponentType: “CustomDiscount”
}
],
"pricingRecipeProcedureInputRepresentation" : {
"procedureId" : "9QLxx0000004C92GAE"
}
}
Properties
390
Salesforce Pricing Resources
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/versioned-revise-details
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
This example shows the input for versioned revision details for attribute-based adjustment.
{
"entityName":"AttributeBasedAdjustment",
"id":"entityId",
"priceAdjustmentId":"priceAdjustmentScheduleId",
"productId":"ProductId",
"productSellingModelId":"PsmId",
"adjustmentType":"AdjustmentType",
"adjustmentValue":"AdjustmentValue(Numeric)"",
"effectiveFrom":"EffectiveFrom date",
"effectiveTo":"EffectiveTo Date",
"additionalFieldsToValueMap":{
"attributeBasedAdjRuleId":"AttributeBasedAdjRuleId"
}
}
This example shows the input for versioned revision details for bundle-based adjustment.
{
"entityName": "BundleBasedAdjustment",
"id": "entityId",
"priceAdjustmentScheduleId": "priceAdjustmentScheduleId",
"productId": "ProductId",
"productSellingModelId": "PsmId",
"adjustmentType": "AdjustmentType",
"adjustmentValue": "AdjustmentValue(Numeric)",
"effectiveFrom":"EffectiveFrom date",
"effectiveTo":"EffectiveTo Date",
"additionalFieldsToValueMap": {
"rootBundleId": "RootBundleId",
"parentProductId": "ParentProductId"
}
}
391
Salesforce Pricing Resources
Properties
/connect/core-pricing/waterfall/lineItemId/executionId
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/waterfall/Gold/2yHdNNEFOZr9jAe4gHS7?tagsToFilter=UnitPrice
Available version
60.0
392
Salesforce Pricing Resources
HTTP methods
GET
Query parameters
usageType String Usage type of the waterfall log record. Optional 62.0
Valid values are:
• Pricing
• Rating—Specifies that the record
type is Rating. If this value is
specified, the API creates a log of
rating waterfall. See Rating Waterfall.
The default value is Pricing.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/waterfall
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"currencyCode": "USD",
"executionEndTimestamp": "2023-07-31T20:11:29.625Z",
"executionId": "executionId1",
"executionStartTimestamp": null,
"lineItemId": "item1",
"output": {
393
Salesforce Pricing Resources
"Subtotal": 38.25,
"ListPrice": 10,
"NetUnitPrice": 7.65
},
"waterfall": [{
"fieldToTagNameMapping": {
"Product2Id": "ItemProduct",
"Subtotal": "Subtotal",
"Pricebook2Id": "Pricebook",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionSource",
"ListPrice": "ItemListPrice"
},
"inputParameters": {
"Product2Id": "01txx0000006i44AAA",
"Pricebook2Id": "01sxx0000005q9xAAA",
"Quantity": 5,
"LineItemId": "item1"
},
"outputParameters": {
"Subtotal": 50,
"ListPrice": 10
},
"pricingElement": {
"adjustments": [{
"AdjustmentValue": "95.00",
"AdjustmentType": "Amount"
}],
"description": null,
"elementType": "ListPrice",
"name": "List Price"
},
"sequence": 1
},
{
"fieldToTagNameMapping": {
"PriceAdjustmentScheduleId": "ItemDescription",
"NetUnitPrice": "ItemNetUnitPrice",
"Product2Id": "ItemProduct",
"LowerBound": "ItemQuantity",
"UpperBound": "ItemQuantity",
"Subtotal": "Subtotal",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionSource",
"InputUnitPrice": "ItemListPrice"
},
"inputParameters": {
"PriceAdjustmentScheduleId": "84Xxx0000004CGSEA2",
"Product2Id": "01txx0000006i44AAA",
"LowerBound": 5,
"UpperBound": 5,
"Quantity": 5,
"LineItemId": "item1",
"InputUnitPrice": 10
394
Salesforce Pricing Resources
},
"outputParameters": {
"NetUnitPrice": 8.5,
"Subtotal": 42.5
},
"pricingElement": {
"adjustments": [{
"AdjustmentValue": "15.00",
"AdjustmentType": "Percentage"
}],
"description": null,
"elementType": "VolumeDiscount",
"name": "Volume Discount"
},
"sequence": 2
}
]
}
Properties
currencyCode String Currency code such as, USD or INR. Optional 60.0
lineItemId String Line item ID for which the price is being Required 60.0
calculated.
395
Salesforce Pricing Resources
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/
procedure-plan-definitions?isTemplate=true
Available version
62.0
HTTP methods
GET, POST
Request parameters for GET
396
Salesforce Pricing Resources
}
]
}
Properties
developer String Developer name of the procedure plan Required if you’re 62.0
Name definition. invoking the
Procedure Plan
Definitions API
(POST).
primary String Source object that’s used to create a Required if you’re 62.0
Object procedure with rule-based criteria. This invoking the
property value must be a valid object Procedure Plan
name and must be unique in the Definitions API
ProcedurePlanDefinition object. (POST) and if you’re
creating a
procedure with
rule-based criteria.
/connect/procedure-plan-definitions/procedurePlanDefinitionId
The procedurePlanDefinitionId property value is the ID or name of the procedure plan definition record to perform the
request for.
397
Salesforce Pricing Resources
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/
procedure-plan-definitions/1FNxx0000004EsOGAU
Available version
62.0
HTTP methods
DELETE, GET, PATCH
You can delete a procedure plan definition only if it doesn’t include any active procedure plan version.
Response body for GET
Procedure Plan Definition
Request body for PATCH
JSON example
This example shows a sample request to update a procedure plan definition by using the Procedure Plan Definition By ID (PATCH)
API.
Note: The properties that aren’t specified in the input are deleted when updating the record.
{
"description": "Default definition patch update",
"developerName": "Quote_Definition",
"name": "Quote_Definition",
"primaryObject": "Quote",
"recordId": "1FNxx0000004EsOGAU"
}
Properties
developer String Developer name of the procedure plan Required if you’re 62.0
Name definition. invoking the
Procedure Plan
Definitions API
(POST).
primary String Source object that’s used to create a Required if you’re 62.0
Object procedure with rule-based criteria. This invoking the
property value must be a valid object Procedure Plan
name and must be unique in the Definitions API
ProcedurePlanDefinition object. (POST) and if you’re
creating a
procedure with
rule-based criteria.
398
Salesforce Pricing Resources
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/
procedure-plan-definitions/evaluate
Available version
62.0
HTTP methods
POST
Request body for POST
JSON example
This example shows a sample request to evaluate a procedure plan definition by using a primary object.
{
"idList": ["a01DU000000BylcYAC"],
"evaluationDate": "2024-07-08T10:15:30.000Z",
"sectionType": ["PricingProcedure"],
"subSectionType": ["Revenue"]
}
Properties
399
Salesforce Pricing Resources
idList String[] List of record IDs of the procedure plan Required only if 62.0
definitions to be evaluated. you’re invoking the
Procedure Plan
Evaluation By
Object (POST) API .
The combination of the sectionType and subSectionType property values must be unique for every procedure plan
version.
Response body for POST
Procedure Plan Evaluation Response
/connect/procedure-plan-definitions/evaluate/procedurePlanDefinitionName
Resource example
https://yourInstance.salesforce.com/services/data
/v63.0/connect/procedure-plan-definitions/evaluate/Sample_Definition
Available version
62.0
HTTP methods
POST
400
Salesforce Pricing Resources
Properties
idList String[] List of record IDs of the procedure plan Required only if 62.0
definitions to be evaluated. you’re invoking the
Procedure Plan
Evaluation By
Object (POST) API .
The combination of the sectionType and subSectionType property values must be unique for every procedure plan
version.
Response body for POST
Procedure Plan Evaluation Response
401
Salesforce Pricing Resources
Resource
/connect/procedure-plan-definitions/procedurePlanDefinitionId/version
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/
procedure-plan-definitions/1FNxx0000004EsOGAU/version
Available version
62.0
HTTP methods
POST
Request body for POST
JSON example
{
"active": false,
"developerName": "sample_version_input",
"effectiveFrom": "2024-07-09T00:00:00.000Z",
"contextDefinition": "SalesTransactionContext__stdctx",
"procedurePlanSections": [
{
"isInherited": false,
"procedurePlanOptions": [
{
"saveContextMapping": "AssetToSalesTransactionMapping",
"expressionSetDefinition": "9QAZ60000004ECOOA2",
"expressionSetLabel": "Revenue_Default_Pricing_Procedure",
"expressionSetApiName": "Revenue Default Pricing Procedure",
"logic": "1 AND 2 AND 3",
"priority": 1,
"procedurePlanCriterion": [
{
"conditionSequence": 1,
"fieldObject": "BillingCountry",
"fieldPath": "BillingCountry",
"literalValue": "test",
"operator": "Equals",
"dataType": "Text"
},
{
"conditionSequence": 2,
"fieldObject": "BillingPostalCode",
"fieldPath": "BillingPostalCode",
"literalValue": "sample",
"operator": "Equals",
"dataType": "Text"
},
{
"conditionSequence": 3,
"fieldObject": "LastActivityDate",
"fieldPath": "LastActivityDate",
"literalValue": "2024-07-14",
402
Salesforce Pricing Resources
"operator": "LessThan",
"dataType": "Date"
}
]
}
],
"resolutionType": "RuleBased",
"sectionType": "PricingProcedure",
"sequence": 1,
"subSectionType": "PricingProcedure",
"recordId": "1FRZ60000008OIAOA2"
}
],
"rank": 1,
"readContextMapping": "ProductDiscoveryContextMapping",
"saveContextMapping": "OrderEntitiesMapping"
}
Note: The properties that aren’t specified in the input are deleted when updating the record.
Properties
effective String Date and time from when the procedure Required 62.0
From plan definition version comes into effect.
effectiveTo String Date and time from when the procedure Required 62.0
plan definition version is no longer in
effect.
inherited String Template this procedure plan definition This property is 62.0
From version is created from. read-only.
procedure Procedure Plan Procedure setup sections for a procedure Required 62.0
PlanSections Section Input[] plan definition. Each section enables the
setup of a procedure type by using a
rule-based criteria.
403
Salesforce Pricing Resources
readContext String Mapping that’s used to read data from Optional 62.0
Mapping the mapped object and populate the
context definition.
This property value must be associated
with a context definition.
saveContext String Mapping that’s used to save data from Optional 62.0
Mapping the context definition and populate the
mapped object.
This property value must be associated
with a context definition.
/connect/procedure-plan-definitions/versions/procedurePlanVersionId
The procedurePlanVersionId property value is the ID or name of the procedure plan version record to perform the request
for.
404
Salesforce Pricing Resources
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/
procedure-plan-definitions/versions/1Cvxx0000004E1ACAU
Available version
62.0
HTTP methods
DELETE, GET, PATCH
You can’t delete a procedure plan version if it’s the only procedure plan version in a procedure plan definition.
Response body for GET
Procedure Plan Definition Version
Request body for PATCH
JSON example
{
"active": false,
"developerName": "sample_version_input",
"effectiveFrom": "2024-07-09T00:00:00.000Z",
"contextDefinition": "SalesTransactionContext__stdctx",
"procedurePlanSections": [
{
"isInherited": false,
"procedurePlanOptions": [
{
"saveContextMapping": "AssetToSalesTransactionMapping",
"expressionSetDefinition": "9QAZ60000004ECOOA2",
"expressionSetLabel": "Revenue_Default_Pricing_Procedure",
"expressionSetApiName": "Revenue Default Pricing Procedure",
"logic": "1 AND 2 AND 3",
"priority": 1,
"procedurePlanCriterion": [
{
"conditionSequence": 1,
"fieldObject": "BillingCountry",
"fieldPath": "BillingCountry",
"literalValue": "test",
"operator": "Equals",
"dataType": "Text"
},
{
"conditionSequence": 2,
"fieldObject": "BillingPostalCode",
"fieldPath": "BillingPostalCode",
"literalValue": "sample",
"operator": "Equals",
"dataType": "Text"
},
{
"conditionSequence": 3,
"fieldObject": "LastActivityDate",
"fieldPath": "LastActivityDate",
405
Salesforce Pricing Resources
"literalValue": "2024-07-14",
"operator": "LessThan",
"dataType": "Date"
}
]
}
],
"resolutionType": "RuleBased",
"sectionType": "PricingProcedure",
"sequence": 1,
"subSectionType": "PricingProcedure",
"recordId": "1FRZ60000008OIAOA2"
}
],
"rank": 1,
"readContextMapping": "ProductDiscoveryContextMapping",
"saveContextMapping": "OrderEntitiesMapping"
}
Note: The properties that aren’t specified in the input are deleted when updating the record.
Properties
effective String Date and time from when the procedure Required 62.0
From plan definition version comes into effect.
effectiveTo String Date and time from when the procedure Required 62.0
plan definition version is no longer in
effect.
inherited String Template this procedure plan definition This property is 62.0
From version is created from. read-only.
procedure Procedure Plan Procedure setup sections for a procedure Required 62.0
PlanSections Section Input[] plan definition. Each section enables the
setup of a procedure type by using a
rule-based criteria.
406
Salesforce Pricing Request Bodies
readContext String Mapping that’s used to read data from Optional 62.0
Mapping the mapped object and populate the
context definition.
This property value must be associated
with a context definition.
saveContext String Mapping that’s used to save data from Optional 62.0
Mapping the context definition and populate the
mapped object.
This property value must be associated
with a context definition.
Request Bodies
Learn more about the available Salesforce Pricing API request bodies.
407
Salesforce Pricing Request Bodies
"pricingElement": {
"adjustments": [{
"AdjustmentValue": "15.00",
408
Salesforce Pricing Request Bodies
"AdjustmentType": "Percentage"
}],
"description": null,
"elementType": "VolumeDiscount",
"name": "Volume Discount"
}
Properties
"configurationOverrides": {
"skipWaterfall": true,
"useSessionScopedContext": true,
"persistContext": true,
"taggedData": false
}
Properties
skipWaterfall Boolean Indicates whether the price waterfall must Optional 60.0
be skipped in the output response (true)
or not (false).
409
Salesforce Pricing Request Bodies
Properties
effectiveTo String Date until when the price book entry is Required 61.0
effective.
Pricing Input
Input representation of the details of a Pricing API request.
JSON example
{
"contextDefinitionId": "11Oxx0000006PdxEAE",
"contextMappingId": "11jxx0000004LDDAA2",
"jsonDataString": {
"Cart": [
{
"id": "cart_1001",
410
Salesforce Pricing Request Bodies
"cart_id": "cart_1001",
"PriceBookId": "PriceBookId_1001",
"businessObjectType": "Cart",
"CartItem": [
{
"id": "lineItem_1001",
"line_item_id": "lineItem_1001",
"Quantity": 7,
"PriceType": "OneTime",
"Frequency": "",
"UOM": "",
"businessObjectType": "CartItem",
"product_id": "01txx0000006i44AAA",
"UnitPrice": 6.8,
"NetUnitPrice": 0,
"Attribute": [
{
"name": "Color",
"code": "RED",
"isPriceImpacting": true,
"businessObjectType": "Attribute",
"id": "Attribute_1001",
"attribute_id": "Attribute_1001"
},
{
"name": "Size",
"code": "10INCH",
"isPriceImpacting": true,
"businessObjectType": "Attribute",
"id": "Attribute_1002",
"attribute_id": "Attribute_1002"
}
]
},
{
"id": "lineItem_1002",
"line_item_id": "lineItem_1002",
"quantity": 3,
"PriceType": "OneTime",
"Frequency": "",
"UOM": "",
"businessObjectType": "CartItem",
"product_id": "01txx0000006i2SAAQ",
"unitprice": 6,
"NetUnitPrice": 0,
"Attribute": [
{
"name": "Color",
"code": "BLUE",
"isPriceImpacting": true,
"businessObjectType": "Attribute",
"id": "Attribute_1003",
"attribute_id": "Attribute_1003"
},
411
Salesforce Pricing Request Bodies
{
"name": "Size",
"code": "6INCH",
"isPriceImpacting": true,
"businessObjectType": "Attribute",
"id": "Attribute_1004",
"attribute_id": "Attribute_1004"
}
]
}
]
}
]
},
"pricingProcedureId": "9QMxx0000004CKKGA2",
"configurationOverrides": {
"skipWaterfall": true,
"useSessionScopedContext": true,
"persistContext": true,
"taggedData": false
}
}
Properties
412
Salesforce Pricing Request Bodies
{
"recipeId" : "12Gxx0000005J9MEAU",
"pricingRecipeLookUpTableInputRepresentations": [
{
lookupId: “12Gxx0000005J9MEAU”,
pricingComponentType: “CustomDiscount”
},
{
lookupId: “12Gxx0000005J9MEAU”,
pricingComponentType: “CustomDiscount”
}
],
"pricingRecipeProcedureInputRepresentation" : {
"procedureId" : "9QLxx0000004C92GAE"
}
}
Properties
413
Salesforce Pricing Request Bodies
JSON example
"pricingRecipeLookUpTableInputRepresentations": [
{
lookupId: “12Gxx0000005J9MEAU”,
pricingComponentType: “CustomDiscount”
},
{
lookupId: “12Gxx0000005J9MEAU”,
pricingComponentType: “CustomDiscount”
}
]
Properties
"pricingRecipeProcedureInputRepresentation" : {
"procedureId" : "9QLxx0000004C92GAE"
}
Properties
{
"configurationOverrides": {
"skipWaterfall": true,
"useSessionScopedContext": true,
414
Salesforce Pricing Request Bodies
"persistContext": true,
"taggedData": false
}
"procedureName": "ES1"
}
Properties
{
"entityName":"AttributeBasedAdjustment",
"id":"entityId",
"priceAdjustmentId":"priceAdjustmentScheduleId",
"productId":"ProductId",
"productSellingModelId":"PsmId",
"adjustmentType":"AdjustmentType",
"adjustmentValue":"AdjustmentValue(Numeric)"",
"effectiveFrom":"EffectiveFrom date",
"effectiveTo":"EffectiveTo Date",
"additionalFieldsToValueMap":{
"attributeBasedAdjRuleId":"AttributeBasedAdjRuleId"
}
}
This example shows the input for versioned revision details for bundle-based adjustment.
{
"entityName": "BundleBasedAdjustment",
"id": "entityId",
"priceAdjustmentScheduleId": "priceAdjustmentScheduleId",
"productId": "ProductId",
"productSellingModelId": "PsmId",
"adjustmentType": "AdjustmentType",
"adjustmentValue": "AdjustmentValue(Numeric)",
"effectiveFrom":"EffectiveFrom date",
"effectiveTo":"EffectiveTo Date",
"additionalFieldsToValueMap": {
"rootBundleId": "RootBundleId",
415
Salesforce Pricing Request Bodies
"parentProductId": "ParentProductId"
}
}
Properties
"waterfall": [{
"fieldToTagNameMapping": {
"Product2Id": "ItemProduct",
"Subtotal": "Subtotal",
"Pricebook2Id": "Pricebook",
"Quantity": "ItemQuantity",
416
Salesforce Pricing Request Bodies
"LineItemId": "SalesTransactionSource",
"ListPrice": "ItemListPrice"
},
"inputParameters": {
"Product2Id": "01txx0000006i44AAA",
"Pricebook2Id": "01sxx0000005q9xAAA",
"Quantity": 5,
"LineItemId": "item1"
},
"outputParameters": {
"Subtotal": 50,
"ListPrice": 10
},
"pricingElement": {
"adjustments": [{
"AdjustmentValue": "95.00",
"AdjustmentType": "Amount"
}],
"description": null,
"elementType": "ListPrice",
"name": "List Price"
},
"sequence": 1
},
{
"fieldToTagNameMapping": {
"PriceAdjustmentScheduleId": "ItemDescription",
"NetUnitPrice": "ItemNetUnitPrice",
"Product2Id": "ItemProduct",
"LowerBound": "ItemQuantity",
"UpperBound": "ItemQuantity",
"Subtotal": "Subtotal",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionSource",
"InputUnitPrice": "ItemListPrice"
},
"inputParameters": {
"PriceAdjustmentScheduleId": "84Xxx0000004CGSEA2",
"Product2Id": "01txx0000006i44AAA",
"LowerBound": 5,
"UpperBound": 5,
"Quantity": 5,
"LineItemId": "item1",
"InputUnitPrice": 10
},
"outputParameters": {
"NetUnitPrice": 8.5,
"Subtotal": 42.5
},
"pricingElement": {
"adjustments": [{
"AdjustmentValue": "15.00",
"AdjustmentType": "Percentage"
}],
417
Salesforce Pricing Request Bodies
"description": null,
"elementType": "VolumeDiscount",
"name": "Volume Discount"
},
"sequence": 2
}
]
Properties
{
"currencyCode": "USD",
"executionEndTimestamp": "2023-07-31T20:11:29.625Z",
"executionId": "executionId1",
"executionStartTimestamp": null,
"lineItemId": "item1",
"output": {
"Subtotal": 38.25,
"ListPrice": 10,
"NetUnitPrice": 7.65
},
"waterfall": [{
"fieldToTagNameMapping": {
"Product2Id": "ItemProduct",
"Subtotal": "Subtotal",
"Pricebook2Id": "Pricebook",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionSource",
418
Salesforce Pricing Request Bodies
"ListPrice": "ItemListPrice"
},
"inputParameters": {
"Product2Id": "01txx0000006i44AAA",
"Pricebook2Id": "01sxx0000005q9xAAA",
"Quantity": 5,
"LineItemId": "item1"
},
"outputParameters": {
"Subtotal": 50,
"ListPrice": 10
},
"pricingElement": {
"adjustments": [{
"AdjustmentValue": "95.00",
"AdjustmentType": "Amount"
}],
"description": null,
"elementType": "ListPrice",
"name": "List Price"
},
"sequence": 1
},
{
"fieldToTagNameMapping": {
"PriceAdjustmentScheduleId": "ItemDescription",
"NetUnitPrice": "ItemNetUnitPrice",
"Product2Id": "ItemProduct",
"LowerBound": "ItemQuantity",
"UpperBound": "ItemQuantity",
"Subtotal": "Subtotal",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionSource",
"InputUnitPrice": "ItemListPrice"
},
"inputParameters": {
"PriceAdjustmentScheduleId": "84Xxx0000004CGSEA2",
"Product2Id": "01txx0000006i44AAA",
"LowerBound": 5,
"UpperBound": 5,
"Quantity": 5,
"LineItemId": "item1",
"InputUnitPrice": 10
},
"outputParameters": {
"NetUnitPrice": 8.5,
"Subtotal": 42.5
},
"pricingElement": {
"adjustments": [{
"AdjustmentValue": "15.00",
"AdjustmentType": "Percentage"
}],
"description": null,
419
Salesforce Pricing Request Bodies
"elementType": "VolumeDiscount",
"name": "Volume Discount"
},
"sequence": 2
}
]
}
Properties
currencyCode String Currency code such as, USD or INR. Optional 60.0
lineItemId String Line item ID for which the price is being Required 60.0
calculated.
420
Salesforce Pricing Request Bodies
"dataType": "Text"
},
{
"conditionSequence": 2,
"fieldObject": "BillingPostalCode",
"fieldPath": "BillingPostalCode",
"literalValue": "sample",
"operator": "Equals",
"dataType": "Text"
},
{
"conditionSequence": 3,
"fieldObject": "LastActivityDate",
"fieldPath": "LastActivityDate",
"literalValue": "2024-07-14",
"operator": "LessThan",
"dataType": "Date"
}
]
Properties
dataType String Data type of the field from the selected Required 62.0
object.
fieldObject String Value of the object field that’s used to Required 62.0
resolve the procedure plan option.
This property value must belong to the
primary object that’s associated with the
procedure plan definition, at a maximum
two levels up in the hierarchy.
fieldPath String Path of the field that’s used in a procedure Required 62.0
in relation to the object that the field
belongs to.
The field path must end with the object
field that’s associated with the procedure
plan criterion.
421
Salesforce Pricing Request Bodies
This example shows a sample request to update a procedure plan definition by using the Procedure Plan Definition By ID (PATCH)
API.
Note: The properties that aren’t specified in the input are deleted when updating the record.
{
"description": "Default definition patch update",
"developerName": "Quote_Definition",
"name": "Quote_Definition",
"primaryObject": "Quote",
"recordId": "1FNxx0000004EsOGAU"
}
Properties
422
Salesforce Pricing Request Bodies
primaryObject String Source object that’s used to create a Required if you’re 62.0
procedure with rule-based criteria. This invoking the
property value must be a valid object Procedure Plan
name and must be unique in the Definitions API
ProcedurePlanDefinition object. (POST) and if you’re
creating a
procedure with
rule-based criteria.
recordId String ID of the procedure plan definition record. Required if you’re 62.0
invoking the
Procedure Plan
Definition By ID API
(PATCH).
423
Salesforce Pricing Request Bodies
{
"conditionSequence": 1,
"fieldObject": "BillingCountry",
"fieldPath": "BillingCountry",
"literalValue": "test",
"operator": "Equals",
"dataType": "Text"
},
{
"conditionSequence": 2,
"fieldObject": "BillingPostalCode",
"fieldPath": "BillingPostalCode",
"literalValue": "sample",
"operator": "Equals",
"dataType": "Text"
},
{
"conditionSequence": 3,
"fieldObject": "LastActivityDate",
"fieldPath": "LastActivityDate",
"literalValue": "2024-07-14",
"operator": "LessThan",
"dataType": "Date"
}
]
}
],
"resolutionType": "RuleBased",
"sectionType": "PricingProcedure",
"sequence": 1,
"subSectionType": "PricingProcedure",
"recordId": "1FRZ60000008OIAOA2"
}
],
"rank": 1,
"readContextMapping": "ProductDiscoveryContextMapping",
"saveContextMapping": "OrderEntitiesMapping"
}
Note: The properties that aren’t specified in the input are deleted when updating the record.
Properties
424
Salesforce Pricing Request Bodies
effectiveFrom String Date and time from when the procedure Required 62.0
plan definition version comes into effect.
effectiveTo String Date and time from when the procedure Required 62.0
plan definition version is no longer in
effect.
inheritedFrom String Template this procedure plan definition This property is 62.0
version is created from. read-only.
procedure Procedure Plan Procedure setup sections for a procedure Required 62.0
PlanSections Section Input[] plan definition. Each section enables the
setup of a procedure type by using a
rule-based criteria.
Keep these considerations in mind when
you modify this property.
• You can edit or delete a procedure
plan section if it isn’t associated with
an active procedure plan version.
• You can create a procedure plan
section with rule-based resolution type
if the primary object isn’t empty in the
definition.
readContext String Mapping that’s used to read data from the Optional 62.0
Mapping mapped object and populate the context
definition.
This property value must be associated
with a context definition.
425
Salesforce Pricing Request Bodies
This example shows a sample request to evaluate a procedure plan definition by using a definition name.
{
"evaluationDate": "2024-07-08T10:15:30.000Z",
"sectionType": ["PricingProcedure"],
"subSectionType": ["Revenue"]
}
Properties
idList String[] List of record IDs of the procedure plan Required only if 62.0
definitions to be evaluated. you’re invoking the
Procedure Plan
Evaluation By Object
(POST) API .
426
Salesforce Pricing Request Bodies
The combination of the sectionType and subSectionType property values must be unique for every procedure plan
version.
427
Salesforce Pricing Request Bodies
"operator": "Equals",
"dataType": "Text"
},
{
"conditionSequence": 3,
"fieldObject": "LastActivityDate",
"fieldPath": "LastActivityDate",
"literalValue": "2024-07-14",
"operator": "LessThan",
"dataType": "Date"
}
]
}
],
"resolutionType": "RuleBased",
"sectionType": "PricingProcedure",
"sequence": 1,
"subSectionType": "PricingProcedure",
"recordId": "1FRZ60000008OIAOA2"
}
]
Properties
procedurePlan Procedure Plan List of procedure plan options that defines Required 62.0
Options Option Input[] a group of criteria.
You can edit or delete a procedure plan
option only if it isn’t associated with an
active procedure plan version.
• PricingProcedure
• ProductDiscoveryProcedure
• ProductQualificationProcedure
• PricingDiscoveryProcedure
• DiscountSpreadServiceProcedure
• RatingProcedure
428
Salesforce Pricing Request Bodies
429
Salesforce Pricing Request Bodies
}
]
}
]
Properties
priority Integer Priority for the specified criteria. This Required 62.0
property value must be greater than 0 and
must be unique within a procedure plan
section.
procedurePlan Procedure Plan Details of the rule-based criteria for the Optional 62.0
Criterion Criterion Input[] procedure.
You can edit or delete a procedure plan
criterion only if it isn’t associated with an
active procedure plan version.
readContext String Mapping that’s used to read from the Optional 62.0
Mapping mapped object and populate the context
definition.
This property value must be associated
with a context definition.
saveContext String Mapping that’s used to save data from the Optional 62.0
Mapping context definition and populate the
mapped object.
This property value must be associated
with a context definition.
430
Salesforce Pricing Response Bodies
Response Bodies
Learn more about the available Salesforce Pricing API response bodies.
Adjustment Details
Output representation of a pricing adjustment request.
Line Item Waterfall Response
Output representation of the line item waterfall response.
PBE Derived Pricing
Output representation of the response that includes the source product for the Price Book Entry (PBE) derived pricing.
Pricing Error Response
Output representation of the pricing error response.
Pricing Generic Response
Output representation of a pricing data sync request.
Pricing Output
Output representation of the Salesforce pricing request.
Pricing Recipe LookUp Table Response
Output representation of a pricing recipe lookup table.
Pricing Recipe
Output representation of the pricing recipe information table.
Pricing Recipe Post
Output representation of the pricing recipe after the API request.
Pricing Recipe Response
Output representation of the pricing recipe.
Pricing Response
Output representation of the pricing request.
Pricing Result
Output representation of the pricing result.
Pricing Result Error
Output representation of the pricing result error.
Pricing Versioned Revision Details
Output representation of the versioned revision details.
Pricing Waterfall Response
Output representation of a pricing waterfall request.
Procedure Plan Criterion
Output representation of the details of a procedure plan criterion.
Procedure Plan Definition
Output representation of the details of a single procedure plan definition.
Procedure Plan Definition Version
Output representation of the version details of a procedure plan definition.
431
Salesforce Pricing Response Bodies
Adjustment Details
Output representation of a pricing adjustment request.
JSON example
"pricingElement": {
"adjustments": [{
"adjustmentType": null,
"adjustmentValue": null
}],
"name": "List Price",
"elementType": "ListPrice"
}
432
Salesforce Pricing Response Bodies
currencyCode String Currency code. For example, USD or INR. Small, 60.0 60.0
lineItemId String Line item ID for which the price is being Small, 60.0 60.0
calculated.
success Boolean Indicates whether the API request is Small, 60.0 60.0
successful (true) or not (false).
433
Salesforce Pricing Response Bodies
waterfall Pricing Waterfall Details of the price waterfall. Small, 60.0 60.0
Response[]
isSuccess Boolean Indicates whether the request is successful Small, 61.0 61.0
(true) or not (false).
message String Specifies the message stating the reason for Small, 60.0 60.0
the error, if any.
434
Salesforce Pricing Response Bodies
JSON example
{
"success": true
}
success Boolean Indicates whether the request is successful Small, 60.0 60.0
(true) or not (false).
Pricing Output
Output representation of the Salesforce pricing request.
JSON example
{
"status": "Completed",
"pricingResult": {
"subtotal": [
{
"dataPath": [
"cart_1001",
"lineItem_1002"
],
"value": 300.0,
"errors": [],
"isSuccess": true
},
{
"dataPath": [
"cart_1001",
"lineItem_1001"
],
"value":400.0,
"errors": [],
"isSuccess": true
}
],
"netunitprice": [
{
"dataPath": [
"cart_1001",
"lineItem_1002"
],
"value": xx,
"errors": [],
"isSuccess": true
435
Salesforce Pricing Response Bodies
},
{
"dataPath": [
"cart_1001",
"lineItem_1001"
],
"value": xx,
"errors": [],
"isSuccess": true
}
]
},
"pricingResultErrors": []
}
pricingResult Core Pricing Result Represents the outcomes associated with Small, 60.0 60.0
Representation the output tags defined in the contextual
definition, for which the pricing engine
establishes values. The initial attribute name
is substituted for the output tag's
designation. For instance, if the original
attribute name specified in the Context
Definition is "Subtotal," but during
contextual setup, the output tag is denoted
as "Total Price," the API output exhibits the
initial attribute name "Subtotal" in the
response.
pricingResult Core Pricing Result Errors from the pricing request, if any. Small, 60.0 60.0
Errors Error[]
status String Status of the pricing request. Valid values Small, 60.0 60.0
are:
• Completed — Pricing is completed
for all the line items.
• Partially Completed —
Pricing is completed for some line items.
• Failed — Pricing isn’t completed for
the line items.
436
Salesforce Pricing Response Bodies
JSON example
"decisionTables": [
{
"id": "0lDxx00000000T3EAI",
"isInternal": true,
"pricingComponentType": "ListPrice"
},
{
"id": "0lDxx00000000T4EAI",
"isInternal": true,
"pricingComponentType": "VolumeDiscount"
},
{
"id": "0lDxx00000000HlEAI",
"isInternal": false,
"pricingComponentType": "CustomDiscount"
}
]
isInternal Boolean Indicates if the decision table is available Small, 60.0 60.0
(true) or not (false).
pricing String Price component types such as, custom Small, 60.0 60.0
ComponentType discount, volume discount, attribute-based
discount, bundle-based discount, and list
price.
Pricing Recipe
Output representation of the pricing recipe information table.
JSON example
"recipes": [
{
"active": false,
"createdBy": "autoproc@00dxx0000006gmjea2",
"createdOn": "2023-07-15T13:12:38.000Z",
"decisionTables": [
{
"id": "0lDxx00000000T3EAI",
"isInternal": true,
"pricingComponentType": "ListPrice"
},
{
"id": "0lDxx00000000T4EAI",
437
Salesforce Pricing Response Bodies
"isInternal": true,
"pricingComponentType": "VolumeDiscount"
},
{
"id": "0lDxx00000000HlEAI",
"isInternal": false,
"pricingComponentType": "CustomDiscount"
}
],
"developerName": "NGPDefaultRecipe",
"id": "12Gxx0000005Ka4EAE",
"name": "NGPDefaultRecipe",
"procedureCreatedBy": "",
"procedureCreatedOn": "2023-09-19T11:39:18.983Z",
"procedureId": "",
"procedureName": ""
}]
createdBy String Details on who created the recipe. Small, 60.0 60.0
createdOn String Date when the recipe was created. Small, 60.0 60.0
decision Pricing Recipe Decision tables linked to the recipe. Small, 60.0 60.0
Tables LookUp Table
Response []
procedure String Details on who created the procedure. Small, 60.0 60.0
CreatedBy
procedure String Date when the procedure was created. Small, 60.0 60.0
CreatedOn
438
Salesforce Pricing Response Bodies
JSON example
{
isSuccess : true
}
isSuccess Boolean Indicates whether the response was Small, 60.0 60.0
calculated successfully (true) or not
(false).
439
Salesforce Pricing Response Bodies
"success": true
}
success Boolean Indicates if the request is successful (true) Small, 60.0 60.0
or not (false).
Pricing Response
Output representation of the pricing request.
JSON example
{
"success": true,
"executionId": "zu81o5hBCrFzyd5LWZk"
}
success Boolean Indicates if the request is successful (true) Small, 60.0 60.0
or not (false).
Pricing Result
Output representation of the pricing result.
JSON example
"pricingResult": {
"subtotal": [
{
"dataPath": [
"cart_1001",
"lineItem_1002"
],
"value": 300.0,
"errors": [],
440
Salesforce Pricing Response Bodies
"isSuccess": true
},
{
"dataPath": [
"cart_1001",
"lineItem_1001"
],
"value":400.0,
"errors": [],
"isSuccess": true
}
],
"netunitprice": [
{
"dataPath": [
"cart_1001",
"lineItem_1002"
],
"value": xx,
"errors": [],
"isSuccess": true
},
{
"dataPath": [
"cart_1001",
"lineItem_1001"
],
"value": xx,
"errors": [],
"isSuccess": true
}
]
}
errors Pricing Error Displays processing errors related to the Small, 60.0 60.0
Response[] element as recognized by the data path.
isSuccess Boolean Displays if processing of the element for the Small, 60.0 60.0
specified data path is successful or not.
441
Salesforce Pricing Response Bodies
"errors": [
{
“errorCode”: “Dummy”
“message”:
}
]
}
]
}
errors Pricing Error Displays processing errors related to the Small, 60.0 60.0
Response element as recognized by the data path.
442
Salesforce Pricing Response Bodies
success Boolean Indicates whether the request is successful Small, 60.0 60.0
(true) or not (false).
{
"inputParameters": {
"productId": "01txx0000006i2SAAQ",
"pricebookId": "01sxx0000005ptpAAA",
"pricingModelType": "OneTime"
},
"fieldToTagNameMapping": {
"Product2Id": "ItemProduct",
"Subtotal": "Subtotal",
"Pricebook2Id": "Pricebook",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionSource",
"ListPrice": "ItemListPrice"
},
"sequence": 0,
"outputParameters": {
"listPrice": "10"
},
"pricingElement": {
"adjustments": [
{
"adjustmentType": null,
"adjustmentValue": null
}
],
"name": "List Price"
}
}
443
Salesforce Pricing Response Bodies
pricing Adjustment Details Details of the price adjustment of a pricing Small, 60.0 60.0
Element element.
444
Salesforce Pricing Response Bodies
dataType String Data type of the field from the selected Small, 62.0 62.0
object.
error Procedure Plan Details of the error encountered during the Small, 62.0 62.0
Generic Error[] processing of the API request.
fieldObject String Value of the object field that’s used to Small, 62.0 62.0
resolve the procedure plan option.
fieldPath String Path of the field that’s used in a procedure Small, 62.0 62.0
in relation to the object that the field
belongs to.
isSuccess Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
literalValue String User-defined value that’s compared to the Small, 62.0 62.0
value of the sObject field value.
operator String Operator that’s used by the procedure plan Small, 62.0 62.0
criterion.
recordId String ID of the procedure plan criterion record. Small, 62.0 62.0
445
Salesforce Pricing Response Bodies
"recordId": "1FNxx0000004GkWGAU",
"success": true
}
This example shows a sample response for the Procedure Plan Definition By ID (PATCH) request.
{
"procedurePlanDefinitionVersions":[],
"recordId":"1FNDU00000000EX4AY",
"success":true
}
developerName String Developer name of the procedure plan Small, 62.0 62.0
definition.
error Procedure Plan Details of the error encountered during the Small, 62.0 62.0
Generic Error[] processing of the API request.
name String Name of the procedure plan definition. Small, 62.0 62.0
primaryObject String Object that’s associated with the procedure Small, 62.0 62.0
plan definition.
procedurePlan Procedure Plan Details of the versions of a procedure plan Small, 62.0 62.0
Definition Definition Version[] definition.
Versions
recordId String ID of the procedure plan definition record. Small, 62.0 62.0
success Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
446
Salesforce Pricing Response Bodies
}
]
context String Context definition that’s associated with the Small, 62.0 62.0
Definition procedure plan definition version.
developerName String Developer name of the procedure plan Small, 62.0 62.0
definition version.
effectiveFrom String Date and time from when the procedure Small, 62.0 62.0
plan definition version is effective.
effectiveTo String Date and time until when the procedure Small, 62.0 62.0
plan definition version is effective.
error Procedure Plan Details of the error encountered during the Small, 62.0 62.0
Generic Error[] processing of the API request.
inheritedFrom String Name of the template the procedure plan Small, 62.0 62.0
definition is extended from.
procedure Procedure Plan List of sections of the procedure plan Small, 62.0 62.0
PlanSections Section[] definition that you can organize in any
order. Each section must include a
procedure or a set of procedures to be
executed for a specific criteria.
rank Integer Rank or the order of sequence to follow for Small, 62.0 62.0
the processing of the procedure plan
definition version.
readContext String Mapping that’s used to read data from the Small, 62.0 62.0
Mapping mapped object and populate the context
definition.
recordId String ID of the procedure plan definition version Small, 62.0 62.0
record.
saveContext String Mapping that’s used to save data from the Small, 62.0 62.0
Mapping context definition and populate the mapped
object.
success Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
447
Salesforce Pricing Response Bodies
448
Salesforce Pricing Response Bodies
isSuccess Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
procedure Procedure Plan Details of a single procedure plan definition. Small, 62.0 62.0
PlanDefinitions Definition[]
isSuccess Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
recordId String ID of the created procedure plan definition Small, 62.0 62.0
record.
message String Message stating the reason for the error, if Small, 62.0 62.0
any.
449
Salesforce Pricing Response Bodies
JSON example
"procedurePlanOptions": [
{
"expressionSetApiName": "Revenue_Mgmt_Default_Pricing_Procedure",
"expressionSetDefinition": "9QAZ60000004ECOOA2",
"expressionSetLabel": "Revenue Management Default Pricing Procedure",
"isSuccess": true,
"logic": "1 AND 2 AND 3",
"primaryObject": "Account",
"priority": 1,
"procedurePlanCriterion": [
{
"conditionSequence": 1,
"dataType": "Text",
"fieldObject": "BillingCountry",
"fieldPath": "BillingCountry",
"isSuccess": true,
"literalValue": "test",
"operator": "Equals",
"recordId": "1FiZ60000004C9cKAE"
},
{
"conditionSequence": 2,
"dataType": "Text",
"fieldObject": "BillingPostalCode",
"fieldPath": "BillingPostalCode",
"isSuccess": true,
"literalValue": "pramit",
"operator": "Equals",
"recordId": "1FiZ60000004C9dKAE"
},
{
"conditionSequence": 3,
"dataType": "Date",
"fieldObject": "LastActivityDate",
"fieldPath": "LastActivityDate",
"isSuccess": true,
"literalValue": "2024-07-14",
"operator": "LessThan",
"recordId": "1FiZ60000004C9eKAE"
}
],
"recordId": "1FYZ6000000000fOAA",
"saveContextMapping": "AssetToSalesTransactionMapping"
}
]
450
Salesforce Pricing Response Bodies
expressionSet String Expression set definition that’s associated Small, 62.0 62.0
Definition with this procedure plan option record.
expression String Label of the expression set that’s associated Small, 62.0 62.0
SetLabel with this procedure plan option record.
isSuccess Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
logic String Computation logic for the conditions Small, 62.0 62.0
applied to a procedure plan option.
primaryObject String Source object that’s used to create a Small, 62.0 62.0
procedure with rule-based criteria.
priority Integer Priority for the specified criteria. Small, 62.0 62.0
procedure Procedure Plan Details of the rule-based criteria for the Small, 62.0 62.0
PlanCriterion Criterion[] procedure.
readContext String Mapping that’s used to read from the Small, 62.0 62.0
Mapping mapped object and populate the context
definition.
recordId String ID of the procedure plan option record. Small, 62.0 62.0
saveContext String Mapping that’s used to save data from the Small, 62.0 62.0
Mapping context definition and populate the mapped
object.
"isSuccess": true,
"logic": "1 AND 2 AND 3",
"primaryObject": "Account",
451
Salesforce Pricing Response Bodies
"priority": 1,
"procedurePlanCriterion": [
{
"conditionSequence": 1,
"dataType": "Text",
"fieldObject": "BillingCountry",
"fieldPath": "BillingCountry",
"isSuccess": true,
"literalValue": "test",
"operator": "Equals",
"recordId": "1FiZ60000004C9cKAE"
},
{
"conditionSequence": 2,
"dataType": "Text",
"fieldObject": "BillingPostalCode",
"fieldPath": "BillingPostalCode",
"isSuccess": true,
"literalValue": "pramit",
"operator": "Equals",
"recordId": "1FiZ60000004C9dKAE"
},
{
"conditionSequence": 3,
"dataType": "Date",
"fieldObject": "LastActivityDate",
"fieldPath": "LastActivityDate",
"isSuccess": true,
"literalValue": "2024-07-14",
"operator": "LessThan",
"recordId": "1FiZ60000004C9eKAE"
}
],
"recordId": "1FYZ6000000000fOAA",
"saveContextMapping": "AssetToSalesTransactionMapping"
}
],
"recordId": "1FRZ60000008OIAOA2",
"resolutionType": "RuleBased",
"sectionType": "PricingProcedure",
"sequence": 1,
"subSectionType": "PricingProcedure"
}
]
isInherited Boolean Indicates whether the procedure plan Small, 62.0 62.0
section is inherited from a template (true)
or not (false).
452
Salesforce Pricing Response Bodies
procedure Procedure Plan List of procedure plan options. Small, 62.0 62.0
PlanOptions Option[]
recordId String ID of the procedure plan option record. Small, 62.0 62.0
resolution String Type of resolution that’s used to filter the Small, 62.0 62.0
Type procedure.
sectionType String Type of section. Valid values are: Small, 62.0 62.0
• PricingProcedure
• ProductDiscoveryProcedure
• ProductQualificationProcedure
• PricingDiscoveryProcedure
• DiscountSpreadServiceProcedure
• RatingProcedure
• Custom
• RatingDiscoveryProcedure
sequence Integer Sequence that’s followed for the processing Small, 62.0 62.0
of the procedures.
subSection String Subsection that’s added to the procedure Small, 62.0 62.0
Type plan definition.
453
Salesforce Pricing Response Bodies
"sequence": 3,
"subSectionType": "Section2",
"usageType": "ProductQualification"
},
{
"expressionSetApiName": "rating_usageType_2",
"expressionSetDefinitionId": "9QAZ60000004EfHOAU",
"expressionSetLabel": "rating_usageType_2",
"sectionType": "RatingProcedure",
"sequence": 2,
"subSectionType": "Section3",
"usageType": "DefaultRating"
}
]
readContext String Mapping that’s used to read data from the Small, 62.0 62.0
Mapping mapped object and populate the context
definition.
saveContext String Mapping that’s used to save data from the Small, 62.0 62.0
Mapping context definition and populate the mapped
object.
sectionType String Name of the evaluated section. Valid values Small, 62.0 62.0
are:
• PricingProcedure
• ProductDiscoveryProcedure
• ProductQualificationProcedure
• PricingDiscoveryProcedure
• DiscountSpreadServiceProcedure
• RatingProcedure
• Custom
• RatingDiscoveryProcedure
sequence Integer Sequence that’s followed for the processing Small, 62.0 62.0
of the procedures.
454
Salesforce Pricing Response Bodies
"procedurePlanEvaluations":[
{
"errorMessage":"",
"id":"a01DU000000BylcYAC",
"isSuccess":true,
"primaryObject":"SignallingCustomEvaluation__c",
"result":{
"contextDefinition":"11ODU00000008Sw2AI",
"procedurePlanSections":[]
}
}
]
isSuccess Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
primaryObject String Name of the object used for evaluation. Small, 62.0 62.0
result Procedure Plan Results from the procedure plan evaluation. Small, 62.0 62.0
Evaluation Result[]
455
Salesforce Pricing Salesforce Pricing Standard Invocable Actions
"result":{
"contextDefinition":"11ODU00000008Sw2AI",
"procedurePlanSections":[]
}
}
]
}
isSuccess Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
procedure String Name of the procedure plan definition. Small, 62.0 62.0
PlanDefinition
Name
procedurePlan Procedure Plan Evaluation details of the procedure plan. Small, 62.0 62.0
Evaluations Evaluation[]
procedure Procedure Plan Results from the procedure plan evaluation. Small, 62.0 62.0
PlanSections Section Evaluation
Runtime[]
456
Salesforce Pricing Run Salesforce Headless Pricing Action
SEE ALSO:
Actions Developer Guide: Overview
REST API Developer Guide: Invocable Actions Standard
Inputs
Input Details
contextDefinitionId Type
string
Description
Required.
ID of the context definition record that’s used to build the pricing data.
contextMappingId Type
string
Description
Required.
457
Salesforce Pricing Run Salesforce Headless Pricing Action
Input Details
ID of the context-mapping record that identifies which Salesforce object and mappings to use
to build the pricing data.
discoveryProcedure Type
string
Description
Name of the discovery procedure that’s used to execute the discovery process.
displayContext Type
boolean
Description
Indicates whether to display the context structure for pricing (true) or not (false).
effectiveDate Type
string
Description
Date when the pricing rules, as specified in the pricing procedure, are applied.
The effectiveDate parameter determines which pricing procedure to execute when
multiple active versions of pricing procedures are available with different date ranges.
isHighVolumeLineItems Type
boolean
Description
Indicates whether the pricing API returns pricing details for more than 100 line items (true) or
not (false).
isSkipWaterfall Type
boolean
Description
Indicates whether to generate the price waterfall data (true) or not (false).
persistContext Type
boolean
Description
Indicates whether to store the context (true) or not (false).
pricingData Type
string
Description
Required.
458
Salesforce Pricing Run Salesforce Headless Pricing Action
Input Details
JSON data that’s used to build the pricing data. The JSON must be escaped.
pricingProcedureId Type
string
Description
Required.
ID of the expression set definition record that’s used to execute the pricing process.
skipDiscovery Type
boolean
Description
Indicates whether to skip executing the discovery procedure (true) or not (false).
taggedData Type
boolean
Description
Indicates whether the associated context node contains a key (true) or not (false).
useSessionScopedContext Type
boolean
Description
Indicates whether to store the context in a session (true) or a request (false).
Outputs
Output Details
contextDetails Type
string
Description
Context structure for pricing that’s generated when the displayContext parameter is set
to true.
executionId Type
string
Description
ID of the executed pricing data.
pricingProcessErrors Type
string
459
Salesforce Pricing Run Salesforce Headless Pricing Action
Output Details
Description
Errors that are generated due to context tags in a pricing process.
pricingProcessStatus Type
string
Description
Status of the pricing process, which is executed as an API call.
pricingResult Type
string
Description
Outcome of the executed pricing process that’s based on the output tags defined in the associated
context definition.
Example
POST
This sample request is for the Run Salesforce Headless Pricing action.
{
"inputs": [
{
"contextMappingId": "11jSB000002Bn13YAC",
"contextDefinitionId": "11OSB0000000WSv2AM",
"pricingProcedureId": "9QLSB0000001lT74AI",
"discoveryProcedure": "ES1",
"displayContext": false,
"effectiveDate": "2023-11-16T12:20:00.000Z",
"isHighVolumeLineItems": true,
"skipDiscovery": true,
"taggedData": false,
"pricingData":
"{\"SalesTransaction\":{\"businessObjectType\":\"SalesTransaction\",\"Pricebook\":\"01sDE0000000LoeYAE\",\"CurrencyIsoCode\":\"USD\",\"SalesTransactionItem\":[{\"businessObjectType\":\"SalesTransactionItem\",\"Product\":\"01tDE000000FU99YAG\",\"ProductSellingModel\":\"0jPDE000000042K2AQ\",\"Quantity\":5,\"StartDate\":\"2023-11-16T12:20:00.000Z\",\"SalesTransactionItemSource\":\"LINE_ITEM1\"}]}}",
"isSkipWaterfall": false,
"persistContext": true,
"useSessionScopedContext": false
}
]
}
This sample response is for the Run Salesforce Headless Pricing action.
{
"actionName": "runSalesforceHeadlessPricing",
"errors": null,
"isSuccess": true,
"outputValues": {
460
Salesforce Pricing Run Salesforce Headless Pricing Action
"contextDetails": {
"SalesTransaction": [
{
"PriceBooks": "01sxx0000005q3VAAQ",
"Subtotal": 587.2095,
"PriceAdjustmentSchedule": "84Xxx0000004CMxEAM",
"EffectiveDate": "2024-02-12T00:00:00.000Z",
"SalesTransactionItem": [
{
"LineItemQuantity": 5,
"ProductSellingModel": "0jPxx000000009hEAA",
"DerivedPricingAttribute": false,
"Product": "01txx0000006iLwAAI",
"LineItem": "LineItem1",
"NetUnitPrice": 117.4419,
"SalesTrxnAdjustmentGroup": [
{
"AdjustmentType": "Percentage",
"AdjustmentValue": 10
}
]
}
]
}
]
},
"executionId": "1708488641379821",
"pricingProcessStatus": "Completed",
"pricingResult": {
"StartDate": [
{
"value": 1700137200000,
"dataPath": [
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5",
"CTX_d3b9ffd5-2be7-4366-92d8-c2bcf03b69ed"
],
"errors": [],
"isSuccess": true
}
],
"NetUnitPrice": [
{
"value": 115,
"dataPath": [
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5",
"CTX_d3b9ffd5-2be7-4366-92d8-c2bcf03b69ed"
],
"errors": [],
"isSuccess": true
}
],
"ProductSellingModel": [
{
"value": "0jPDE000000042K2AQ",
461
Salesforce Pricing Run Salesforce Headless Pricing Action
"dataPath": [
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5",
"CTX_d3b9ffd5-2be7-4366-92d8-c2bcf03b69ed"
],
"errors": [],
"isSuccess": true
}
],
"Pricebook": [
{
"value": "01sDE0000000LoeYAE",
"dataPath": [
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5"
],
"errors": [],
"isSuccess": true
}
],
"NetTotalPrice": [
{
"value": 1150,
"dataPath": [
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5",
"CTX_d3b9ffd5-2be7-4366-92d8-c2bcf03b69ed"
],
"errors": [],
"isSuccess": true
}
],
"Subtotal": [
{
"value": 1150,
"dataPath": [
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5"
],
"errors": [],
"isSuccess": true
}
],
"Quantity": [
{
"value": 10,
"dataPath": [
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5",
"CTX_d3b9ffd5-2be7-4366-92d8-c2bcf03b69ed"
],
"errors": [],
"isSuccess": true
}
],
"Product": [
{
"value": "01tDE000000FU99YAG",
"dataPath": [
462
Salesforce Pricing Run Salesforce Pricing Action
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5",
"CTX_d3b9ffd5-2be7-4366-92d8-c2bcf03b69ed"
],
"errors": [],
"isSuccess": true
}
],
"CurrencyIsoCode": [
{
"value": "USD",
"dataPath": [
"CTX_ece1667e-7a09-40ab-9718-23bdc179a0a5"
],
"errors": [],
"isSuccess": true
}
]
}
},
"version": 1
}
SEE ALSO:
Salesforce Help: Invoke Salesforce Headless Pricing in a Flow
463
Salesforce Pricing Run Salesforce Pricing Action
Inputs
Input Details
contextInstanceId Type
string
Description
Required.
ID of the context data that’s used to build the pricing procedure. Get the context instance ID by
invoking the Context Service API. See Context Service (POST).
discoveryProcedure Type
string
Description
Name of the discovery procedure that’s used to execute the discovery process of the pricing
data.
effectiveDate Type
string
Description
Date when the pricing rules, as specified in the pricing procedure, are applied.
The effectiveDate parameter determines which pricing procedure to execute when
multiple active versions of pricing procedures are available with different date ranges.
isDeveloperName Type
boolean
Description
Indicates whether the input value in a procedure must use the API name of the pricing (true)
or the field name (false).
isSkipWaterfall Type
boolean
Description
Indicates whether the price waterfall data must be generated (true) or not (false).
pricingProcedureName Type
string
Description
Required.
Name of the pricing procedure record that’s used to execute the pricing process.
464
Salesforce Pricing Run Salesforce Pricing Action
Input Details
skipDiscovery Type
boolean
Description
Indicates whether to skip executing the discovery procedure (true) or not (false).
Outputs
Output Details
executionId Type
string
Description
ID of the executed pricing data.
Example
POST
This sample request is for the Run Salesforce Pricing action.
{
"inputs": [
{
"contextInstanceId": "32f2c894-ba5e-41c0-91e4-2ab5826f579b",
"pricingProcedureName": "PricingAction",
"isSkipWaterfall": false,
"skipDiscovery": false,
"isDeveloperName": true,
"effectiveDate": "2023-11-16T12:20:00.000Z",
"discoveryProcedure": "ES1"
}
]
}
465
Salesforce Pricing Salesforce Pricing Metadata API Types
"version": 1
}
SEE ALSO:
Salesforce Help: Invoke Salesforce Pricing in a Flow
SEE ALSO:
Metadata API Developer Guide: Understanding Metadata API
FlowActionCall
Salesforce Pricing exposes additional actionType values for the FlowActionCall Metadata type.
466
Salesforce Pricing IndustriesPricingSettings
IndustriesPricingSettings
Represents the settings for Salesforce Pricing.
Version
IndustriesPricingSettings components are available in API version 60.0 and later.
Fields
Field Name Description
enableHighAvailability Field Type
boolean
Description
Reserved for internal use.
467
Salesforce Pricing IndustriesPricingSettings
Description
Indicates whether to enable Price Waterfall (true) or not (false). The default value
is false. Price Waterfall provides insights that include price breakups and reasons
for every step of the pricing process.
This example shows a sample package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>IndustriesPricing</members>
<name>Settings</name>
</types>
<version>63.0</version>
</Package>
468
Salesforce Pricing PricingActionParameters
PricingActionParameters
Represents the pricing action that's associated with a context definition and pricing procedure.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
Version
PricingActionParameters components are available in API version 60.0 and later.
Fields
Field Name Description
contextDefinition Field Type
string
Description
Required.
Context definition record that's associated with the pricing action.
469
Salesforce Pricing PricingActionParameters
470
Salesforce Pricing PricingRecipe
PricingRecipe
Represents the data models or sets of objects of a particular cloud that the pricing data store consumes during design time and run
time.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
Version
PricingRecipe components are available in API version 60.0 and later.
471
Salesforce Pricing PricingRecipe
Fields
Field Name Description
defaultPricingProcedure Field Type
ExpressionSetDefinition
Description
Expression set definition that's associated with this pricing recipe setting.
472
Salesforce Pricing PricingRecipe
PricingRecipeTableMapping
Represents the mapping of the lookup table with the chosen pricing recipe.
473
Salesforce Pricing PricingRecipe
PricingProcedureOutputMap
Represents the mapping of the outputs of the pricing procedures to the associated lookup tables. Each record specifies the output
mapping of the associated lookup table based on the pricing component type specified in the PricingRecipeTableMapping object.
474
Salesforce Pricing PricingRecipe
<lookupTableDeveloperName>Bundle_Based_Adjustment_Decision_Table</lookupTableDeveloperName>
<pricingComponentType>CUSTOMDISCOUNT</pricingComponentType>
<fileBasedDecisionTableName>Bundle Based Adjustment
Entries</fileBasedDecisionTableName>
<pricingProcedureOutputMapList>
<fieldName>AdjustmentValue</fieldName>
<isPricingRecipeActive>false</isPricingRecipeActive>
<outputFieldName>0lPxx000000000f</outputFieldName>
<outputFieldNameString>false</outputFieldNameString>
<outputType>AdjustmentValue</outputType>
</pricingProcedureOutputMapList>
<pricingProcedureOutputMapList>
<fieldName>AdjustmentType</fieldName>
<isPricingRecipeActive>false</isPricingRecipeActive>
<outputFieldName>0lPxx000000000m</outputFieldName>
<outputFieldNameString>false</outputFieldNameString>
475
Salesforce Pricing Salesforce Pricing Tooling API Objects
<outputType>AdjustmentType</outputType>
</pricingProcedureOutputMapList>
<pricingRecipe>CMEDefaultRecipe</pricingRecipe>
</pricingRecipeTableMapping>
</PricingRecipe>
PricingActionParameters
Represents a pricing action associated to a context definition and a pricing procedure. This object is available in API version 60.0 and
later.
PricingProcedureOutputMap
Represents the mapping of the outputs of the pricing procedures to the associated lookup tables. Each record specifies the output
mapping of the associated lookup table based on the pricing component type specified in the Pricing Recipe Table Mapping object.
This object is available in API version 60.0 and later.
PricingRecipe
Represents one out of various data models or sets of entities of a particular cloud that'll be consumed by the pricing data store during
design and run time. This object is available in API version 60.0 and later.
PricingRecipeTableMapping
Represents the mapping of pricing components of a lookup table with the chosen pricing recipe. This object is available in API
version 60.0 and later.
ProcedureOutputResolution
Represents the pricing resolution for an pricing element determined using strategy name and formula. This object is available in API
version 63.0 and later.
ProcedurePlanCriterion
Represents a criterion within a procedure plan option record. This object is available in API version 62.0 and later.
476
Salesforce Pricing PricingActionParameters
ProcedurePlanDefinition
Represents the setup of a unified procedure from a list of multiple procedures that can be sequenced in any order based on business
needs. Each procedure plan definition contains sections and subsections where procedures can be configured by using a lookup
table or rule-based criteria. This object is available in API version 62.0 and later.
ProcedurePlanDefinitionVersion
Represents the versions for a procedure plan definition. Multiple versions under a procedure plan definition must be active at a time,
which can be resolved at run time using the rank field. This object is available in API version 62.0 and later.
ProcedurePlanOption
Represents the selection criteria of how a procedure can be configured for a selected procedure plan section record. This object is
available in API version 62.0 and later.
ProcedurePlanSection
Represents various procedure setup sections for a procedure plan definition. Each section enables the setup of a procedure of a type
that can be further determined by using a rule-based criteria or it can be set based on a selected lookup table. This object is available
in API version 62.0 and later.
ProcedurePlanVariable
Represents the setup for any adhoc user-defined variable that can be linked to a procedure plan definition record. This object is
available in API version 62.0 and later.
SEE ALSO:
Tooling API Developer Guide: Introducing Tooling API
PricingActionParameters
Represents a pricing action associated to a context definition and a pricing procedure. This object is available in API version 60.0 and
later.
Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
Field Details
ContextDefinition Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The context definition record associated with the pricing action.
ContextMapping Type
string
477
Salesforce Pricing PricingActionParameters
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
The context mapping record that's associated with the pricing action.
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the pricing action parameter record.
This name must begin with a letter and use only alphanumeric characters and underscores.
It can't include spaces, end with an underscore, or have two consecutive underscores.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the pricing action comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time till when the pricing action is in effect.
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the pricing action parameter.
Possible values are:
• da—Danish
• de—German
• en_US—English
• es—Spanish
• es_MX—Spanish (Mexico)
478
Salesforce Pricing PricingActionParameters
Field Details
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
MasterLabel Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The master label of the pricing action parameter.
NamespacePrefix Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org that
creates a managed package has a unique namespace prefix. Limit: 15 characters. You can
refer to a component in a managed package by using
the namespacePrefix__componentName notation.
The namespace prefix can have one of the following values.
• In Developer Edition organizations, the namespace prefix is set to the namespace prefix
of the organization for all objects that support it. There’s an exception if an object is in
an installed managed package. In that case, the object has the namespace prefix of the
installed managed package. This field’s value is the namespace prefix of the Developer
Edition organization of the package developer.
• In organizations that are Developer Edition organizations, NamespacePrefix is only set
for objects that are part of an installed managed package. There’s no namespace prefix
for all other objects.
479
Salesforce Pricing PricingProcedureOutputMap
Field Details
ObjectName Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the object associated to the pricing action.
Possible values are:
• Case
• Contract
• Opportunity
• Order
• Quote
• SalesAgreement
• WorkOrder
PricingProcedure Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The pricing procedure record associated with this pricing action.
PricingProcedureOutputMap
Represents the mapping of the outputs of the pricing procedures to the associated lookup tables. Each record specifies the output
mapping of the associated lookup table based on the pricing component type specified in the Pricing Recipe Table Mapping object.
This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
Field Details
IsPricingRecipeActive Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
480
Salesforce Pricing PricingProcedureOutputMap
Field Details
Description
Indicates if the pricing recipe is active (true) or not (false).
The default value is false.
LookupField Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Definition of the fields that are used for this lookup.
OutputFieldNameId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The field name containing the output type generated from the pricing element.
This field is a polymorphic relationship field.
Relationship Name
OutputFieldName
Relationship Type
Lookup
Refers To
CalculationMatrixColumn, DecisionTableParameter
OutputFieldNameString Type
string
Properties
Filter, Group, Nillable, Sort
Description
This is a derived field that references a specific column in a decision table or decision matrix.
OutputType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The output type generated from a pricing element.
Possible values are:
• AdjustmentType—Adjustment Type
481
Salesforce Pricing PricingProcedureOutputMap
Field Details
• AdjustmentValue—Adjustment Value
• CustomOutput—Custom Output
• HashOutput—Hash Output
• UnitPrice—Unit Price
PricingComponentType Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The pricing component field data on which the decision table is built.
Possible values are:
• AttributeDiscount—Attribute Based Discount
• BundleDiscount—Bundle Based Discount
• DerivedPricing
• DiscountDistributionService—Discount Distribution Service
• ListPrice—List Price
• PriceAdjustmentMatrix
• PromotionsDiscount
• VolumeDiscount—Volume Based Discount
• VolumeTierDiscount—Tier Discount
PricingRecipeTableMappingId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The mapping of pricing components of a lookup table with the chosen pricing recipe.
This field is a relationship field.
Relationship Name
PricingRecipeTableMapping
Relationship Type
Lookup
Refers To
PricingRecipeTableMapping
482
Salesforce Pricing PricingRecipe
PricingRecipe
Represents one out of various data models or sets of entities of a particular cloud that'll be consumed by the pricing data store during
design and run time. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
Field Details
DefaultPricingProcedureId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The expression set definition or Salesforce flow definition associated with this pricing recipe
settings.
This field is a relationship field.
Relationship Name
DefaultPricingProcedure
Relationship Type
Lookup
Refers To
ExpressionSetDefinition
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The developer name of the pricing recipe.
IsActive Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the pricing recipe is active (true) or not (false).
483
Salesforce Pricing PricingRecipe
Field Details
The default value is false.
IsInternal Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the price recipe record is created internally by the Salesforce platform (true) or
not (false).
The default value is false.
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The languages in which pricing recipe is supported.
Possible values are:
• da—Danish
• de—German
• en_US—English
• es—Spanish
• es_MX—Spanish (Mexico)
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
MasterLabel Type
string
484
Salesforce Pricing PricingRecipeTableMapping
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
A user-friendly name for pricing recipe, which is defined when the pricing recipe is created.
NamespacePrefix Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org that
creates a managed package has a unique namespace prefix. Limit: 15 characters. You can
refer to a component in a managed package by using
the namespacePrefix__componentName notation.
The namespace prefix can have one of the following values.
• In Developer Edition organizations, the namespace prefix is set to the namespace prefix
of the organization for all objects that support it. There’s an exception if an object is in
an installed managed package. In that case, the object has the namespace prefix of the
installed managed package. This field’s value is the namespace prefix of the Developer
Edition organization of the package developer.
• In organizations that are Developer Edition organizations, NamespacePrefix is only set
for objects that are part of an installed managed package. There’s no namespace prefix
for all other objects.
PricingRecipeTableMapping
Represents the mapping of pricing components of a lookup table with the chosen pricing recipe. This object is available in API version
60.0 and later.
Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
Field Details
FileBasedDecisionTableName Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
485
Salesforce Pricing PricingRecipeTableMapping
Field Details
Description
Name of the file-based decision table.
IsInternal Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the price recipe field mapping record is created internally by the Salesforce
platform (true) or not (false).
The default value is false.
LookupTableId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The lookup table associated with the mapped fields.
This field is a polymorphic relationship field.
Relationship Name
LookupTable
Relationship Type
Lookup
Refers To
DecisionMatrixDefinition, DecisionTable
PricingComponentType Type
Pricing Element Type enumerated list
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The pricing component field data on which the decision table is built.
Possible values are:
• AttributeDiscount—Attribute Based Discount
• BundleDiscount—Bundle Based Discount
• DerivedPricing
• ListPrice—List Price
• PriceAdjustmentMatrix
• PromotionsDiscount
• VolumeDiscount—Volume Based Discount
486
Salesforce Pricing ProcedureOutputResolution
Field Details
• VolumeTierDiscount—Tier Discount
• DiscountDistributionService. This value is available in API version 60.0 and
later.
• MinimumPrice. This value is available in API version 62.0 and later.
PricingRecipeId Type
reference
Properties
Create, Filter, Group, Sort
Description
The pricing data store associated with this pricing recipe field mappings.
This field is a relationship field.
Relationship Name
PricingRecipe
Relationship Type
Lookup
Refers To
PricingRecipe
ProcedureOutputResolution
Represents the pricing resolution for an pricing element determined using strategy name and formula. This object is available in API
version 63.0 and later.
Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
Field Details
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name of the procedure output resolution.
Formula Type
string
487
Salesforce Pricing ProcedureOutputResolution
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
The formula function used to determine the minimum or maximum price of a product. The
supported operations are MIN and MAX.
IsActive Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the procedure output resolution is active (true) or not (false). Only active
procedure output resolutions can be applied to a procedure.
The default value is false.
IsInternal Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
Indicates if the procedure output resolution record is created internally by the Salesforce
platform (true) or not (false).
The default value is false.
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The languages in which pricing recipe is supported.
Possible values are:
• da—Danish
• de—German
• en_US—English
• es—Spanish
• es_MX—Spanish (Mexico)
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
488
Salesforce Pricing ProcedureOutputResolution
Field Details
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
MasterLabel Type
string
Properties
Create, Filter, Group, Sort, Update
Description
A user-friendly name for procedure output resolution, which is defined when the procedure
output resolution record is created.
NamespacePrefix Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org that
creates a managed package has a unique namespace prefix. Limit: 15 characters. You can
refer to a component in a managed package by using
the namespacePrefix__componentName notation.
The namespace prefix can have one of the following values.
• In Developer Edition organizations, the namespace prefix is set to the namespace prefix
of the organization for all objects that support it. There’s an exception if an object is in
an installed managed package. In that case, the object has the namespace prefix of the
installed managed package. This field’s value is the namespace prefix of the Developer
Edition organization of the package developer.
• In organizations that are Developer Edition organizations, NamespacePrefix is only set
for objects that are part of an installed managed package. There’s no namespace prefix
for all other objects.
PricingElement Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
489
Salesforce Pricing ProcedurePlanCriterion
Field Details
Description
Specifies the pricing element on which the procedure output resolution is defined.
Possible values are:
• ListPrice—List Price
• MinimumPrice—Price Tracking
ProcedurePlanCriterion
Represents a criterion within a procedure plan option record. This object is available in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Fields
Field Details
ActualValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The user-defined value that’s compared to the value of the sObject field value.
DataType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The data type of the field from the selected object.
FieldPath Type
string
490
Salesforce Pricing ProcedurePlanCriterion
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
The path of the field used in a procedure in relation to the object that the field belongs to.
ObjectField Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The Salesforce object field value used to resolve the procedure plan option.
Operator Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The operator used by the procedure plan criterion.
Valid values are:
• Equals
• GreaterThan
• GreaterThanOrEquals
• In
• IsNotNull
• IsNull
• LessThan
• LessThanOrEquals
• NotEquals
• NotIn
ProcedurePlanOptionId Type
reference
Properties
Create, Filter, Group, Sort
Description
The procedure plan option associated with the procedure plan criterion record.
This field is a relationship field.
Relationship Name
ProcedurePlanOption
491
Salesforce Pricing ProcedurePlanDefinition
Field Details
Relationship Type
Master-detail
Refers To
ProcedurePlanOption (the master object)
Sequence Type
int
Properties
Create, Filter, Group, Sort
Description
The sequence in which the conditions defined in the procedure plan criteria are processed.
ProcedurePlanDefinition
Represents the setup of a unified procedure from a list of multiple procedures that can be sequenced in any order based on business
needs. Each procedure plan definition contains sections and subsections where procedures can be configured by using a lookup table
or rule-based criteria. This object is available in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Fields
Field Details
Description Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The description of the procedure plan definition.
DeveloperName Type
string
492
Salesforce Pricing ProcedurePlanDefinition
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the procedure plan definition record.
This name must begin with a letter and use only alphanumeric characters and underscores.
It can't include spaces, end with an underscore, or have two consecutive underscores.
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the procedure plan definition.
Valid values are:
• da—Danish
• de—German
• en_US—English
• es—Spanish
• es_MX—Spanish (Mexico)
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
MasterLabel Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The master label of the procedure plan definition.
493
Salesforce Pricing ProcedurePlanDefinition
Field Details
NamespacePrefix Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org that
creates a managed package has a unique namespace prefix. Limit: 15 characters. You can
refer to a component in a managed package by using
the namespacePrefix__componentName notation.
The namespace prefix can have one of the following values.
• In Developer Edition organizations, the namespace prefix is set to the namespace prefix
of the organization for all objects that support it. There’s an exception if an object is in
an installed managed package. In that case, the object has the namespace prefix of the
installed managed package. This field’s value is the namespace prefix of the Developer
Edition organization of the package developer.
• In organizations that are Developer Edition organizations, NamespacePrefix is only set
for objects that are part of an installed managed package. There’s no namespace prefix
for all other objects.
PrimaryObject Type
string
Properties
Create, Filter, Group, idLookup, Nillable, Sort
Description
The object associated to the procedure plan definition. The fields in the object are used as
variables in the procedure plan criterion.
ProcessType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Identify the business processes that need a procedure plan for each SObject and definition.
Possible values are:
• Default
• ProductDiscovery—Product Discovery
The default value is Default.
494
Salesforce Pricing ProcedurePlanDefinitionVersion
ProcedurePlanDefinitionVersion
Represents the versions for a procedure plan definition. Multiple versions under a procedure plan definition must be active at a time,
which can be resolved at run time using the rank field. This object is available in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Fields
Field Details
ContextDefinition Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The context definition associated with the procedure plan definition record.
Valid values are:
• 11ODU00000007Zx2AI
• 11ODU000000084F2AQ
• CollectionPlanEvent__stdctx
• CommerceCartContextDefinition__stdctx
• SalesTransactionContext__stdctx
• TestContextService__stdctx
• TestDynamicAttribute__stdctx
• TestExtendedDefinition__stdctx
DefaultReadContextMapping Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The default read context mapping used to read from the mapped object and populate the
context definition.
495
Salesforce Pricing ProcedurePlanDefinitionVersion
Field Details
DefaultSaveContextMapping Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The save context mapping used to save from the context definition and populate the mapped
object.
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the procedure plan definition version record.
This name must begin with a letter and use only alphanumeric characters and underscores.
It can't include spaces, end with an underscore, or have two consecutive underscores.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the procedure plan definition comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the procedure plan definition is no longer in effect.
InheritedFrom Type
string
Properties
Create, Filter, Group, idLookup, Nillable, Sort
Description
The template from which this procedure plan definition is created.
IsActive Type
boolean
496
Salesforce Pricing ProcedurePlanOption
Field Details
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates if this procedure plan definition version is active (true) or not (false).
The default value is false.
ProcedurePlanDefinitionId Type
reference
Properties
Create, Filter, Group, Sort
Description
The procedure plan definition associated with this procedure plan definition version record.
This field is a relationship field.
Relationship Name
ProcedurePlanDefinition
Relationship Type
Master-detail
Refers To
ProcedurePlanDefinition (the master object)
Rank Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The current rank of the procedure plan definition version that’s used to determine which
procedure plan definition version is executed .
ProcedurePlanOption
Represents the selection criteria of how a procedure can be configured for a selected procedure plan section record. This object is
available in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
497
Salesforce Pricing ProcedurePlanOption
Fields
Field Details
CriteriaLogic Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The computation logic for the various conditions applied to an option.
CtxDefinitionOutputFieldId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The context definition field that’s associated with the decision table.
This field is a relationship field.
Relationship Name
CtxDefinitionOutputField
Refers To
DecisionTableParameter
CtxMappingOutputFieldId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The context mapping field that’s associated with the decision table.
This field is a relationship field.
Relationship Name
CtxMappingOutputField
Refers To
DecisionTableParameter
DecisionTableId Type
reference
Properties
Filter, Group, Nillable, Sort
498
Salesforce Pricing ProcedurePlanOption
Field Details
Description
The decision table associated with the pricing procedure.
This field is a relationship field.
Relationship Name
DecisionTable
Refers To
DecisionTable
ExpressionSetApiName Type
string
Properties
Filter, Group, Nillable, Sort
Description
The API name of the expression set.
ExpressionSetDefinitionId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The expression set definition associated with the procedure plan option record.
This field is a relationship field.
Relationship Name
ExpressionSetDefinition
Refers To
ExpressionSetDefinition
ExpressionSetLabel Type
string
Properties
Filter, Group, Nillable, Sort
Description
The label of the expression set definition.
ExpressionSetOutputFieldId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The expression set output field that’s associated with the decision table.
This field is a relationship field.
499
Salesforce Pricing ProcedurePlanOption
Field Details
Relationship Name
ExpressionSetOutputField
Refers To
DecisionTableParameter
PrimaryObject Type
string
Properties
Filter, Group, Nillable, Sort
Description
The procedure plan definition associated with the procedure plan option record.
Priority Type
int
Properties
Create, Filter, Group, Sort
Description
The order in which the options are executed.
ProcedurePlanSectionId Type
reference
Properties
Create, Filter, Group, Sort
Description
The procedure plan section associated with the procedure plan option record.
This field is a relationship field.
Relationship Name
ProcedurePlanSection
Relationship Type
Master-detail
Refers To
ProcedurePlanSection (the master object)
ReadContextMapping Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The read context mapping used to read from the mapped object and populate the context
definition.
500
Salesforce Pricing ProcedurePlanSection
Field Details
SaveContextMapping Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The save context mapping used to save from the context definition and populate the mapped
object.
ProcedurePlanSection
Represents various procedure setup sections for a procedure plan definition. Each section enables the setup of a procedure of a type
that can be further determined by using a rule-based criteria or it can be set based on a selected lookup table. This object is available in
API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Fields
Field Details
Description Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The description of the procedure plan section.
IsInherited Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
Indicates if the section is inherited from a template (true) ot not (false).
501
Salesforce Pricing ProcedurePlanSection
Field Details
The default value is false.
ProcedurePlanVersionId Type
reference
Properties
Create, Filter, Group, Sort
Description
The procedure plan version associated with this procedure plan section record.
This field is a relationship field.
Relationship Name
ProcedurePlanVersion
Relationship Type
Master-detail
Refers To
ProcedurePlanDefinitionVersion (the master object)
ResolutionType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of resolution used to filter the procedure.
Valid values are:
• Default
• RuleBased
SectionType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The type of procedure section.
Valid values are:
• Custom
• PricingDiscoveryProcedure
• PricingProcedure
• ProductDiscoveryProcedure
Sequence Type
int
502
Salesforce Pricing ProcedurePlanVariable
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
The sequence in which the procedures are processed.
SubSectionType Type
string
Properties
Create, Filter, Group, Sort
Description
The procedure subsection added to the procedure plan definition.
ProcedurePlanVariable
Represents the setup for any adhoc user-defined variable that can be linked to a procedure plan definition record. This object is available
in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Fields
Field Details
DataType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The data type of the input procedure plan variable.
DefaultValue Type
string
503
Salesforce Pricing ProcedurePlanVariable
Field Details
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The default value for the user-defined procedure plan variable.
DeveloperName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the procedure plan variable record.
This name must begin with a letter and use only alphanumeric characters and underscores.
It can't include spaces, end with an underscore, or have two consecutive underscores.
Label Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label of the procedure plan variable.
ProcedurePlanVersionId Type
reference
Properties
Create, Filter, Group, Sort
Description
The procedure plan version associated with the procedure plan variable record.
This field is a relationship field.
Relationship Name
ProcedurePlanVersion
Relationship Type
Master-detail
Refers To
ProcedurePlanDefinitionVersion (the master object)
504
CHAPTER 4 Rate Management
In this chapter ... Quote and price products based on predefined rates for future use
EDITIONS
of the product or service.
• Rate Management
Available in: Lightning
Standard Objects
SEE ALSO: Experience
• Rate Management
Metadata API Types Salesforce Help: Rate Management Permission Set Licenses Available in: Enterprise,
• Rate Management Unlimited, and Developer
Business APIs Editions of Revenue Cloud
where Rate Management is
• Rate Management
enabled
Standard Invocable
Actions
505
Rate Management Rate Management Standard Objects
PriceBookRateCard
Represents a junction between price book and rate card objects. This object is available in API version 62.0 and later.
RateAdjustmentByAttribute
Represents the adjustments that determine the rate of a resource based on its rate-impacting attributes. These attributes are linked
to the usage product record. Rates are then influenced by conditions specified in the Attribute Based Adjustment Condition object.
Finally, the charge rate is determined by using the Attribute Based Adjustment Rule object. This object is available in API version
62.0 and later.
RateAdjustmentByTier
Represents the adjustments for the rate of a resource that’s determined based on the specified tiers. This object stores information
about the type of adjustment used, the value of the adjustment type, and any applicable boundaries. This object is available in API
version 62.0 and later.
RateCard
Represents the rules used to rate the consumption of a group of resources within a product. Usage of a resource is billed at a specified
rate if the user consumes more than their allowance for a time period. This object is available in API version 62.0 and later.
RateCardEntry
Represents a rule that determines the charge rate for using a product's resource. Each entry is linked to one rate card exclusively,
and its activation or deactivation can be controlled by assigning effective dates. This object is available in API version 62.0 and later.
RatingFrequencyPolicy
Represents the policy that defines the frequency at which rating is triggered for the ratable summary records. This object is available
in API version 62.0 and later.
RatingRequest
Represents the common run-time parameters, such as context definition and rating procedure for a set of records in the rateable
summary table. This object is available in API version 62.0 and later.
RatingRequestBatchJob
Represents a junction between the rating request and batch job objects. This object is available in API version 62.0 and later.
SEE ALSO:
Object Reference for the Salesforce Platform: Overview of Salesforce Objects and Fields
SOAP API Developer Guide: Introduction to SOAP API
PriceBookRateCard
Represents a junction between price book and rate card objects. This object is available in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
506
Rate Management PriceBookRateCard
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Auto-generated identifier for the price book rate card record.
PriceBookId Type
reference
Properties
Create, Filter, Group, Sort
Description
Price book ID that's associated with the rate cards IDs. For Quote, Order, and Contracts, the
price book IDs identify the associated rate cards.
This field is a relationship field.
Relationship Name
PriceBook
Relationship Type
Master-detail
Refers To
Pricebook2 (the master object)
507
Rate Management RateAdjustmentByAttribute
Field Details
RateCardId Type
reference
Properties
Create, Filter, Group, Sort
Description
Rate card ID that's associated with the price book.
This field is a relationship field.
Relationship Name
RateCard
Relationship Type
Master-detail
Refers To
RateCard (the detail object)
RateCardType Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Type of rate card associated with the price book.
Valid values are:
• Attribute
• Base
• Tier
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
PriceBookRateCardFeed
Feed tracking is available for the object.
PriceBookRateCardHistory
History is available for tracked fields of the object.
RateAdjustmentByAttribute
Represents the adjustments that determine the rate of a resource based on its rate-impacting attributes. These attributes are linked to
the usage product record. Rates are then influenced by conditions specified in the Attribute Based Adjustment Condition object. Finally,
the charge rate is determined by using the Attribute Based Adjustment Rule object. This object is available in API version 62.0 and later.
508
Rate Management RateAdjustmentByAttribute
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AdjustmentType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Type of rate adjustment.
Valid values are:
• Amount
• Override
• Percentage
AdjustmentValue Type
double
Properties
Create, Filter, Sort, Update
Description
Value of the rate adjustment based on the selected adjustment type.
AttributeBasedAdjRuleId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
ID of the attribute based adjustment rule associated with this rate adjustment by attribute
record.
This field is a relationship field.
Relationship Name
AttributeBasedAdjRule
Refers To
AttributeBasedAdjRule
509
Rate Management RateAdjustmentByAttribute
Field Details
EffectiveFrom Type
dateTime
Properties
Filter, Sort
Description
Date and time when the associated rate card entry comes into effect.
EffectiveTo Type
dateTime
Properties
Filter, Nillable, Sort
Description
Date and time until when the associated rate card entry remains effective.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Auto-generated identifier for the rate adjustment by attribute record.
ProductId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the product whose resource is being used as the associated rate card entry.
510
Rate Management RateAdjustmentByAttribute
Field Details
This field is a relationship field.
Relationship Name
Product
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the product selling model for the associated rate card entry.
This field is a relationship field.
Relationship Name
ProductSellingModel
Refers To
ProductSellingModel
RateCardEntryId Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the rate card entry associated with this rate adjustment by attribute record.
This field is a relationship field.
Relationship Name
RateCardEntry
Relationship Type
Master-detail
Refers To
RateCardEntry (the master object)
RateCardEntryStatus Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Status of the rate card entry associated with this rate adjustment by attribute.
Valid values are:
• Active
511
Rate Management RateAdjustmentByAttribute
Field Details
• Draft
• Inactive
The default value is Draft. Available in API version 63.0 and later.
RateCardId Type
reference
Properties
Filter, Group, Sort
Description
ID of the rate card of the associated rate card entry.
This field is a relationship field.
Relationship Name
RateCard
Refers To
RateCard
RateUnitOfMeasureId Type
reference
Properties
Filter, Group, Sort
Description
ID of the standard unit of measure record of the associated rate card entry.
This field is a relationship field.
Relationship Name
RateUnitOfMeasure
Refers To
UnitOfMeasure
RateUnitOfMeasureName Type
string
Properties
Filter, Group, Sort
Description
Name of the standard unit of measure record of the associated rate card entry.
UsageResourceId Type
reference
Properties
Filter, Group, Sort
Description
ID of the resource selected for the associated rate card entry.
512
Rate Management RateAdjustmentByTier
Field Details
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
RateAdjustmentByAttributeFeed
Feed tracking is available for the object.
RateAdjustmentByAttributeHistory
History is available for tracked fields of the object.
RateAdjustmentByTier
Represents the adjustments for the rate of a resource that’s determined based on the specified tiers. This object stores information about
the type of adjustment used, the value of the adjustment type, and any applicable boundaries. This object is available in API version 62.0
and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AdjustmentType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Type of rate adjustment.
Valid values are:
• Amount
• Override
513
Rate Management RateAdjustmentByTier
Field Details
• Percentage
AdjustmentValue Type
double
Properties
Create, Filter, Sort, Update
Description
Value of the rate adjustment based on the selected adjustment type.
EffectiveFrom Type
dateTime
Properties
Filter, Sort
Description
Date and time when the associated rate card entry comes into effect.
EffectiveTo Type
dateTime
Properties
Filter, Nillable, Sort
Description
Date and time until when the associated rate card entry remains effective.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
LowerBound Type
double
Properties
Create, Filter, Sort, Update
514
Rate Management RateAdjustmentByTier
Field Details
Description
Minimum quantity of the rate adjustment value that can be applied to the record. This value
must be a positive integer and must be less than the upper bound of the tier.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Auto-generated identifier for the rate adjustment by tier record.
ProductId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the product whose resource is being used as the associated rate card entry.
This field is a relationship field.
Relationship Name
Product
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the product selling model for the associated rate card entry record.
This field is a relationship field.
Relationship Name
ProductSellingModel
Refers To
ProductSellingModel
RateCardEntryId Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the rate card entry associated with this rate adjustment by tier record.
515
Rate Management RateAdjustmentByTier
Field Details
This field is a relationship field.
Relationship Name
RateCardEntry
Relationship Type
Master-detail
Refers To
RateCardEntry (the master object)
RateCardEntryStatus Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Status of the rate card entry associated with this rate adjustment by tier.
Valid values are:
• Active
• Draft
• Inactive
The default value is Draft. Available in API version 63.0 and later.
RateCardId Type
reference
Properties
Filter, Group, Sort
Description
ID of the rate card of the associated rate card entry.
This field is a relationship field.
Relationship Name
RateCard
Refers To
RateCard
RateUnitOfMeasureId Type
reference
Properties
Filter, Group, Sort
Description
ID of the standard unit of measure record of the associated rate card entry.
This field is a relationship field.
516
Rate Management RateAdjustmentByTier
Field Details
Relationship Name
RateUnitOfMeasure
Refers To
UnitOfMeasure
RateUnitOfMeasureName Type
string
Properties
Filter, Group, Sort
Description
Name of the standard unit of measure record of the associated rate card entry.
UpperBound Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
Maximum quantity of the rate adjustment value that can be applied to the record. This value
must be a positive double and must be greater than the lower bound of the tier.
UsageResourceId Type
reference
Properties
Filter, Group, Sort
Description
ID of the resource selected for the associated rate card entry.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
RateAdjustmentByTierFeed
Feed tracking is available for the object.
RateAdjustmentByTierHistory
History is available for tracked fields of the object.
517
Rate Management RateCard
RateCard
Represents the rules used to rate the consumption of a group of resources within a product. Usage of a resource is billed at a specified
rate if the user consumes more than their allowance for a time period. This object is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Description Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Description about the rate card.
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
Date and time when the rate card becomes effective.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
Date and time until when the rate card remains effective.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
518
Rate Management RateCard
Field Details
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Name of the rate card.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
ID of the user who created the record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
Type Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Type of rate card.
Valid values are:
• Attribute
• Base
• Tier
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
519
Rate Management RateCardEntry
RateCardFeed
Feed tracking is available for the object.
RateCardHistory
History is available for tracked fields of the object.
RateCardShare
Sharing is available for the object.
RateCardEntry
Represents a rule that determines the charge rate for using a product's resource. Each entry is linked to one rate card exclusively, and its
activation or deactivation can be controlled by assigning effective dates. This object is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
DefaultUnitOfMeasureClassId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the default unit of measure classification record associated with this rate card entry.
This field is a relationship field.
Relationship Name
DefaultUnitOfMeasureClass
Refers To
UnitOfMeasureClass
DefaultUnitOfMeasureId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the default unit of measure record associated with this rate card entry.
This field is a relationship field.
Relationship Name
DefaultUnitOfMeasure
520
Rate Management RateCardEntry
Field Details
Refers To
UnitOfMeasure
EffectiveFrom Type
dateTime
Properties
Create, Filter, Sort, Update
Description
Date and time when the rate card entry comes into effect.
EffectiveTo Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
Date and time until when the rate card entry remains effective.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Auto-generated identifier for the rate card entry record.
ProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
521
Rate Management RateCardEntry
Field Details
Description
ID of the product whose resource is being used as a rate card entry.
This field is a relationship field.
Relationship Name
Product
Refers To
Product2
ProductSellingModelId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of the product selling model associated with this rate card entry.
This field is a relationship field.
Relationship Name
ProductSellingModel
Refers To
ProductSellingModel
Rate Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
Value of the rate card entry.
RateCardId Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the rate card associated with this rate card entry.
This field is a relationship field.
Relationship Name
RateCard
Relationship Type
Master-detail
Refers To
RateCard (the master object)
522
Rate Management RateCardEntry
Field Details
RateCardType Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Type of rate card associated with this rate card entry.
Valid values are:
• Attribute
• Base
• Tier
Available in API version 63.0 and later.
RateNegotiation Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Type of rate negotiation applicable to the rate card entry.
Valid values are:
• Negotiable
• NonNegotiable
The default value is Negotiable. Available in API version 63.0 and later.
RateUnitOfMeasureClassId Type
reference
Properties
Filter, Group, Sort
Description
ID of the unit of measure classification record associated with this rate card entry.
This field is a relationship field.
Relationship Name
RateUnitOfMeasureClass
Refers To
UnitOfMeasureClass
RateUnitOfMeasureId Type
reference
Properties
Create, Filter, Group, Sort, Update
523
Rate Management RateCardEntry
Field Details
Description
ID of the standard unit of measure record associated with this rate card entry.
This field is a relationship field.
Relationship Name
RateUnitOfMeasure
Refers To
UnitOfMeasure
RateUnitOfMeasureName Type
string
Properties
Filter, Group, Sort
Description
Name of the standard unit of measure record of the associated rate card entry.
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Status of the rate card entry.
• Active
• Draft
• Inactive
The default value is Draft. Available in API version 63.0 and later.
UsageProductId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the product associated with the resource for which the rate is specified.
This field is a relationship field.
Relationship Name
UsageProduct
Refers To
Product2
UsageResourceId Type
reference
524
Rate Management RatingFrequencyPolicy
Field Details
Properties
Create, Filter, Group, Sort, Update
Description
ID of the resource associated with this rate card entry.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
RateCardEntryFeed
Feed tracking is available for the object.
RateCardEntryHistory
History is available for tracked fields of the object.
RatingFrequencyPolicy
Represents the policy that defines the frequency at which rating is triggered for the ratable summary records. This object is available in
API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
525
Rate Management RatingFrequencyPolicy
Field Details
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Auto-generated identifier for the rating frequency policy record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
ID of the user who created the record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
ProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of the product for which the rating policy is defined.
This field is a relationship field.
Relationship Name
Product
Refers To
Product2
RatingDelayDuration Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
526
Rate Management RatingRequest
Field Details
Description
Duration of delay—in hours—post the billing period after which the rating is to be triggered.
RatingPeriod Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Period for which the usage of a product and usage resource combination are to be rated.
Valid values are:
• Daily
• Monthly
UsageResourceId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
ID of the usage resource for which the rating policy is defined.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
RatingFrequencyPolicyFeed
Feed tracking is available for the object.
RatingFrequencyPolicyHistory
History is available for tracked fields of the object.
RatingFrequencyPolicyShare
Sharing is available for the object.
RatingRequest
Represents the common run-time parameters, such as context definition and rating procedure for a set of records in the rateable summary
table. This object is available in API version 62.0 and later.
527
Rate Management RatingRequest
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
ContextDefinition Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Context definition that's used for context instance creation, which encapsulates all aggregated
records that are stamped for the rating request.
ContextMapping Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Context mapping that's used for context instance creation, which encapsulates all aggregated
records that are stamped for the rating request. If no ID is provided, default context mapping
is used.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
528
Rate Management RatingRequest
Field Details
Description
Auto-generated identifier for the rating request record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
ID of the user who created the record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
RatingProcedureName Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Procedure name that's used to rate the aggregated records that are stamped for rating
request.
Status Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Status of the rating request.
Valid values are:
• Failed
• Pending
• RatingComplete
• RatingInProgress
• ReadyForRating
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
529
Rate Management RatingRequestBatchJob
RatingRequestFeed
Feed tracking is available for the object.
RatingRequestHistory
History is available for tracked fields of the object.
RatingRequestShare
Sharing is available for the object.
RatingRequestBatchJob
Represents a junction between the rating request and batch job objects. This object is available in API version 62.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
BatchJobId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
ID of the batch job that triggered the rating request on the aggregated records.
This field is a relationship field.
Relationship Name
BatchJob
Refers To
BatchJob
ErrorCode Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Error code that defines the batch job failure.
Valid values are:
• BadRequest
• InternalError
530
Rate Management RatingRequestBatchJob
Field Details
ErrorMessage Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Error message that describes the cause of the batch job failure.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last referred to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Name of the rating request batch job record.
RatingRequestId Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the rating request record associated with the batch job.
This field is a relationship field.
Relationship Name
RatingRequest
Relationship Type
Master-detail
Refers To
RatingRequest (the master object)
531
Rate Management Rate Management Metadata API Types
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
RatingRequestBatchJobFeed
Feed tracking is available for the object.
RatingRequestBatchJobHistory
History is available for tracked fields of the object.
IndustriesRatingSettings
Represents the settings for Rate Management.
Flow for Rate Management
Represents the metadata associated with a flow. With Flow, you can create an application that takes users through a series of pages
to query and update the records in the database. You can also run logic and provide branching capability based on user input to
build dynamic applications.
IndustriesRatingSettings
Represents the settings for Rate Management.
Version
IndustriesRatingSettings components are available in API version 62.0 and later.
532
Rate Management IndustriesRatingSettings
Fields
Field Name Description
enableRating Field Type
boolean
Description
Indicates whether to enable Rate Management (true) or not (false). The default
value is false.
533
Rate Management Flow for Rate Management
FlowActionCall
Rate Management exposes additional actionType values for the FlowActionCall metadata type.
Resources
Learn more about the available Rate Management API resources.
Response Bodies
Learn more about the available response bodies of Rate Management APIs.
SEE ALSO:
Connect REST API Developer Guide: Introduction
Resources
Learn more about the available Rate Management API resources.
534
Rate Management Resources
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-rating/rate-plan
?contextId=858a3ad3e5a0e5c319652a6ab92f6fdb2b4fa8be72b390506d014596c6da62c9&procedure
ApiName=SampleProcedure
Available version
62.0
HTTP methods
GET
Request parameters for GET
/connect/core-pricing/waterfall/lineItemId/executionId
535
Rate Management Response Bodies
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/core-pricing/waterfall/Gold/2yHdNNEFOZr9jAe4gHS7?tagsToFilter=UnitPrice&usageType=Rating
Available version
62.0
HTTP methods
GET
Query parameters
usageType String Usage type of the waterfall log record. Optional 62.0
Valid values are:
• Rating
• Pricing—Specifies that the record
type is Pricing. If this value is
specified, the API creates a log of
pricing waterfall. See Pricing Waterfall.
The default value is Pricing.
Response Bodies
Learn more about the available response bodies of Rate Management APIs.
Adjustment Details
Output representation of a rate adjustment request.
Line Item Waterfall Response
Output representation of the line item waterfall response.
Rate Plan Response
Output representation of the details of a rate plan.
Rating Error Response
Output representation of the error details related to the API request.
Rating Waterfall Response
Output representation of a rating waterfall request.
536
Rate Management Response Bodies
Adjustment Details
Output representation of a rate adjustment request.
JSON example
"pricingElement": {
"adjustments": [{
"adjustmentType": null,
"adjustmentValue": null
}],
"name": "List Price",
"elementType": "ListPrice"
}
537
Rate Management Response Bodies
currencyCode String Currency code. For example, USD or INR. Small, 62.0 62.0
lineItemId String Line item ID for which the price is being Small, 62.0 62.0
calculated.
success Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
usageType String Usage type of the waterfall log record. Small, 62.0 62.0
waterfall Rating Waterfall Details of the rating waterfall. Small, 62.0 62.0
Response[]
538
Rate Management Response Bodies
success Boolean Indicates whether the request is successful Small, 62.0 62.0
(true) or not (false)
message String Message stating the reason for error, if any. Small, 62.0 62.0
{
"inputParameters": {
"productId": "01txx0000006i2SAAQ",
"pricebookId": "01sxx0000005ptpAAA",
"pricingModelType": "OneTime"
},
"fieldToTagNameMapping": {
"Product2Id": "ItemProduct",
"Subtotal": "Subtotal",
"Pricebook2Id": "Pricebook",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionSource",
"ListPrice": "ItemListPrice"
},
"sequence": 0,
"outputParameters": {
"listPrice": "10"
},
"pricingElement": {
"adjustments": [
{
"adjustmentType": null,
"adjustmentValue": null
}
539
Rate Management Rate Management Standard Invocable Actions
],
"name": "List Price"
}
}
pricing Adjustment Details Details of the rate adjustment of a rating Small, 62.0 62.0
Element element.
SEE ALSO:
Actions Developer Guide: Overview
REST API Developer Guide: Invocable Actions Standard
Metadata API Developer Guide: Understanding Metadata API
540
Rate Management Invoke Rating Service Action
Inputs
Input Details
attributeRateCardID Type
string
Description
ID of the rate card that’s used to define adjustments based on the attributes that impact the rate.
baseRateCardID Type
string
Description
ID of the rate card that includes the base rate for the resource to be rated, based on its
consumption.
contextDefinitionId Type
string
Description
Required.
ID of the context definition that’s used to create the context instance.
contextMappingID Type
string
Description
ID of the context mapping that maps a standard object, context definition object, or any other
input data source to the node that’s defined in the context definition.
isSkipWaterfall Type
boolean
Description
Indicates whether to skip the generation of price waterfall data (true) or not (false).
541
Rate Management Invoke Rating Service Action
Input Details
procedureName Type
string
Description
Name of the rating procedure that’s used to calculate the rates.
recordID Type
reference
Description
Required.
ID of the usage ratable summary record to be rated.
tierRateCardID Type
string
Description
ID of the rate card that’s used to define adjustments for different tiers of a resource.
Outputs
None
Example
POST
This example shows a sample request for the Invoke Rating Service action.
{
"inputs": [
{
"recordIDs": "56jSB000002Bn12CXC",
"contextMappingId": "11jSB000002Bn13YAC",
"contextDefinitionId": "11OSB0000000WSv2AM",
"procedureName": "Invoke Rate",
"isSkipWaterfall": false,
"baseRateCardID": "11jSB000002Bn13YAC",
"tierRateCardID": "fgjjSB0sdf987dsf",
"attributeRateCardID": "asdfgh563034lk"
}
]
}
This example shows a sample response for the Invoke Rating Service action.
[
{
"actionName": "invokeRatingService",
"errors": null,
542
Rate Management Invoke Rating Service Action
"isSuccess": true,
"outputValues": {}
}
]
543
CHAPTER 5 Usage Management
In this chapter ... Provide transparent, accurate, and efficient management of usage
EDITIONS
data and estimated usage amount to enhance revenue
• Usage Management management capabilities. Available in: Lightning
Standard Objects
Experience
• Usage Management
Standard Invocable Available in: Enterprise,
Actions Unlimited, and Developer
• Usage Management Editions
Business APIs
• Usage Management
Metadata API Types
544
Usage Management Usage Management Standard Objects
ProductUsageGrant
Represents the details of a grant associated with a resource, product, or service, such as the purchased quantity, renewal and rollover
policy, and validity of the grant. This object is available in API version 62.0 and later.
TransactionJournal
Represents consumption details of a usage resource that are recorded for creating usage summaries. This object is available for usage
management in API version 63.0 and later.
TransactionUsageEntitlement
Represents the details of each usage entitlement that's granted with the purchased sellable product, such as quantity and date when
the entitlements were granted. This object is available in API version 63.0 and later.
UnitOfMeasure
Defines the units and systems of units used to account for quantities of a usage resource. This object is available for usage management
in API version 62.0 and later.
UnitOfMeasureClass
Represents a standard unit of measure dimension. This object is available in API version 63.0 and later.
UsageBillingPeriodItem
Represents the calculated overages for the usage entitlement and the amount that's charged for these overages. This object is
available in API version 63.0 and later.
UsageEntitlementAccount
Represents the entitlement account details related to the asset that holds the wallet with the granted units. This object is available
in API version 63.0 and later.
UsageEntitlementBucket
Represents a usage entitlement that's granted with the sellable product. This object is available in API version 63.0 and later.
UsageEntitlementEntry
Represents the usage entitlement details, such as the usage consumption, rollovers, and details of expired units for each tenure. This
object is available in API version 63.0 and later.
UsageGrantRenewalPolicy
Represents a policy about the rollover of a usage grant. This object is available in API version 62.0 and later.
UsageGrantRolloverPolicy
Represents a policy about the rollover of a usage grant.This object is available in API version 62.0 and later.
UsagePrdGrantBindingPolicy
Represents the association of a usage resource's grants with a sellable product. This object is available in API version 63.0 and later.
UsageRatableSummary
Represents the aggregation of the usage summaries that are used to calculate the rate at which the overages are charged. This
object is available in API version 63.0 and later.
UsageResource
Represents an entitlement granted to a user or party by a provider, such as data storage, computing power, bandwidth, or any other
product or service. Additionally, this object is used to represent resources consumed over time. This object is available in API version
62.0 and later.
545
Usage Management ProductUsageGrant
UsageResourceBillingPolicy
Represents information about how the usage is accumulated before rating a usage resource.This object is available in API version
62.0 and later.
UsageSummary
Represents the aggregation of the entries in the transaction journal for a usage entitlement for a specified period. This object is
available in API version 63.0 and later.
SEE ALSO:
Object Reference for the Salesforce Platform: Overview of Salesforce Objects and Fields
SOAP API Developer Guide: Introduction to SOAP API
ProductUsageGrant
Represents the details of a grant associated with a resource, product, or service, such as the purchased quantity, renewal and rollover
policy, and validity of the grant. This object is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
DrawdownOrder Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The order that's used to debit entitlement consumption from the usage entitlement bucket.
Valid values are:
• ExpiringFirst
• GrantedFirst
• GrantedLast
EffectiveEndDate Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
546
Usage Management ProductUsageGrant
Field Details
Description
The date and time until when the grant remains effective.
EffectiveStartDate Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the grant becomes effective.
Label Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The identifying label for the product usage grant.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
OverageChargeable Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies whether to charge for overages.
Valid values are:
• No
• Yes
547
Usage Management ProductUsageGrant
Field Details
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the product usage grant.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
ProductOfferId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The sellable product that grants the usage resource.
This field is a relationship field.
Relationship Name
ProductOffer
Refers To
Product2
ProductUsageGrantNum Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The number of each resource grant map that starts with one and is consecutive.
Quantity Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The quantity of the granted resource.
RenewalPolicyId Type
reference
548
Usage Management ProductUsageGrant
Field Details
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The grant renewal policy associated with the product usage grant.
This field is a relationship field.
Relationship Name
RenewalPolicy
Refers To
UsageGrantRenewalPolicy
RolloverPolicyId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The grant rollover policy associated with the product usage grant.
This field is a relationship field.
Relationship Name
RolloverPolicy
Refers To
UsageGrantRolloverPolicy
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the product usage grant.
Valid values are:
• Active
• Draft
• Inactive
UnitOfMeasureClassId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit of measure class associated with the product usage grant.
This field is a relationship field.
549
Usage Management ProductUsageGrant
Field Details
Relationship Name
UnitOfMeasureClass
Refers To
UnitOfMeasureClass
UnitOfMeasureId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The unit for measure associated with the product usage grant. This value when specified,
overrides the default unit of measure defined in the associated unit of measure class.
This field is a relationship field.
Relationship Name
UnitOfMeasure
Refers To
UnitOfMeasure
UsageDefinitionProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The sellable product associated with the usage resource that's used to retrieve tax policy,
calculate rating during overages, and other invoicing actions.
This field is a relationship field.
Relationship Name
UsageDefinitionProduct
Refers To
Product2
UsageResourceId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The usage resource associated with the product usage grant.
This field is a relationship field.
Relationship Name
UsageResource
550
Usage Management TransactionJournal
Field Details
Refers To
UsageResource
ValidityPeriodTerm Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The period until when the resource grant is valid.
ValidityPeriodUnit Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The length of a validity period for the resource grant, when used with the
ValidityPeriodTerm field.
Valid values are:
• Month
• None
• Year
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
ProductUsageGrantHistory
History is available for tracked fields of the object.
ProductUsageGrantOwnerSharingRule
Sharing rules are available for the object.
ProductUsageGrantShare
Sharing is available for the object.
TransactionJournal
Represents consumption details of a usage resource that are recorded for creating usage summaries. This object is available for usage
management in API version 63.0 and later.
551
Usage Management TransactionJournal
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
Fields
Field Details
AccountId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The account associated with the transaction.
This field is a relationship field.
Relationship Name
Account
Refers To
Account
ActivityDate Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date of the transaction.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
552
Usage Management TransactionJournal
Field Details
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The autogenerated number of the transaction journal.
ReferenceRecordId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The record of an asset that's associated with this transaction.
This field is a polymorphic relationship field.
Relationship Name
ReferenceRecord
Refers To
Asset
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the transaction.
Valid values are:
• Approved
• Cancelled
• Error
• Pending
• Processed
• ProcessingError
• Rejected
• SystemApproved
• SystemRejected
The default value is Pending.
UniqueIdentifier Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
553
Usage Management TransactionUsageEntitlement
Field Details
Description
An autogenerated identifier for the transaction journal when the usage type is Usage
Management.
UsageResourceId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The usage resource that's associated with the transaction journal.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
UsageType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of usage.
Valid value is:
• UsageManagement
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
TransactionJournalChangeEvent
Change events are available for the object.
TransactionUsageEntitlement
Represents the details of each usage entitlement that's granted with the purchased sellable product, such as quantity and date when
the entitlements were granted. This object is available in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
554
Usage Management TransactionUsageEntitlement
Fields
Field Details
AccountId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The account that's associated with the usage entitlement.
This field is a relationship field.
Relationship Name
Account
Refers To
Account
ActionType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of action that resulted in the transaction usage entitlement.
Valid values are:
• Amend
• Cancellation
• New
• Ramp
• Renewal
AssetId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The asset associated with the sellable product.
This field is a relationship field.
Relationship Name
Asset
555
Usage Management TransactionUsageEntitlement
Field Details
Refers To
Asset
ChargeForOverage Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The action to be taken when the entitlements are used beyond their grant values.
Valid values are:
• No—Don't charge for over consumption
• Yes—Charge for over consumption
DrawdownOrder Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The order that's used to debit entitlement consumption from the usage entitlement bucket.
Valid values are:
• ExpiringFirst
• GrantedFirst
• GrantedLast
EffectiveEndDateTime Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the active transaction usage entitlement ends.
EffectiveStartDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the transaction usage entitlement becomes active.
EntitlementUomClassId Type
reference
556
Usage Management TransactionUsageEntitlement
Field Details
Properties
Filter, Group, Nillable, Sort
Description
The unit of measure class for the usage entitlement.
This field is a relationship field.
Relationship Name
EntitlementUomClass
Refers To
UnitOfMeasureClass
EntitlementUomId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit of measure to calculate the usage entitlement.
This field is a relationship field.
Relationship Name
EntitlementUom
Refers To
UnitOfMeasure
ExternalGrantBindingTarget Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The custom target associated with the entitlements that are granted with the sellable product.
ExternalOrderItem Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The custom or external order item that's associated with the entitlement.
GrantBindingTargetId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
557
Usage Management TransactionUsageEntitlement
Field Details
Description
The target associated with the entitlements that are granted with the sellable product.
This field is a relationship field.
Relationship Name
GrantBindingTarget
Refers To
Asset
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Autogenerated identifier for the transaction usage entitlement record.
NetQuantity Type
double
Properties
Create, Filter, Sort, Update
Description
The total quantity that combines the amended quantity with the initial transaction quantity
in the order item.
OrderItemId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
558
Usage Management TransactionUsageEntitlement
Field Details
Description
The order item that's associated with the entitlement.
This field is a polymorphic relationship field.
Relationship Name
OrderItem
Refers To
OrderItem, WorkOrderLineItem
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the transaction usage entitlement.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
PricebookEntryId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The price book entry that's associated with the sellable product.
This field is a relationship field.
Relationship Name
PricebookEntry
Refers To
PricebookEntry
ProductId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The sellable product for which the entitlement is granted.
This field is a relationship field.
559
Usage Management TransactionUsageEntitlement
Field Details
Relationship Name
Product
Refers To
Product2
EntitlementQuantity Type
double
Properties
Create, Filter, Sort, Update
Description
The entitlement quantity for the usage resource.
TransactionQuantity Type
double
Properties
Create, Filter, Sort, Update
Description
The transaction quantity in the order for the usage entitlement.
UsageAggregationPolicyId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage aggregation policy for this entitlement.
This field is a relationship field.
Relationship Name
UsageAggregationPolicy
Refers To
UsageResourceBillingPolicy
UsageGrantRefreshPolicyId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The usage grant refresh policy that's associated with the transaction usage entitlement.
This field is a relationship field.
Relationship Name
UsageGrantRefreshPolicy
560
Usage Management TransactionUsageEntitlement
Field Details
Refers To
UsageGrantRenewalPolicy
UsageGrantRolloverPolicyId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The usage grant rollover policy that's associated with the transaction usage entitlement.
This field is a relationship field.
Relationship Name
UsageGrantRolloverPolicy
Refers To
UsageGrantRolloverPolicy
UsageResourceId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The usage resource record that's associated with the transaction usage entitlement.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
ValidityPeriodTerm Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The duration for which the usage resource grant is valid, when used with the validity period
units.
ValidityPeriodUnit Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
561
Usage Management UnitOfMeasure
Field Details
Description
The length of a validity period for the usage resource grant, when used with the validity
period term.
Valid values are:
• Month
• None
• Year
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
TransactionUsageEntitlementHistory
History is available for tracked fields of the object.
TransactionUsageEntitlementOwnerSharingRule
Sharing rules are available for the object.
TransactionUsageEntitlementShare
Sharing is available for the object.
UnitOfMeasure
Defines the units and systems of units used to account for quantities of a usage resource. This object is available for usage management
in API version 62.0 and later.
Examples of units of measure include Liter (for volume), Kilogram (for weight), and single units (such as Can, sachet, and packet).
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
ConversionFactor Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The factor or rate that's used to convert this unit of measurement to the base unit.
562
Usage Management UnitOfMeasure
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Autogenerated identifier for the unit of measure record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the unit of measure record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
Sequence Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The sequence number assigned to the unit of measure.
563
Usage Management UnitOfMeasure
Field Details
Status Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The status of the unit of measure.
Valid values are:
• Active
• Draft
• Inactive
Type Type
picklist
Properties
Create, Filter, Group, Sort, Update
Description
The type of the unit of measure. For example, weight, distance, period.
UnitCode Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The code for the unit of measure.
UnitOfMeasureClassId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The unit of measure class associated with the unit of measure.
This field is a relationship field.
Relationship Name
UnitOfMeasureClass
Refers To
UnitOfMeasureClass
564
Usage Management UnitOfMeasureClass
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UnitOfMeasureChangeEvent
Change events are available for the object.
UnitOfMeasureShare
Sharing is available for the object.
UnitOfMeasureClass
Represents a standard unit of measure dimension. This object is available in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
BaseUnitOfMeasureId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The base unit of measure that's used to calculate and display quantities.
This field is a relationship field.
Relationship Name
BaseUnitOfMeasure
Refers To
UnitOfMeasure
Code Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique user-defined string for the unit of measure class.
DefaultUnitOfMeasureId Type
reference
565
Usage Management UnitOfMeasureClass
Field Details
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The default unit of measure that's used to calculate and display quantities. This measure can
be different from the base unit of measure and overridden by individual resources.
This field is a relationship field.
Relationship Name
DefaultUnitOfMeasure
Refers To
UnitOfMeasure
Description Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The description of the unit of measure class.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Autogenerated identifier for the unit of measure class record.
Status Type
picklist
566
Usage Management UsageBillingPeriodItem
Field Details
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the unit of measure class.
Valid values are:
• Active
• Draft
• Inactive
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UnitOfMeasureClassHistory
History is available for tracked fields of the object.
UsageBillingPeriodItem
Represents the calculated overages for the usage entitlement and the amount that's charged for these overages. This object is available
in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AccountId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The account that's associated with the billing period item.
This field is a relationship field.
567
Usage Management UsageBillingPeriodItem
Field Details
Relationship Name
Account
Refers To
Account
AssetId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The asset that's associated with the usage billing period item.
This field is a relationship field.
Relationship Name
Asset
Refers To
Asset
EndDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The end date and time of the billing period.
ErrorCode Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The error code when the billing request fails.
Valid value is:
• INTERNAL_ERROR
ErrorDescription Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The error description that corresponds to the error code.
568
Usage Management UsageBillingPeriodItem
Field Details
ExternalGrantBindingTarget Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The custom record that's associated with the entitlements that are granted with the sellable
product.
GrantBindingTargetId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The record that's associated with the usage entitlement account.
This field is a relationship field.
Relationship Name
GrantBindingTarget
Refers To
Asset
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
OverageAmount Type
currency
Properties
Create, Filter, Sort, Update
Description
The amount calculated for the overage.
569
Usage Management UsageBillingPeriodItem
Field Details
OverageAmountDerived Type
double
Properties
Filter, Nillable, Sort
Description
The numeric value specified in the OverageAmount field to process Data processing
Engine (DPE) jobs.
This field is a calculated field.
OverageQuantity Type
double
Properties
Create, Filter, Sort, Update
Description
The quantity of the usage entitlement that was overused for the specified billing period.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the usage billing period item.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
StartDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The start date and time of the billing period.
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the usage billing period item.
570
Usage Management UsageBillingPeriodItem
Field Details
Valid values are:
• Invoiced
• InvoicingFailed
• LiableSummaryComplete
• New
• ReadyForInvoicing
TotalUsedQuantity Type
double
Properties
Create, Filter, Sort, Update
Description
The total quantity of usage entitlement that was used for the billing period. This includes
granted and overused entitlements.
UoMId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit of measure for the overage quantity of usage entitlement.
This field is a relationship field.
Relationship Name
UoM
Refers To
UnitOfMeasure
UsageBillingPeriodItemNum Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Autogenerated identifier for the usage billing period item record.
UsageEntitlementAccountId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage entitlement account associated with the source usage entitlement bucket.
This field is a relationship field.
571
Usage Management UsageBillingPeriodItem
Field Details
Relationship Name
UsageEntitlementAccount
Refers To
UsageEntitlementAccount
UsageEntitlementBucketId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The usage entitlement bucket that's associated with the billing period item.
This field is a relationship field.
Relationship Name
UsageEntitlementBucket
Refers To
UsageEntitlementBucket
UsageResourceId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage resource associated with the usage entitlement bucket.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageBillingPeriodItemFeed
Feed tracking is available for the object.
UsageBillingPeriodItemHistory
History is available for tracked fields of the object.
UsageBillingPeriodItemShare
Sharing is available for the object.
572
Usage Management UsageEntitlementAccount
UsageEntitlementAccount
Represents the entitlement account details related to the asset that holds the wallet with the granted units. This object is available in
API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AccountId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The account that's associated with the usage entitlement.
This field is a relationship field.
Relationship Name
Account
Refers To
Account
BillDayOfMonth Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The day of the month that the bill is generated on and that ends the billing period.
BillingPeriodEndDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the billing period of the usage entitlements ends.
BillingPeriodStartDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
573
Usage Management UsageEntitlementAccount
Field Details
Description
The date and time when the billing period of the usage entitlements starts.
BillingPeriodTerm Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The frequency at which the bill is generated.
BillingPeriodUnit Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The unit to measure the billing frequency.
Valid value is:
• MONTH
EffectiveEndDateTime Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the usage entitlement account ends.
EffectiveStartDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the usage entitlement account starts.
ExternalGrantBindingTarget Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The custom target that's associated with the entitlements that are granted with the sellable
product.
574
Usage Management UsageEntitlementAccount
Field Details
GrantBindingTargetId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The target that's associated with the usage entitlement account.
This field is a relationship field.
Relationship Name
GrantBindingTarget
Refers To
Asset
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Autogenerated identifier for the usage entitlement account record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the usage entitlement account.
This field is a polymorphic relationship field.
575
Usage Management UsageEntitlementAccount
Field Details
Relationship Name
Owner
Refers To
Group, User
PricebookEntryId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The price book entry that's associated with the sellable product.
This field is a relationship field.
Relationship Name
PricebookEntry
Refers To
PricebookEntry
ProductId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The sellable product for which the entitlements are granted.
This field is a relationship field.
Relationship Name
Product
Refers To
Product2
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageEntitlementAccountFeed
Feed tracking is available for the object.
UsageEntitlementAccountHistory
History is available for tracked fields of the object.
UsageEntitlementAccountShare
Sharing is available for the object.
576
Usage Management UsageEntitlementBucket
UsageEntitlementBucket
Represents a usage entitlement that's granted with the sellable product. This object is available in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
BucketBalance Type
double
Properties
Create, Filter, Sort, Update
Description
The balance of the usage entitlement bucket after each transaction.
BucketBalanceUomId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit that's used to measure the usage entitlement bucket balance.
This field is a relationship field.
Relationship Name
BucketBalanceUom
Refers To
UnitOfMeasure
CompletedRollovers Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The number of rollovers that were completed for the entitlements.
ConsumedEntitlement Type
double
Properties
Create, Filter, Nillable, Sort, Update
577
Usage Management UsageEntitlementBucket
Field Details
Description
The entitlements that have been consumed from this bucket.
EffectiveEndDateTime Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the usage entitlement bucket period ends.
EffectiveStartDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the usage entitlement bucket becomes effective.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Autogenerated identifier for the usage entitlement bucket record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
578
Usage Management UsageEntitlementBucket
Field Details
Description
The ID of the owner of the usage entitlement bucket.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
ParentId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The parent record that's associated with the usage entitlement bucket.
This field is a polymorphic relationship field.
Relationship Name
Parent
Refers To
UsageEntitlementAccount, UsageEntitlementBucket
TotalAsOfBalance Type
double
Properties
Filter, Nillable, Sort
Description
The balance of the entitlements granted with the usage resource for a Usage entitlement
account.
TotalConsumedEntitlement Type
double
Properties
Filter, Nillable, Sort
Description
The entitlements that have been consumed from this bucket.
TransactionUsageEntitlementId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The transaction usage entitlement associated with this usage entitlement bucket.
579
Usage Management UsageEntitlementEntry
Field Details
This field is a relationship field.
Relationship Name
TransactionUsageEntitlement
Refers To
TransactionUsageEntitlement
UsageResourceId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The usage resource that's associated with the usage entitlement bucket.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageEntitlementBucketFeed
Feed tracking is available for the object.
UsageEntitlementBucketHistory
History is available for tracked fields of the object.
UsageEntitlementBucketShare
Sharing is available for the object.
UsageEntitlementEntry
Represents the usage entitlement details, such as the usage consumption, rollovers, and details of expired units for each tenure. This
object is available in API version 63.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
580
Usage Management UsageEntitlementEntry
Fields
Field Details
ClosingBalance Type
double
Properties
Create, Filter, Sort, Update
Description
The quantity of the entitlement after adjusting the transaction quantity for the current
entitlement validity period.
EffectiveEndDateTime Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date and time when the usage entitlement entry ends.
EffectiveStartDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the usage entitlement entry starts.
EntitlementBucketId Type
reference
Properties
Create, Filter, Group, Sort
Description
The usage entitlement bucket that's associated with the entitlement entry.
This field is a relationship field.
Relationship Name
EntitlementBucket
Relationship Type
Master-detail
Refers To
UsageEntitlementBucket (the master object)
LastReferencedDate Type
dateTime
581
Usage Management UsageEntitlementEntry
Field Details
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Autogenerated identifier for the usage entitlement entry record.
OpeningBalance Type
double
Properties
Create, Filter, Sort, Update
Description
The starting quantity of the entitlement for the current entitlement validity period.
ParentEntitlementBucketId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The parent usage entitlement bucket record that's associated with the entitlement entry.
This field is a relationship field.
Relationship Name
ParentEntitlementBucket
Refers To
UsageEntitlementBucket
TransactionDate Type
dateTime
582
Usage Management UsageEntitlementEntry
Field Details
Properties
Create, Filter, Sort, Update
Description
The date when the transaction usage entitlement entry was updated.
TransactionQuantity Type
double
Properties
Create, Filter, Sort, Update
Description
The quantity of the entitlement used during the current entitlement validity period.
TransactionReason Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The reason for the usage entitlement entry.
Valid values are:
• Amend
• Cancel
• Consumption
• Original
• Refresh
• Renew
• Rollover
TransactionType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of transaction.
Valid values are:
• Credit
• Debit
• Expired
TransactionUsageEntitlementId Type
reference
583
Usage Management UsageEntitlementEntry
Field Details
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The transaction usage entitlement that's associated with this usage entitlement entry.
This field is a relationship field.
Relationship Name
TransactionUsageEntitlement
Refers To
TransactionUsageEntitlement
TransactionalBucketId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The usage entitlement bucket that's used to debit the consumption of entitlements.
This field is a relationship field.
Relationship Name
TransactionalBucket
Refers To
UsageEntitlementBucket
UomId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit of measure that's associated with the usage entitlement.
This field is a relationship field.
Relationship Name
Uom
Refers To
UnitOfMeasure
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageEntitlementEntryFeed
Feed tracking is available for the object.
584
Usage Management UsageGrantRenewalPolicy
UsageEntitlementEntryHistory
History is available for tracked fields of the object.
UsageEntitlementEntryOwnerSharingRule
Sharing rules are available for the object.
UsageEntitlementEntryShare
Sharing is available for the object.
UsageGrantRenewalPolicy
Represents a policy about the rollover of a usage grant. This object is available in API version 62.0 and later.
A usage grant renewal policy is used if you want to never renew a usage grant or renew on a specific frequency.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Code Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
A unique user-defined string for the usage grant renewal policy.
IsRenewalAllowed Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the policy renewal is allowed (true) or not (false). If true, then the
policy can be renewed.
The default value is false.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
585
Usage Management UsageGrantRenewalPolicy
Field Details
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the renewal policy record.
RenewalFrequency Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The frequency of the policy renewals, when used with the RenewalFrequencyUnit
field.
RenewalFrequencyUnit Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The renewal duration for a policy.
Valid values are:
• Month
• Quarter
• Year
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the renewal policy.
Valid values are:
• Active
586
Usage Management UsageGrantRolloverPolicy
Field Details
• Draft
• Inactive
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageGrantRenewalPolicyFeed
Feed tracking is available for the object.
UsageGrantRenewalPolicyHistory
History is available for tracked fields of the object.
UsageGrantRolloverPolicy
Represents a policy about the rollover of a usage grant.This object is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Code Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
A unique user-defined string for the usage grant rollover policy.
IsRolloverAllowed Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the policy allows the rollover of the usage grant.
The default value is false.
LastReferencedDate Type
dateTime
587
Usage Management UsageGrantRolloverPolicy
Field Details
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
MaximumRolloverCount Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum number of times that the usage grant can roll over.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the rollover policy record.
ShouldAllowRolloverExpiry Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the rollover for the associated usage grant is allowed to expire.
The default value is false.
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the status of the rollover policy.
Possible values are:
588
Usage Management UsagePrdGrantBindingPolicy
Field Details
• Active
• Draft
• Inactive
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageGrantRolloverPolicyFeed
Feed tracking is available for the object.
UsageGrantRolloverPolicyHistory
History is available for tracked fields of the object.
UsagePrdGrantBindingPolicy
Represents the association of a usage resource's grants with a sellable product. This object is available in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
GrantBindingTargetType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The type of binding instance to which the grant is added.
Valid values are:
• Custom
• Product
GrantBindingType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
589
Usage Management UsagePrdGrantBindingPolicy
Field Details
Description
The type of binding that indicates where the grant is added.
Valid values are:
• Self
• Target
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Autogenerated identifier for the usage product grant binding policy.
Product2Id Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The sellable product associated with the usage product grant binding policy.
This field is a relationship field.
Relationship Name
Product2
Refers To
Product2
590
Usage Management UsageRatableSummary
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsagePrdGrantBindingPolicyFeed
Feed tracking is available for the object.
UsagePrdGrantBindingPolicyHistory
History is available for tracked fields of the object.
UsageRatableSummary
Represents the aggregation of the usage summaries that are used to calculate the rate at which the overages are charged. This object
is available in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
Fields
Field Details
AccountId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The account that's associated with the ratable summary.
This field is a relationship field.
Relationship Name
Account
Refers To
Account
AssetId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The asset that's associated with the ratable summary.
This field is a relationship field.
Relationship Name
Asset
591
Usage Management UsageRatableSummary
Field Details
Refers To
Asset
EndDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The end date and time of the ratable period.
ErrorCode Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The code that represents the error encountered when the ratable summary is rated.
Valid value is:
• INTERNAL_ERROR
ErrorDescription Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The error description that corresponds to the error code.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
592
Usage Management UsageRatableSummary
Field Details
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Autogenerated identifier for the usage ratable summary record.
NetUnitRate Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The rate that's used to calculate the amount for each unit of usage entitlement overage.
NetUnitRateUomId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit of measure for the net unit rate applied to the overage.
This field is a relationship field.
Relationship Name
NetUnitRateUom
Refers To
UnitOfMeasure
OverageQuantity Type
double
Properties
Create, Filter, Sort, Update
Description
The quantity of the usage entitlements that were overused.
OverageQuantityUomId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit of measure that's used for overage quantity.
This field is a relationship field.
593
Usage Management UsageRatableSummary
Field Details
Relationship Name
OverageQuantityUom
Refers To
UnitOfMeasure
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the usage ratable summary.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
RatingDecisionDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time when the decision about rating consumption is done.
RatingExecutionIdentifier Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the rating service execution that's used to retrieve waterfall logs.
RatingRequestId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID that invokes the rating service that's used to rate the usage ratable summary.
This field is a relationship field.
Relationship Name
RatingRequest
594
Usage Management UsageRatableSummary
Field Details
Refers To
RatingRequest
StartDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The start date and time of the ratable period.
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the ratable summary.
Valid values are:
• New
• RatingComplete
• RatingFailed
• SummaryCreated
TierQuantity Type
double
Properties
Create, Filter, Sort, Update
Description
The quantity that impacts the net unit rate of a usage entitlement.
TierQuantityUomId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit of measure for the tier quantity.
This field is a relationship field.
Relationship Name
TierQuantityUom
Refers To
UnitOfMeasure
595
Usage Management UsageRatableSummary
Field Details
TotalAmount Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The total amount after calculating the overage based on the net unit rate.
UsageEntitlementAccountId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage entitlement account that's associated with the source of the ratable summary.
This field is a relationship field.
Relationship Name
UsageEntitlementAccount
Refers To
UsageEntitlementAccount
UsageEntitlementBucketId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The usage entitlement bucket that's associated with the source of the ratable summary.
This field is a relationship field.
Relationship Name
UsageEntitlementBucket
Refers To
UsageEntitlementBucket
UsageResourceId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage resource associated with the usage entitlement bucket.
This field is a relationship field.
Relationship Name
UsageResource
596
Usage Management UsageResource
Field Details
Refers To
UsageResource
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageRatableSummaryHistory
History is available for tracked fields of the object.
UsageRatableSummaryOwnerSharingRule
Sharing rules are available for the object.
UsageRatableSummaryShare
Sharing is available for the object.
UsageResource
Represents an entitlement granted to a user or party by a provider, such as data storage, computing power, bandwidth, or any other
product or service. Additionally, this object is used to represent resources consumed over time. This object is available in API version
62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Category Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The category of the usage resource that's used to organize and understand the product
grant maps.
Valid value is:
• Usage
Code Type
string
597
Usage Management UsageResource
Field Details
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The unique user-defined string for the usage resource.
DefaultUnitOfMeasureId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The default unit of measure for the given resource. The default value can be overridden with
an alternate default unit of measure for a given resource.
This field is a relationship field.
Relationship Name
DefaultUnitOfMeasure
Refers To
UnitOfMeasure
Description Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The description of the usage resource.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
598
Usage Management UsageResource
Field Details
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the usage resource record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the usage resource record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the usage resource.
Valid values are:
• Active
• Draft
• Inactive
UnitOfMeasureClassId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The unit of measure class that's used with the resource to define the units in which this
resource is measured.
This field is a relationship field.
Relationship Name
UnitOfMeasureClass
Refers To
UnitOfMeasureClass
599
Usage Management UsageResource
Field Details
UsageDefinitionProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The product associated with the usage resource to retrieve tax policy, calculate rating during
overages, and other invoicing actions.
This field is a relationship field.
Relationship Name
UsageDefinitionProduct
Refers To
Product2
UsageResourceBillingPolicyId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The usage resource billing policy that defines how the usage resource can be aggregated
before it's sent for rating.
This field is a relationship field.
Relationship Name
UsageResourceBillingPolicy
Refers To
UsageResourceBillingPolicy
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageResourceFeed
Feed tracking is available for the object.
UsageResourceHistory
History is available for tracked fields of the object.
UsageResourceOwnerSharingRule
Sharing rules are available for the object.
UsageResourceShare
Sharing is available for the object.
600
Usage Management UsageResourceBillingPolicy
UsageResourceBillingPolicy
Represents information about how the usage is accumulated before rating a usage resource.This object is available in API version 62.0
and later.
A usage resource billing policy object is used to configure the properties of usage resources related to how aggregation is performed
on the usage records before rating. Usage resource billing policies are defined at the usage resource level and can be reused across
multiple usage resources.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Code Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
A unique user-defined string for the usage resource billing policy.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the usage resource billing policy record.
601
Usage Management UsageResourceBillingPolicy
Field Details
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the policy.
Valid values are:
• Active
• Draft
• Inactive
UsageAccumulationMethod Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The method used to accumulate the usage.
Valid values are:
• Peak
• Sum
UsageAccumulationPeriod Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The duration for which the usage is accumulated.
Valid values are:
• Daily
• Monthly
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageResourceBillingPolicyFeed
Feed tracking is available for the object.
UsageResourceBillingPolicyHistory
History is available for tracked fields of the object.
602
Usage Management UsageSummary
UsageSummary
Represents the aggregation of the entries in the transaction journal for a usage entitlement for a specified period. This object is available
in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AccountId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The account that's associated with the sellable product that was purchased.
This field is a relationship field.
Relationship Name
Account
Refers To
Account
AssetId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The asset that's associated with the entitlement that was summarized.
This field is a relationship field.
Relationship Name
Asset
Refers To
Asset
ConsumptionUnits Type
double
Properties
Create, Filter, Sort, Update
Description
The quantity that was used by the usage entitlement bucket.
603
Usage Management UsageSummary
Field Details
DebitedUnits Type
double
Properties
Create, Filter, Sort, Update
Description
The units that are debited from the associated usage entitlement bucket.
EndDateTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The end date and time of the usage summary.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when this record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
LiableSummaryId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The usage billing period item that's associated with this usage summary.
This field is a relationship field.
Relationship Name
LiableSummary
Refers To
UsageBillingPeriodItem
604
Usage Management UsageSummary
Field Details
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Autogenerated identifier for the usage summary record.
OverageUnits Type
double
Properties
Create, Filter, Sort, Update
Description
The quantity that was overused by the usage entitlement bucket.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the owner of the usage summary.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
RatableSummaryId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ratable summary that's associated with this usage summary.
This field is a relationship field.
Relationship Name
RatableSummary
Refers To
UsageRatableSummary
StartDateTime Type
dateTime
605
Usage Management UsageSummary
Field Details
Properties
Create, Filter, Sort, Update
Description
The start date and time of the usage summary.
Status Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the usage summary.
Valid values are:
• DrawdownComplete
• LiableSummaryComplete
• New
• RatableSummaryComplete
• Rated
• UsageSummaryComplete
• UsageSummaryInProgress
UomId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unit of measure for the usage resource. This value overrides the default unit of measure
defined in the associated unit of measure class.
This field is a relationship field.
Relationship Name
Uom
Refers To
UnitOfMeasure
UsageEntitlementAccountId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage entitlement account that's associated with the usage summary.
This field is a relationship field.
606
Usage Management UsageSummary
Field Details
Relationship Name
UsageEntitlementAccount
Refers To
UsageEntitlementAccount
UsageEntitlementBucketId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The usage entitlement bucket that's associated with the usage summary.
This field is a relationship field.
Relationship Name
UsageEntitlementBucket
Refers To
UsageEntitlementBucket
UsageResourceId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage resource that's associated with the source of the usage entitlement bucket.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
Associated Objects
This object has these associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
UsageSummaryHistory
History is available for tracked fields of the object.
UsageSummaryOwnerSharingRule
Sharing rules are available for the object.
UsageSummaryShare
Sharing is available for the object.
607
Usage Management Usage Management Standard Invocable Actions
SEE ALSO:
Actions Developer Guide: Overview
REST API Developer Guide: Invocable Actions Standard
Salesforce Help: Usage Management
608
Usage Management Process Consumption Overages Action
Inputs
Input Details
usageEntitlementAccountId Type
string
Description
Required.
ID of the usage entitlement account record that’s used to create summaries.
Outputs
None.
Example
POST
This example shows a sample request for the Invoke Summary Creation action.
{
"inputs": [
{
"usageEntitlementAccountId": "3ttDU00000000iZYAQ"
}
]
}
This example shows a sample response for the Invoke Summary Creation action.
{
"actionName": "invokeSummaryCreationService",
"errors": null,
"isSuccess": true
}
SEE ALSO:
Salesforce Help: Permission Set Licenses, Personas, and User Permissions for Usage Management
609
Usage Management Process Consumption Overages Action
Inputs
Input Details
usageRatableSummaryId Type
string
Description
Required.
ID of the usage ratable summary record that contains the consumption details, and is used to
calculate consumption overages and create usage entitlement entry records.
Outputs
None.
Example
POST
This example shows a sample request for the Process Consumption Overages action.
{
"inputs": [
{
"usageRatableSummaryId": "3ttDU00000000iZYAQ"
}
]
}
610
Usage Management Refresh Usage Entitlement Bucket Action
This example shows a sample response for the Process Consumption Overages action.
{
"actionName": "processConsumptionOverages",
"errors": null,
"isSuccess": true
}
SEE ALSO:
Salesforce Help: Permission Set Licenses, Personas, and User Permissions for Usage Management
Inputs
Input Details
transactionUsageEntitlementId Type
string
Description
Required.
ID of the transaction usage entitlement record that's associated with the usage entitlement
buckets that you need to refresh.
611
Usage Management Usage Management Business APIs
Outputs
None.
Example
POST
This example shows a sample request for the Refresh Usage Entitlement Bucket action.
{
"inputs": [
{
"transactionUsageEntitlementId": "3ttDU00000000iZYAQ"
}
]
}
This example shows a sample response for the Refresh Usage Entitlement Bucket action.
{
"actionName": "refreshUsageEntitlementBucket",
"errors": null,
"isSuccess": true
}
SEE ALSO:
Salesforce Help: Permission Set Licenses, Personas, and User Permissions for Usage Management
Resource Description
/asset-management/assets/assetId/usage-details (GET) Get details of a usage-based
product associated with an
asset. This covers details of
grants, resources, and
configured rates for the product,
including negotiated rates in
case of a rate override.
612
Usage Management Resources
Resource Description
/commerce/quotes/line-items/quoteLineItemId/usage-details (GET) Get details of a usage-based
product associated with a quote
line item.
Resources
Learn more about the available Usage Management API resources.
Response Bodies
Learn more about the available response bodies of Usage Management APIs.
SEE ALSO:
Connect REST API Developer Guide: Introduction
Resources
Learn more about the available Usage Management API resources.
/asset-management/assets/assetId/usage-details
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/asset-management/assets/02iRM0000000tCdYAI/usage-details
Available version
63.0
613
Usage Management Resources
HTTP methods
GET
Path parameter for GET
optionalFields String[] Custom fields that you can use to query Optional 63.0
these objects.
• AssetRateCardEntry
• AssetRateAdjustment
/commerce/sales-orders/line-items/orderItemId/usage-details
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/commerce/sales-orders/line-items/802SG000003vZ15YAE/usage-details
https://yourInstance.salesforce.com/services/data
/v63.0/commerce/sales-orders/line-items/802SG000003vZ15YAE/usage-details?optionalFields=OrderItemRateCardEntry.MyCustomDate__c,OrderItemRateCardEntry.MyCustomNumber__c,OrderItemRateAdjustment.myCustomString__c
Available version
63.0
HTTP methods
GET
614
Usage Management Resources
optionalFields String[] Custom fields that you can use to query Optional 63.0
these objects.
• OrderItemRateCardEntry
• OrderItemRateAdjustment
/commerce/quotes/line-items/quoteLineItemId/usage-details
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/commerce/quotes/line-items/0QLXXXXXXXXXXXABC/usage-details
Available version
62.0
HTTP methods
GET
615
Usage Management Response Bodies
optionalFields String[] Custom fields that you can use to query Optional 62.0
these objects.
• QuoteLineRateCardEntry
• QuoteLineRateAdjustment
Response Bodies
Learn more about the available response bodies of Usage Management APIs.
Fields Response
Output representation of the details of the optional fields on the usage-based selling-related objects.
Rate Adjustments
Output representation of the details of a rate adjustment.
Rate Card Entry
Output representation of the details of a rate card entry.
Usage Details
Output representation of the usage details of a quote, an order, or an asset.
Usage Details Error Response
Output representation of the details of an error related to usage details.
Fields Response
Output representation of the details of the optional fields on the usage-based selling-related objects.
JSON Example
"fields": {
"MyCustomDate__c": {
"displayValue": "2024-09-24",
"value": "2024-09-24T17:46:30.662Z"
},
"MyCustomNumber__c": {
"displayValue": "20.0",
"value": 20
}
}
616
Usage Management Response Bodies
value Object Value of a field in its original data form. Big, 63.0 63.0
Rate Adjustments
Output representation of the details of a rate adjustment.
JSON Example
"rateAdjustments": [
{
"fields": {},
"lowerBound": 0.0,
"name": null,
"negotiatedRateAdjustmentId": null,
"rateAdjustmentId": "1ENxx0000004C9BGAU",
"rateAdjustmentType": "Percentage",
"rateAdjustmentValue": 10.0,
"tierUnitOfMeasure": "USD",
"upperBound": 50.0
}
]
If the negotiable property value that’s associated with a rate card entry is blank, then the data is derived from Product Catalog
Management. If it isn’t blank, then the data is derived from Rate Management.
lowerBound Double Minimum quantity for the adjustment to be Small, 63.0 63.0
applicable.
tierUnitOf String Unit of measure representing the tier. Small, 63.0 63.0
Measure
617
Usage Management Response Bodies
If the negotiable property value is blank, then the data is derived from Product Catalog Management. If it isn’t blank, then the data
is derived from Rate Management.
618
Usage Management Response Bodies
fields Map<String, Fields List of optional fields and their values that's Big, 63.0 63.0
Response> associated with the rate card entry object.
negotiable String Type of the base rate and the tier rate, if Big, 63.0 63.0
applicable. Valid values are:
• Negotiable
• Non-Negotiable
negotiated String ID of the negotiated rate card entry and the Big, 63.0 63.0
RateCard tier rate card entry, if applicable.
EntryId
quantity Double Amount granted for the resource. Big, 63.0 63.0
rate Rate Adjustments[] List of tiers associated with the rate card Big, 63.0 63.0
Adjustments entry, if applicable.
rateCard String ID of the base rate card entry and the tier Big, 63.0 63.0
EntryId rate card entry, if applicable.
unitOfMeasure String Unit of measure of the grant. For example, Big, 63.0 63.0
Unit.
Usage Details
Output representation of the usage details of a quote, an order, or an asset.
619
Usage Management Response Bodies
JSON example
This sample response shows resources that include grants, if applicable, and resources without rates when you retrieve the usage
details of an order item.
{
"records": [
{
"bindingInstanceTargetType": null,
"bindingInstanceType": null,
"chargeForOverages": "Yes",
"fields": {},
"name": "API Calls",
"negotiable": ",",
"negotiatedRate": null,
"negotiatedRateCardEntryId": ",",
"quantity": 1000.0,
"rate": null,
"rateAdjustments": [],
"rateCardEntryId": ",",
"unitOfMeasure": null
}
]
}
This example shows a sample response without negotiated rates when you retrieve the usage details of an order item.
{
"records": [
{
"bindingInstanceTargetType": "Product",
"bindingInstanceType": "Target",
"chargeForOverages": "Yes",
"fields": {}
"name": "Paddle Board",
"negotiable": "Negotiable,Non-Negotiable",
"negotiatedRate": null,
"negotiatedRateCardEntryId": ",",
"quantity": 15.0,
"rate": 5.0,
"rateAdjustments": [
{
"fields": {},
"lowerBound": 0.0,
"name": null,
"negotiatedRateAdjustmentId": null,
"rateAdjustmentId": "1ENxx0000004C9BGAU",
"rateAdjustmentType": "Percentage",
"rateAdjustmentValue": 10.0,
"tierUnitOfMeasure": "USD",
"upperBound": 50.0
}
],
"rateCardEntryId": "1CJxx0000004C9IGAU,1CJxx0000004C9JGAU",
"unitOfMeasure": "USD"
}
620
Usage Management Response Bodies
]
}
This sample response shows negotiated rates when you retrieve the usage details of an order item. The negotiated rates are derived
from these objects for assets, order items, or quote line items.
• AssetRateCardEntry
• AssetRateAdjustment
• OrderItemRateCardEntry
• OrderItemRateAdjustment
• QuoteLineRateCardEntry
• QuoteLineRateAdjustment
{
"records": [
{
"bindingInstanceTargetType": "Product",
"bindingInstanceType": "Target",
"chargeForOverages": "Yes",
"fields": {},
"name": "Paddle Board",
"negotiable": "Negotiable,Non-Negotiable",
"negotiatedRate": 20.0,
"negotiatedRateCardEntryId": "1ELxx0000004C9JGAU,1ELxx0000004C9KGAU",
"quantity": 15.0,
"rate": 5.0,
"rateAdjustments": [
{
"fields": {},
"lowerBound": 0.0,
"name": "Tier 1",
"negotiatedRateAdjustmentId": "1ENxx0000004C9BGAU",
"rateAdjustmentId": "1ENxx0000004C9BGAU",
"rateAdjustmentType": "Percentage",
"rateAdjustmentValue": 10.0,
"tierUnitOfMeasure": "USD",
"upperBound": 50.0
}
],
"rateCardEntryId": "1CJxx0000004C9IGAU,1CJxx0000004C9JGAU",
"unitOfMeasure": "USD"
}
]
}
This sample response shows details of the custom fields when you retrieve the usage details of an order item.
{
"records": [
{
"fields": {
"MyCustomDate__c": {
"displayValue": "2024-09-24",
"value": "2024-09-24T17:46:30.662Z"
621
Usage Management Response Bodies
},
"MyCustomNumber__c": {
"displayValue": "20.0",
"value": 20
}
},
"bindingInstanceTargetType": "Product",
"bindingInstanceType": "Target",
"chargeForOverages": "Yes",
"name": "Massage Therapy",
"negotiable": "Negotiable,Non-Negotiable",
"negotiatedRate": 20.0,
"negotiatedRateCardEntryId": "1ELxx0000004C9JGAU,1ELxx0000004C9KGAU",
"quantity": 15.0,
"rate": 5.0,
"rateAdjustments": [
{
"fields": {
"MyCustomString__c": {
"displayValue": "My Custom String",
"value": "MyCustomString"
}
},
"lowerBound": 0.0,
"name": "Tier 1",
"negotiatedRateAdjustmentId": "1ENxx0000004C9BGAU",
"rateAdjustmentId": "1ENxx0000004C9BGAU",
"rateAdjustmentType": "Percentage",
"rateAdjustmentValue": 10.0,
"tierUnitOfMeasure": "USD",
"upperBound": 50.0
}
],
"rateCardEntryId": "1CJxx0000004C9IGAU,1CJxx0000004C9JGAU",
"unitOfMeasure": "USD"
}
]
}
records Rate Card Entry[] List of rate card entry records. Small, 63.0 63.0
622
Usage Management Usage Management Metadata API Types
JSON Example
{
"errors": [
{
"referenceId": "MyOrderItem",
"errorCode": "INVALID_API_INPUT",
"message": "Something has failed"
}
]
}
message String Message associated with the error. Small, 63.0 63.0
referenceId String Unique ID that’s associated with the specific Small, 63.0 63.0
error for tracking and reference purposes.
SEE ALSO:
Metadata API Developer Guide: Understanding Metadata API
FlowActionCall
Usage Management exposes additional actionType values for the FlowActionCall Metadata type.
623
Usage Management Flow for Usage Management
624
CHAPTER 6 Product Configurator
In this chapter ... Customize the components and attributes of a product to align
EDITIONS
with specific business requirements.
• Product Configurator
Available in: Lightning
Standard Objects
Experience
• Product Configurator
Business APIs Available in: Enterprise,
Unlimited, and Developer
Editions of Revenue Cloud
where Product Configurator
is enabled
625
Product Configurator Product Configurator Standard Objects
ExpressionSetConstraintObj
Represents the association between a Product object and the constraint model tags defined in a given constraint model. This object
is available in API version 63.0 and later.
Product Configuration Flow
Specifies the many-to-many relationship between Product Classification, Product, and Flow Definition objects. The flow definition
is used to configure standalone and bundled products of a specific product classification along with the product attributes, quantities,
and product selling models. This object is available in API version 60.0 and later.
Product Configuration Flow Assignment
A junction entity that represents the many-to-many relationship between Product Configuration Flow, Product, and Product
Classification. This object is available in API version 60.0 and later.
Product Configuration Rule
Represents the validation, inclusion, and exclusion rules for products in the context of the selling process. The selling process can
be quoting, configuration, or ordering. This object is available in API version 61.0 and later.
SEE ALSO:
Object Reference for the Salesforce Platform: Overview of Salesforce Objects and Fields
SOAP API Developer Guide: Introduction to SOAP API
ExpressionSetConstraintObj
Represents the association between a Product object and the constraint model tags defined in a given constraint model. This object is
available in API version 63.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
Fields
Field Details
ConstraintModelTag Type
string
Properties
Create, Filter, Group, Sort, Update
626
Product Configurator ExpressionSetConstraintObj
Field Details
Description
The product tag that is defined in the constraint model, for example, Laptop.
ConstraintModelTagType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of the product tag that is defined in the constraint model.
Possible values are:
• Port
• Type
The default value is Type.
ExpressionSetId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The expression set associated with the expression set constraint object.
This field is a relationship field.
Relationship Name
ExpressionSet
Refers To
ExpressionSet
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last accessed this record, a record related to this record,
or a list view.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last viewed this record or list view. If this value is null,
the user accessed this record or list view (LastReferencedDate) but didn’t view it.
627
Product Configurator Product Configuration Flow
Field Details
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the expression set constraint.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
For internal use only.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
ReferenceObjectId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The object associated with the expression set constraint object.
This field is a polymorphic relationship field.
Relationship Name
ReferenceObject
Refers To
Product2, ProductClassification, ProductRelatedComponent
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
628
Product Configurator Product Configuration Flow Assignment
Fields
Field Details
FlowIdentifier Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Stores the flow API name.
IsDefault Type
Boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates the default configurator flow.
The default value is false.
Status Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Indicates the status of the product configuration flow. Possible values include Draft, Active,
and Inactive
Possible values are:
• Active
• Draft
• Inactive
The default value is Draft.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
629
Product Configurator Product Configuration Flow Assignment
Fields
Field Details
ProductClassificationId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The product classification associated with the Product Configuration Flow.
This field is a relationship field.
Relationship Name
ProductClassification
Relationship Type
Lookup
Refers To
ProductClassification
ProductConfigurationFlowId Type
reference
Properties
Create, Filter, Group, Sort
Description
The Product Configuration Flow associated with the Product Classification or Product.
This field is a relationship field.
Relationship Name
ProductConfigurationFlow
Relationship Type
Lookup
Refers To
ProductConfigurationFlow
ProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The product associated with the Product Configuration Flow.
This field is a relationship field.
Relationship Name
Product
630
Product Configurator Product Configuration Rule
Field Details
Relationship Type
Lookup
Refers To
Product2
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
ApiName Type
string
Properties
Filter, Group, Nillable, Sort
Description
ConfigurationRuleDefinition Type
textarea
Properties
Create, Nillable, Update
Description
The configuration rule criteria and actions.
Description Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The description of the configuration rule.
EffectiveFromDate Type
dateTime
631
Product Configurator Product Configuration Rule
Field Details
Properties
Filter, Nillable, Sort
Description
The date and time from which the configuration rules comes into effect.
EffectiveToDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date and time to which the configuration rules ceases to be in effect.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the configuration rule record was last referenced.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date the configuration rule record was last viewed.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the configuration rule.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The ID of the configuraion rule owner.
This field is a polymorphic relationship field.
632
Product Configurator Product Configuration Rule
Field Details
Relationship Name
Owner
Relationship Type
Lookup
Refers To
Group, User
ProcessScope Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The scope of the configuration rule.
Possible values are:
• Bundle
• Product
The default value is Product.
RuleSubType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The segregation of products into subsets such that the configuration rules only apply to the
products that fall under the ambit of the selected rule subtype.
Possible values are:
• BundleProduct—Bundle Product
• BundleProductClassification—Bundle Product Classification
• Product
• ProductClassification—Product Classification
The default value is Product.
RuleType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Indicates the industry vertical or the feature of the industry vertical that’s using the
configuration rule.
Possible values are:
633
Product Configurator Product Configurator Business APIs
Field Details
• Configurator
• Promotions
The default value is Configurator.
Sequence Type
int
Properties
Filter, Group, Nillable, Sort
Description
Indicates the order for executing the configuration rule. Rules with lower numbers run first
when multiple rules are triggered at once.
Status Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The lifecycle status of the configuration rule.
Possible values are:
• Active
• Draft
• Inactive
The default value is Draft.
Resource Description
/connect/cpq/configurator/actions/configure (POST) Retrieve and update a product’s
configuration from a
configurator. Execute
configuration rules and notify
users of any violations for
changes to product bundle,
attributes, or product quantity
within a bundle. Additionally,
634
Product Configurator Product Configurator Business APIs
Resource Description
get pricing details for the
configured bundle.
Resources
Learn more about the available Product Configurator API resources.
635
Product Configurator Resources
Request Bodies
Learn more about the available Product Configurator API request bodies.
Response Bodies
Learn more about the available Product Configurator API response bodies.
SEE ALSO:
Salesforce Help: Product Configurator Permissions
Resources
Learn more about the available Product Configurator API resources.
Configuration (POST)
Retrieve and update a product’s configuration from a configurator. Execute configuration rules and notify users of any violations for
changes to product bundle, attributes, or product quantity within a bundle. Additionally, get pricing details for the configured bundle.
Saved Configuration (GET, POST)
Save and reuse a record's configurations, and get a list of the saved configurations for a record.
Saved Configuration (DELETE, PUT)
Update or delete a record's saved configuration by using the configuration ID.
Configuration Get Instance (POST)
Fetch the JSON representation of a product configuration. Use the response to display the details of the product configuration
instance on the Salesforce user interface, or save the product configuration instance to an external system.
Configuration Load Instance (POST)
Create a session for the product configuration instance using the transaction ID. Get the session ID that includes the results of actions,
such as configuration rules, qualification rules, and pricing management.
Configuration Save Instance (POST)
Save a configuration instance after a successful product configuration.
Configuration Set Instance (POST)
Set a product configuration instance. This API is used in scenarios where the configuration instance is available in a different database
than Salesforce and the product catalog management data is in Salesforce.
Configurator Add Nodes (POST)
Add a node to the context through the runtime system without using the Salesforce user interface.
Configurator Delete Nodes (POST)
Delete nodes from a product configuration.
Configurator Update Nodes (POST)
Update nodes in a product configuration.
Product Set Quantity (POST)
Set the quantity of a product through the runtime system.
636
Product Configurator Resources
Configuration (POST)
Retrieve and update a product’s configuration from a configurator. Execute configuration rules and notify users of any violations for
changes to product bundle, attributes, or product quantity within a bundle. Additionally, get pricing details for the configured bundle.
Resource
/connect/cpq/configurator/actions/configure
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/configure
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
This example shows a sample to initiate a context based on a transaction ID.
{
"transactionLineId": "0QLDE000000IBXw4AO",
"transactionId": "0Q0xx0000000001GAA",
"correlationId": "c95246d4-102c-4ecd-a263-f74ac525d1e5",
"configuratorOptions": {
"executePricing": true,
"returnProductCatalogData": true
},
"qualificationContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
This example shows a sample to add, update, or delete a node in an existing context.
{
"transactionLineId": "0QLDE000000IBXw4AO",
"transactionId": "0Q0DE000000ISHJs81",
"correlationId": "c95246d4-102c-4ecd-a263-f74ac525d1e5",
"configuratorOptions": {
"executePricing": true,
"returnProductCatalogData": true,
"qualifyAllProductsInTransaction": true,
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
},
"qualificationContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"transactionContextId": "008d27d7-e004-4906-a949-ee7d7c323c77",
637
Product Configurator Resources
"addedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "sti2_id"],
"addedObject": {
"id": "ref_sti2_id",
"SalesTransactionSource": "sti2_id",
"PricebookEntry": "01uxx0000000001AAA",
"ProductSellingModel": "0jPxx0000000001AAA",
"businessObjectType": "QuoteLineItem",
"Quantity": 10,
"UnitPrice": 2.0,
"Product": "01txx0000000001AAA"
}
},
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO","ref_stir1_id"],
"addedObject": {
"id": "ref_stir1_id",
"businessObjectType": "QuoteLineItemRelationship",
"MainItem": "0QLDE000000IBXw4AO",
"AssociatedItem": "ref_sti2_id",
"ProductRelatedComponent": "0dSxx0000000001AAA",
"ProductRelationshipType": "0yoxx0000000001AAA",
"AssociatedItemPricing": "IncludedInBundlePrice"
}
}
],
"updatedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"],
"updatedAttributes": {
"Quantity": 5
}
}
],
"deletedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"]
}
]
}
Properties
638
Product Configurator Resources
qualification User Context Details such as account ID, contact ID, Optional 60.0
Context Input[] and context ID that are used for
executing qualification rules.
transaction String ID of the top-level line item that’s being Optional 60.0
LineId configured.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/saved-configuration
Available version
63.0
HTTP methods
GET, POST
Request parameters for GET
639
Product Configurator Resources
I
n
c
h
&
q
u
o
t
;
,
&
q
u
o
t;
P
a
r
e
n
t
R
f
e
r
n
c&
q
u
o
t
;
:
&
q
u
o
t
;
0
Q
Lx
0
4
C
9
V
G
A
U
&q
u
o
t
;
,
&
q
u
o
t
;
A
ri
b
u
t
e
P
i
c
k
l
s
t
V
a
lu
e
&
q
o
t
;
:
&
q
u
o
t
;
0v
6
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
I
s
P
r
i
c
e
I
m
p
a
c
ti
n
g
&
q
u
o
t
;
:
f
a
l
s
e
,&
q
u
o
t
;
b
s
i
n
e
O
bj
e
c
t
T
y
p
e
&
q
u
o
t
;
:
&q
u
o
t
;
Q
e
L
i
n
I
te
m
A
r
i
b
u
t
e
&
q
o
t;
,
&
q
u
o
t
;
A
r
i
b
u
te
N
a
m
&
q
u
o
t
;
:
&
q
u
ot
;
D
i
s
p
l
a
y
_
S
i
z
e
&
qu
o
t
;
,
&
q
u
o
t
;
i
d
&
q
uo
t
;
:
&
q
u
o
t
;
0
z
u
x00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
A
r
i
b
u
t
e
D
f
in
t
o
C
d
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
S
a
l
es
T
r
a
n
c
t
i
o
n
I
e
mA
t
r
P
a
e
n
t
&
q
u
o
;:
&
q
u
o
t
;
0
Q
L
x
04
C
9
V
G
A
U
&
q
u
o
t
;
}]
,
&
q
u
o
t
;
P
r
i
c
e
b
ok
E
n
t
r
y
&
q
u
o
t
;
:
&
q
uo
t
;
0
1
u
x
0
8
yX
0
A
I
&
q
u
o
t
;
,
&
q
u
ot
;
D
i
s
c
o
u
n
t
A
m
o
u
n
t&
q
o
;
:
n
u
l
,
&
q
u
ot
;
P
r
i
c
n
g
T
e
r
m
C
o
un
t
&
q
o
;
:
0
,
&
q
u
o
t;
S
b
s
c
r
i
p
t
o
n
T
e
rm
U
n
i
t
&
q
u
o
;
:
n
u
l,
&
q
u
o
t
;
N
e
U
n
i
t
P
rc
e
&
q
u
o
t
;
:
1
4
.
9,
&
q
u
o
t
;
I
e
m
E
f
ct
i
v
e
G
r
a
n
t
D
e
&
q
uo
t
;
:
n
u
l
,
&
q
u
o
t
;
Pr
d
u
c
t
C
a
e
g
o
r
y
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;S
a
l
e
s
T
r
a
n
c
t
i
o
nA
c
t
i
o
n
&
q
u
t
;
:
n
u
l,
&
q
u
o
t
;
S
a
l
e
s
T
r
an
c
t
i
o
n
A
c
t
i
o
n
T
yp
e
&
q
u
o
t
;
:
n
u
l
,
&
qu
o
t
;
S
a
l
e
s
T
r
a
n
ct
i
o
n
I
e
m
G
r
o
u
p
&
qo
t
;
:
n
u
l
,
&
q
u
o
t
;
Pe
r
i
o
d
B
u
n
a
r
y
D&
q
u
o
t
;
:
n
u
l
,
&
q
u
ot
;
S
a
l
e
s
T
r
x
n
I
t
e
m
Ds
c
r
i
p
t
o
n
&
q
u
t
;:
n
u
l
,
&
q
u
o
t
;
L
i
n
eI
t
m
D
i
s
t
r
b
u
i
o
nT
y
p
e
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
P
r
a
t
i
o
n
Pl
i
c
y
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
C
n
r
a
c
t
Di
s
o
u
n
t
T
y
p
e
&
q
u
o
t;
:
n
u
l
,
&
q
u
o
t
;
T
r
an
s
c
t
i
o
n
T
y
p
e
&
q
u
ot
;
:
n
u
l
,
&
q
u
o
t
;
P
ar
e
n
t
R
f
e
r
n
c
&
q
uo
t
;
:
&
q
u
o
t
;
0
Q
x0
4
C
9
2
A
E
&
q
u
ot
;
,
&
q
u
o
t
;
D
i
s
c
o
u
nt
&
q
o
;
:
n
u
l
,
&
q
uo
t
;
P
r
i
c
n
g
T
e
r
m
U
ni
t
&
q
u
o
;
:
n
u
l
,
&
qu
o
t
;
P
r
d
u
c
t
S
e
l
in
g
M
o
d
e
l
&
q
u
o
t
;
:
&
qu
o
t
;
0
j
P
x
00
1
E
A
&
q
u
o
t
;
,
&
q
uo
t
;
P
r
i
c
n
g
S
o
u
r
c
e&
q
u
o
t
;
:
n
u
l
,
&
q
u
ot
;
S
c
k
K
e
p
i
n
g
Ut
&
q
u
o
;
:
n
u
l
,
&
qu
o
t
;
P
a
r
n
e
U
i
t
Pr
c
e
&
q
u
o
t
;
:
1
3
0
.
49
1
,
&
q
u
o
t
;
I
e
m
T
o
ta
l
A
d
j
u
s
t
m
e
n
A
o
un
t
&
q
o
;
:
0
,
&
q
u
o
t;
S
a
l
e
s
T
r
a
n
c
t
i
on
I
e
m
S
o
u
r
c
e
&
q
u
o
t;
:
&
q
u
o
t
;
0
Q
L
x
04
C
9
V
G
A
U
&
q
u
o
t
;,
&
q
u
o
t
;
C
n
r
a
c
t
Ar
i
b
u
t
e
P
a
s
I
d
&
q
uo
t
;
:
n
u
l
,
&
q
u
o
t
;
Sb
s
c
r
i
p
t
o
n
T
e
r
m
&q
u
o
t
;
:
n
u
l
,
&
q
u
o
t;
S
e
l
i
n
g
M
o
d
e
l
T
y
p&
q
u
o
t
;
:
&
q
u
o
t
;
O
ne
T
i
m
&
q
u
o
t
;
,
&
q
u
ot
;
E
n
d
Q
u
a
t
i
y
&
q
uo
t
;
:
1
2
,
&
q
u
o
t
;
N
eT
o
t
a
l
P
r
i
c
e
&
q
u
o
t
;:
1
7
3
9
.
8
,
&
q
u
o
t
;
Ta
l
L
i
n
e
A
m
o
u
n
t
&
qo
;
:
1
7
3
9
.
8
,
&
q
u
ot
;
I
e
m
S
g
e
n
t
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
P
r
d
u
c
t
B
a
s
e
d
On
&
q
u
o
t
;
:
&
q
u
o
t
;
1B
x
0
2
C
1
n
q
E
A
C&
u
o
t
;
,
&
q
u
o
t
;
D
e
lt
d
&
q
u
o
t
;
:
f
a
l
s
e,
&
q
u
o
t
;
B
i
l
n
g
R
ef
r
n
c
e
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
A
r
e
P
a
ti
l
P
e
r
i
o
d
s
A
l
o
w
ed
&
q
u
o
t
;
:
f
a
l
s
e
,
&
qu
o
t
;
I
e
m
R
c
o
r
d
eP
i
c
e
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
C
s
o
m
P
rd
u
c
t
N
a
m
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
I
e
m
Sg
e
n
t
I
d
i
f
e
r
&q
u
o
t
;
:
n
u
l
,
&
q
u
o
t;
S
a
l
e
s
T
r
a
n
c
t
i
on
I
e
m
P
a
r
n
t
&
q
u
o;
:
&
q
u
o
t
;
0
Q
x
04
C
9
2
A
E
&
q
u
o
t
;,
&
q
u
o
t
;
Q
a
n
t
i
y
&q
u
o
t
;
:
1
2
,
&
q
u
o
t
;
Pe
r
i
o
d
B
u
n
a
r
y
&
q
uo
t
;
:
n
u
l
,
&
q
u
o
t
;
Cn
r
a
c
t
D
i
s
o
u
n
t
Va
l
u
e
&
q
o
t
;
:
n
u
l
,&
q
u
o
t
;
L
i
n
e
I
t
m
D
is
c
o
u
n
t
V
a
l
u
e
&
q
o
t;
:
n
u
l
,
&
q
u
o
t
;
C
nr
a
c
t
I
d
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
E
n
d
D
a
t
e&
q
u
o
t
;
:
n
u
l
,
&
q
u
ot
;
I
e
m
G
r
o
u
p
S
m
ar
y
S
u
b
t
o
a
l
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
I
s
C
on
t
r
a
c
e
d
&
q
u
o
t
;
:
fa
l
s
e
,
&
q
u
o
t
;
U
n
i
Pr
c
e
&
q
u
o
t
;
:
1
4
.
9,
&
q
u
o
t
;
S
a
r
t
Q
un
i
t
y
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
C
n
r
a
c
t
Pi
e
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
T
a
l
P
r
i
c
e&
q
u
o
t
;
:
1
7
3
9
.
8
,
&q
u
o
t
;
L
i
n
e
I
t
m
D
i
sc
o
u
n
t
T
y
p
e
&
q
u
o
t
;
:n
u
l
,
&
q
u
o
t
;
I
e
m
Pa
t
h
&
q
u
o
t
;
:
&
q
u
o
t
;0
1
x
0
6
i
2
a
A&
q
u
o
t
;
,
&
q
u
o
t
;
pr
d
u
c
t
K
e
y
&
q
u
o
t
;
:[
&
q
u
o
t
;
0
Q
L
x
04
C
9
V
G
A
U
&
q
u
o
t
;
]}
"
,
Properties
SEE ALSO:
Salesforce Help: Considerations to Save and Reuse Configurations
/connect/cpq/configurator/saved-configuration/id
The id parameter is the ID of the configuration that you want to update or delete.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/saved-configuration/5KPxx0025063GSmSAX
640
Product Configurator Resources
Available version
63.0
HTTP methods
DELETE, PUT
Request body for PUT
JSON example
{
"data":
"
{
&
q
u
ot
;
L
e
g
al
E
n
t
i
ty
&
q
u
o
t;
:
n
u
l,
&
q
u
o
t;
P
r
o
d
uc
t
N
a
m
e&
q
u
o
t
;:
&
q
u
o
t;
M
o
n
i
to
r
&
q
u
ot
;
,
&
q
uo
t
;
b
u
si
n
e
sO
b
j
e
ct
T
yp
e
&
qu
o
t
;:
&
q
u
o
t;
Q
u
o
t
eL
i
n
e
I
te
m
&
q
u
ot
;
,
&
q
uo
t
;
P
r
od
u
c
t
&q
u
o
t
;
:&
q
u
o
t
;0
1
t
x0006
i
2
a
AA
&
q
u
ot
;
,
&
q
uo
t
;
I
t
em
I
s
P
r
im
a
r
y
S
eg
m
e
n
t
&q
uo
t
;
:f
a
ls
e
,
&q
u
o
t;
L
i
s
t
Pr
i
c
e
&
qu
o
t
;
:
14.
9,
&
q
u
o
t;
V
a
l
i
da
t
i
o
n
Re
s
u
l
t
&q
u
o
t
;
:n
u
l,
&
q
u
o
t;
S
t
a
r
tD
a
t
e
&
qu
o
t
;
:
nu
l,
&
q
u
o
t;
C
o
n
t
ra
c
t
V
o
lu
m
e
P
a
sI
d
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
B
i
li
n
g
T
r
ea
t
m
e
n
t&
q
u
o
t
;:
n
u
l,
&
q
u
o
t;
P
e
r
i
od
B
o
u
n
da
r
y
S
t
ar
t
M
o
n
th
&
q
u
o
t;
:
n
u
l,
&
q
u
o
t;
S
a
l
e
sT
r
a
n
s
ac
t
i
on
S
o
u
r
ce
A
se
t
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
i
d
&
qu
o
t
;
:
&q
u
o
t
;
0Q
L
x0004
C
9
V
G
AU
&
q
u
o
t;
,
&
q
u
ot
;
P
a
r
tn
e
r
D
i
sc
o
u
n
t
Pe
r
c
e
n
t&
q
u
o
t
;:
1
0
,
&
qu
o
t;
P
ri
c
e
Wa
t
er
F
a
l&
q
u
o
t
;:
n
u
l,
&
q
u
o
t;
B
i
li
n
g
F
r
eq
u
e
n
c
y&
q
uo
t
;
:
n
ul,
&
q
u
o
t;
P
r
o
d
uc
t
C
o
d
e&
q
u
o
t
;:
&
q
u
o
t;
M
O
01
&
q
u
o
t;
,
&
q
uo
t
;
D
e
ri
v
e
d
P
ri
c
i
n
g
Atr
i
b
u
t
e&
q
u
o
t
;:
f
a
l
s
e,
&
q
u
o
t;
T
a
x
T
re
a
t
m
en
t
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
S
u
b
to
t
a
l
&
qu
o
t
;
:
17
3
9
.
8,
&
qu
o
t
;I
t
em
R
a
mp
I
d
e
n
ti
f
i
e
r
&q
u
o
t
;
:n
u
l,
&
q
u
o
t;
I
t
e
m
Se
g
m
e
n
tN
a
m
e
&q
u
o
t
;
:n
u
l,
&
q
u
o
t;
S
a
l
e
sT
r
a
n
s
ac
t
i
o
n
It
e
m
A
tr
i
b
u
t
e&
qu
o
t
;:
[
{&
q
u
ot
;
Atr
i
b
u
t
eK
e
y
&
q
uo
t
;
:
&
qu
o
t
;
0
tj
x00000
1
AA
&
q
u
o
t;
,
&
q
u
ot
;
A
tr
i
b
u
t
eV
a
l
u
e
&q
u
o
t
;
:&
q
u
o
t
;1
0
8
0
p
Built-in
D
i
s
pl
a
y&
q
uo
t
;
,&
q
uo
t
;P
a
r
en
t
Re
f
er
e
n
ce
&
qu
o
t;
:
&
qu
o
t;
0
QL
x0004
C
9V
G
A
U&
q
uo
t
;,
&
q
uo
t
;A
tr
i
bu
t
eP
i
cklis
t
Va
l
u
e&
q
uo
t
;:
&
q
uo
t
;0
v
6x00000
1
AA
&
qu
o
t;,&
q
u
ot
;
Is
P
r
ic
e
Im
p
ac
ti
n
g
&q
u
ot
;
:
fa
l
se,
&
q
uo
t
;b
u
s
in
e
sO
bj
e
c
tT
y
pe
&
qu
o
t
;:
&
qu
o
t;
Q
uo
t
e
Li
n
eI
t
em
A
tr
i
bu
t
e&
q
uo
t
;
,&
q
uo
t
;
Atr
i
bu
te
N
a
me
&
qu
o
t;
:
&
qu
o
t;
D
is
pla
y&q
u
ot
;
,
&q
u
ot
;
id
&
q
uo
t
;:
&
qu
o
t
;0
z
ux00000
F
AQ
&q
u
o
t;
,&
q
u
ot
;
Atr
i
but
e
D
ef
i
ni
t
io
n
C
od
e
&q
uo
t
;
:n
u
l,
&q
u
o
t;
S
ale
s
Tr
a
n
sa
c
ti
o
nI
t
e
mA
tr
P
ar
e
nt
&
q
uo
t
;:
&
qu
o
t
;0
Q
Lx0004
C
9V
G
AU
&
q
uo
t;
}
,{
&
q
uo
t
;A
tr
i
bu
te
K
e
y&
q
uo
t
;:
&
q
uo
t
;0
t
jx000009
AA
&
qu
o
t
;,
&
quot;A
tri
b
u
te
V
al
ue
&
q
uo
t
;:
&
q
uo
t
;2
4
I
n
c
h
&
q
u
o
t
;
,
&
q
u
o
t;
P
a
r
e
n
t
R
f
e
r
n
c&
q
u
o
t
;
:
&
q
u
o
t
;
0
Q
Lx
0
4
C
9
V
G
A
U
&q
u
o
t
;
,
&
q
u
o
t
;
A
ri
b
u
t
e
P
i
c
k
l
s
t
V
a
lu
e
&
q
o
t
;
:
&
q
u
o
t
;
0v
6
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
I
s
P
r
i
c
e
I
m
p
a
c
ti
n
g
&
q
u
o
t
;
:
f
a
l
s
e
,&
q
u
o
t
;
b
s
i
n
e
O
bj
e
c
t
T
y
p
e
&
q
u
o
t
;
:
&q
u
o
t
;
Q
e
L
i
n
I
te
m
A
r
i
b
u
t
e
&
q
o
t;
,
&
q
u
o
t
;
A
r
i
b
u
te
N
a
m
&
q
u
o
t
;
:
&
q
u
ot
;
D
i
s
p
l
a
y
_
S
i
z
e
&
qu
o
t
;
,
&
q
u
o
t
;
i
d
&
q
uo
t
;
:
&
q
u
o
t
;
0
z
u
x00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
A
r
i
b
u
t
e
D
f
in
t
o
C
d
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
S
a
l
es
T
r
a
n
c
t
i
o
n
I
e
mA
t
r
P
a
e
n
t
&
q
u
o
;:
&
q
u
o
t
;
0
Q
L
x
04
C
9
V
G
A
U
&
q
u
o
t
;
}]
,
&
q
u
o
t
;
P
r
i
c
e
b
ok
E
n
t
r
y
&
q
u
o
t
;
:
&
q
uo
t
;
0
1
u
x
0
8
yX
0
A
I
&
q
u
o
t
;
,
&
q
u
ot
;
D
i
s
c
o
u
n
t
A
m
o
u
n
t&
q
o
;
:
n
u
l
,
&
q
u
ot
;
P
r
i
c
n
g
T
e
r
m
C
o
un
t
&
q
o
;
:
0
,
&
q
u
o
t;
S
b
s
c
r
i
p
t
o
n
T
e
rm
U
n
i
t
&
q
u
o
;
:
n
u
l,
&
q
u
o
t
;
N
e
U
n
i
t
P
rc
e
&
q
u
o
t
;
:
1
4
.
9,
&
q
u
o
t
;
I
e
m
E
f
ct
i
v
e
G
r
a
n
t
D
e
&
q
uo
t
;
:
n
u
l
,
&
q
u
o
t
;
Pr
d
u
c
t
C
a
e
g
o
r
y
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;S
a
l
e
s
T
r
a
n
c
t
i
o
nA
c
t
i
o
n
&
q
u
t
;
:
n
u
l,
&
q
u
o
t
;
S
a
l
e
s
T
r
an
c
t
i
o
n
A
c
t
i
o
n
T
yp
e
&
q
u
o
t
;
:
n
u
l
,
&
qu
o
t
;
S
a
l
e
s
T
r
a
n
ct
i
o
n
I
e
m
G
r
o
u
p
&
qo
t
;
:
n
u
l
,
&
q
u
o
t
;
Pe
r
i
o
d
B
u
n
a
r
y
D&
q
u
o
t
;
:
n
u
l
,
&
q
u
ot
;
S
a
l
e
s
T
r
x
n
I
t
e
m
Ds
c
r
i
p
t
o
n
&
q
u
t
;:
n
u
l
,
&
q
u
o
t
;
L
i
n
eI
t
m
D
i
s
t
r
b
u
i
o
nT
y
p
e
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
P
r
a
t
i
o
n
Pl
i
c
y
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
C
n
r
a
c
t
Di
s
o
u
n
t
T
y
p
e
&
q
u
o
t;
:
n
u
l
,
&
q
u
o
t
;
T
r
an
s
c
t
i
o
n
T
y
p
e
&
q
u
ot
;
:
n
u
l
,
&
q
u
o
t
;
P
ar
e
n
t
R
f
e
r
n
c
&
q
uo
t
;
:
&
q
u
o
t
;
0
Q
x0
4
C
9
2
A
E
&
q
u
ot
;
,
&
q
u
o
t
;
D
i
s
c
o
u
nt
&
q
o
;
:
n
u
l
,
&
q
uo
t
;
P
r
i
c
n
g
T
e
r
m
U
ni
t
&
q
u
o
;
:
n
u
l
,
&
qu
o
t
;
P
r
d
u
c
t
S
e
l
in
g
M
o
d
e
l
&
q
u
o
t
;
:
&
qu
o
t
;
0
j
P
x
00
1
E
A
&
q
u
o
t
;
,
&
q
uo
t
;
P
r
i
c
n
g
S
o
u
r
c
e&
q
u
o
t
;
:
n
u
l
,
&
q
u
ot
;
S
c
k
K
e
p
i
n
g
Ut
&
q
u
o
;
:
n
u
l
,
&
qu
o
t
;
P
a
r
n
e
U
i
t
Pr
c
e
&
q
u
o
t
;
:
1
3
0
.
49
1
,
&
q
u
o
t
;
I
e
m
T
o
ta
l
A
d
j
u
s
t
m
e
n
A
o
un
t
&
q
o
;
:
0
,
&
q
u
o
t;
S
a
l
e
s
T
r
a
n
c
t
i
on
I
e
m
S
o
u
r
c
e
&
q
u
o
t;
:
&
q
u
o
t
;
0
Q
L
x
04
C
9
V
G
A
U
&
q
u
o
t
;,
&
q
u
o
t
;
C
n
r
a
c
t
Ar
i
b
u
t
e
P
a
s
I
d
&
q
uo
t
;
:
n
u
l
,
&
q
u
o
t
;
Sb
s
c
r
i
p
t
o
n
T
e
r
m
&q
u
o
t
;
:
n
u
l
,
&
q
u
o
t;
S
e
l
i
n
g
M
o
d
e
l
T
y
p&
q
u
o
t
;
:
&
q
u
o
t
;
O
ne
T
i
m
&
q
u
o
t
;
,
&
q
u
ot
;
E
n
d
Q
u
a
t
i
y
&
q
uo
t
;
:
1
2
,
&
q
u
o
t
;
N
eT
o
t
a
l
P
r
i
c
e
&
q
u
o
t
;:
1
7
3
9
.
8
,
&
q
u
o
t
;
Ta
l
L
i
n
e
A
m
o
u
n
t
&
qo
;
:
1
7
3
9
.
8
,
&
q
u
ot
;
I
e
m
S
g
e
n
t
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
P
r
d
u
c
t
B
a
s
e
d
On
&
q
u
o
t
;
:
&
q
u
o
t
;
1B
x
0
2
C
1
n
q
E
A
C&
u
o
t
;
,
&
q
u
o
t
;
D
e
lt
d
&
q
u
o
t
;
:
f
a
l
s
e,
&
q
u
o
t
;
B
i
l
n
g
R
ef
r
n
c
e
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
A
r
e
P
a
ti
l
P
e
r
i
o
d
s
A
l
o
w
ed
&
q
u
o
t
;
:
f
a
l
s
e
,
&
qu
o
t
;
I
e
m
R
c
o
r
d
eP
i
c
e
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
C
s
o
m
P
rd
u
c
t
N
a
m
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
I
e
m
Sg
e
n
t
I
d
i
f
e
r
&q
u
o
t
;
:
n
u
l
,
&
q
u
o
t;
S
a
l
e
s
T
r
a
n
c
t
i
on
I
e
m
P
a
r
n
t
&
q
u
o;
:
&
q
u
o
t
;
0
Q
x
04
C
9
2
A
E
&
q
u
o
t
;,
&
q
u
o
t
;
Q
a
n
t
i
y
&q
u
o
t
;
:
1
2
,
&
q
u
o
t
;
Pe
r
i
o
d
B
u
n
a
r
y
&
q
uo
t
;
:
n
u
l
,
&
q
u
o
t
;
Cn
r
a
c
t
D
i
s
o
u
n
t
Va
l
u
e
&
q
o
t
;
:
n
u
l
,&
q
u
o
t
;
L
i
n
e
I
t
m
D
is
c
o
u
n
t
V
a
l
u
e
&
q
o
t;
:
n
u
l
,
&
q
u
o
t
;
C
nr
a
c
t
I
d
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
E
n
d
D
a
t
e&
q
u
o
t
;
:
n
u
l
,
&
q
u
ot
;
I
e
m
G
r
o
u
p
S
m
ar
y
S
u
b
t
o
a
l
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
I
s
C
on
t
r
a
c
e
d
&
q
u
o
t
;
:
fa
l
s
e
,
&
q
u
o
t
;
U
n
i
Pr
c
e
&
q
u
o
t
;
:
1
4
.
9,
&
q
u
o
t
;
S
a
r
t
Q
un
i
t
y
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
C
n
r
a
c
t
Pi
e
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
T
a
l
P
r
i
c
e&
q
u
o
t
;
:
1
7
3
9
.
8
,
&q
u
o
t
;
L
i
n
e
I
t
m
D
i
sc
o
u
n
t
T
y
p
e
&
q
u
o
t
;
:n
u
l
,
&
q
u
o
t
;
I
e
m
Pa
t
h
&
q
u
o
t
;
:
&
q
u
o
t
;0
1
x
0
6
i
2
a
A&
q
u
o
t
;
,
&
q
u
o
t
;
pr
d
u
c
t
K
e
y
&
q
u
o
t
;
:[
&
q
u
o
t
;
0
Q
L
x
04
C
9
V
G
A
U
&
q
u
o
t
;
]}
"
,
Properties
SEE ALSO:
Salesforce Help: Considerations to Save and Reuse Configurations
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/get-instance
641
Product Configurator Resources
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"contextId": "008d27d7-e004-4906-a949-ee7d7c323c77"
}
Properties
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/load-instance
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"configuratorOptions":
{
"addDefaultConfiguration": true,
"executeConfigurationRules": true,
"executePricing": true,
642
Product Configurator Resources
"qualifyAllProductsInTransaction": true,
"validateAmendRenewCancel": true,
"validateProductCatalog": true
},
"qualificationContext": {
"accountId": "001DU000001nHUGYA2"
},
"transactionId": "0Q0DU0000000XoN0AU"
}
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/save-instance
Available version
60.0
HTTP methods
POST
643
Product Configurator Resources
{
"contextId": "008d27d7-e004-4906-a949-ee7d7c323c77"
}
Properties
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/set-instance
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"configuratorOptions":
{
"addDefaultConfiguration": true,
"executeConfigurationRules": true,
"executePricing": true,
"qualifyAllProductsInTransaction": true,
"validateAmendRenewCancel": true,
"validateProductCatalog": true
},
"qualificationContext": {
"accountId": "001DU000001nHUGYA2"
644
Product Configurator Resources
},
"transactionId": "0Q0DU0000000XoN0AU"
}
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/add-nodes
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"configuratorOptions": {
"executePricing": true,
"returnProductCatalogData": true,
"qualifyAllProductsInTransaction": true,
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
645
Product Configurator Resources
},
"qualificationContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"contextId": "008d27d7-e004-4906-a949-ee7d7c323c77",
"addedNodes": [
{
"path": ["0Q0DE000000ISHJs81"],
"addedObject": {
"id": "ref_sti2_id",
"SalesTransactionSource": "sti2_id",
"PricebookEntry": "01uxx0000000001AAA",
"ProductSellingModel": "0jPxx0000000001AAA",
"businessObjectType": "QuoteLineItem",
"Quantity": 10,
"UnitPrice": 2.0,
"Product": "01txx0000000001AAA"
}
},
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"],
"addedObject": {
"id": "ref_stir1_id",
"businessObjectType": "QuoteLineItemRelationship",
"MainItem": "0QLDE000000IBXw4AO",
"AssociatedItem": "ref_sti2_id",
"ProductRelatedComponent": "0dSxx0000000001AAA",
"ProductRelationshipType": "0yoxx0000000001AAA",
"AssociatedItemPricing": "IncludedInBundlePrice"
}
}
]
}
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
646
Product Configurator Resources
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/delete-nodes
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"configuratorOptions": {
"executePricing": true,
"returnProductCatalogData": true,
"qualifyAllProductsInTransaction": true,
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
},
"qualificationContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"contextId": "008d27d7-e004-4906-a949-ee7d7c323c77",
"deletedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"]
}
]
}
Properties
647
Product Configurator Resources
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/update-nodes
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"configuratorOptions": {
"executePricing": true,
"returnProductCatalogData": true,
"qualifyAllProductsInTransaction": true,
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
},
"qualificationContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"contextId": "008d27d7-e004-4906-a949-ee7d7c323c77",
"updatedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"],
"updatedAttributes": {
"Quantity": 5
648
Product Configurator Resources
}
}
]
}
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/cpq/configurator/actions/set-product-quantity
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"configuratorOptions": {
"executePricing": true,
"returnProductCatalogData": true,
"qualifyAllProductsInTransaction": true,
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
649
Product Configurator Request Bodies
"addDefaultConfiguration": true
},
"qualificationContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"contextId": "008d27d7-e004-4906-a949-ee7d7c323c77",
"quantity": 20,
"transactionLinePath": "Quote.QuoteLineItem.Quantity"
}
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
transaction String[] Path to the line item where the update Required 60.0
LinePath to the quantity is applied. For example,
Quote.QuoteLineItem.Quantity.
Request Bodies
Learn more about the available Product Configurator API request bodies.
650
Product Configurator Request Bodies
{
"contextId": "008d27d7-e004-4906-a949-ee7d7c323c77"
}
Properties
651
Product Configurator Request Bodies
JSON example
{
"configuratorOptions":
{
"addDefaultConfiguration": true,
"executeConfigurationRules": true,
"executePricing": true,
"qualifyAllProductsInTransaction": true,
"validateAmendRenewCancel": true,
"validateProductCatalog": true
},
"qualificationContext": {
"accountId": "001DU000001nHUGYA2"
},
"transactionId": "0Q0DU0000000XoN0AU"
}
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
I
n
c
h
&
q
u
o
t
;
,
&
q
u
o
t;
P
a
r
e
n
t
R
f
e
r
n
c&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
A
U&
q
u
o
t
;
,
&
q
u
o
t
;
Ar
i
b
u
t
e
P
i
c
k
l
s
t
Va
l
u
e
&
q
o
t
;
:
&
q
u
o
t;
0
v
6
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
I
s
P
r
i
c
e
I
m
p
a
ct
i
n
g
&
q
u
o
t
;
:
f
a
l
s
e,
&
q
u
o
t
;
b
s
i
n
eO
b
j
e
c
t
T
y
p
e
&
q
u
o
t
;:
&
q
u
o
t
;
Q
e
L
i
nI
t
e
m
A
r
i
b
u
t
e
&
qo
t
;
,
&
q
u
o
t
;
A
r
ib
u
t
e
N
a
m
&
q
u
o
t
;
:
&q
u
o
t
;
D
i
s
p
l
a
y
_
S
iz
e
&
q
u
o
t
;
,
&
q
u
o
t
;
id
&
q
u
o
t
;
:
&
q
u
o
t
;
0z
u
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
A
r
i
b
u
t
e
D
fi
n
t
o
C
d
e
&
q
u
o
t;
:
n
u
l
,
&
q
u
o
t
;
S
al
e
s
T
r
a
n
c
t
i
o
n
Ie
m
A
t
r
P
a
e
n
t
&
q
uo
;
:
&
q
u
o
t
;
0
Q
L
x0
4
C
9
V
G
A
U
&
q
uo
t
;
}
]
,
&
q
u
o
t
;
P
r
i
ce
b
o
k
E
n
t
r
y
&
q
u
o
t;
:
&
q
u
o
t
;
0
1
u
x
08
y
X
0
A
I
&
q
u
o
t;
,
&
q
u
o
t
;
D
i
s
c
o
u
n
tA
m
o
u
n
t
&
q
o
;
:
n
ul
,
&
q
u
o
t
;
P
r
i
c
n
gT
e
r
m
C
o
u
n
t
&
q
o
;:
0
,
&
q
u
o
t
;
S
b
s
c
r
ip
t
o
n
T
e
r
m
U
n
i
t
&
qu
o
;
:
n
u
l
,
&
q
u
o
t
;N
e
U
n
i
t
P
r
c
e
&
q
uo
t
;
:
1
4
.
9
,
&
q
u
o
t;
I
e
m
E
f
c
t
i
v
e
Gr
a
n
t
D
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
d
uc
t
C
a
e
g
o
r
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
S
a
le
s
T
r
a
n
c
t
i
o
n
A
c
ti
o
n
&
q
u
t
;
:
n
u
l
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
A
c
t
i
o
n
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
a
l
e
s
T
r
a
n
ct
i
o
n
I
e
m
G
r
o
u
p
&
qo
t
;
:
n
u
l
,
&
q
u
o
t
;P
e
r
i
o
d
B
u
n
a
r
y
D&
q
u
o
t
;
:
n
u
l
,
&
qu
o
t
;
S
a
l
e
s
T
r
x
n
I
t
em
D
s
c
r
i
p
t
o
n
&
q
ut
;
:
n
u
l
,
&
q
u
o
t
;
Li
n
e
I
t
m
D
i
s
t
r
b
ui
o
n
T
y
p
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
a
ti
o
n
P
l
i
c
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
nr
a
c
t
D
i
s
o
u
n
t
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
T
r
a
n
s
c
t
i
o
n
Ty
p
e
&
q
u
o
t
;
:
n
u
l
,
&q
u
o
t
;
P
a
r
e
n
t
R
f
er
n
c
&
q
u
o
t
;
:
&
q
u
ot
;
0
Q
x
0
4
C9
2
A
E
&
q
u
o
t
;
,
&
q
u
ot
;
D
i
s
c
o
u
n
t
&
q
o;
:
n
u
l
,
&
q
u
o
t
;
P
r
ic
n
g
T
e
r
m
U
n
i
t
&
q
uo
;
:
n
u
l
,
&
q
u
o
t
;
Pr
d
u
c
t
S
e
l
i
n
g
M
od
e
l
&
q
u
o
t
;
:
&
q
u
o
t
;0
j
P
x
00
1
E
A
&
q
u
o
t
;
,
&
q
uo
t
;
P
r
i
c
n
g
S
o
u
r
ce
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
c
k
K
e
p
i
n
gU
t
&
q
u
o
;
:
n
u
l
,&
q
u
o
t
;
P
a
r
n
e
Ui
t
P
r
c
e
&
q
u
o
t
;
:
1
30
.
4
9
1
,
&
q
u
o
t
;
I
em
T
o
t
a
l
A
d
j
u
s
t
m
e
nA
o
u
n
t
&
q
o
;
:
0
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
I
e
m
S
o
u
r
ce
&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
,
&
q
u
o
t
;
Cn
r
a
c
t
A
r
i
b
u
t
eP
a
s
I
d
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
b
s
c
r
i
pt
o
n
T
e
r
m
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
S
e
l
in
g
M
o
d
e
l
T
y
p
&
q
u
o
t;
:
&
q
u
o
t
;
O
n
e
T
i
m&
q
u
o
t
;
,
&
q
u
o
t
;
E
n
dQ
u
a
t
i
y
&
q
u
o
t
;
:1
2
,
&
q
u
o
t
;
N
e
T
o
t
al
P
r
i
c
e
&
q
u
o
t
;
:
1
73
9
.
8
,
&
q
u
o
t
;
T
al
L
i
n
e
A
m
o
u
n
t
&
q
o;
:
1
7
3
9
.
8
,
&
q
u
o
t;
I
e
m
S
g
e
n
t
T
y
p
e&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
P
r
d
u
c
t
B
a
s
e
d
On
&
q
u
o
t
;
:
&
q
u
o
t
;
1B
x
0
2
C
1
n
q
E
AC
&
u
o
t
;
,
&
q
u
o
t
;
D
el
t
d
&
q
u
o
t
;
:
f
a
ls
e
,
&
q
u
o
t
;
B
i
l
n
gR
e
f
r
n
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
A
r
e
Pa
t
i
l
P
e
r
i
o
d
s
A
lo
w
e
d
&
q
u
o
t
;
:
f
a
l
se
,
&
q
u
o
t
;
I
e
m
R
c
or
d
e
P
i
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
so
m
P
r
d
u
c
t
N
a
m
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
S
g
e
n
t
I
di
f
e
r
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
a
l
e
s
T
r
an
c
t
i
o
n
I
e
m
P
a
rn
t
&
q
u
o
;
:
&
q
u
o
t
;0
Q
x
0
4
C
9
2A
E
&
q
u
o
t
;
,
&
q
u
o
t
;Q
a
n
t
i
y
&
q
u
o
t
;
:
12
,
&
q
u
o
t
;
P
e
r
i
o
d
Bu
n
a
r
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
a
ct
D
i
s
o
u
n
t
V
a
l
u
e
&q
o
t
;
:
n
u
l
,
&
q
u
o
t;
L
i
n
e
I
t
m
D
i
s
c
o
un
t
V
a
l
u
e
&
q
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
I
d
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
E
n
d
D
a
t
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
G
r
o
u
p
S
m
a
ry
S
u
b
t
o
a
l
&
q
u
o
t
;
:n
u
l
,
&
q
u
o
t
;
I
s
C
on
t
r
a
c
e
d
&
q
u
o
t
;
:
fa
l
s
e
,
&
q
u
o
t
;
U
n
iP
r
c
e
&
q
u
o
t
;
:
1
4
.9
,
&
q
u
o
t
;
S
a
r
t
Qu
n
i
t
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
P
i
e
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
T
a
l
Pr
i
c
e
&
q
u
o
t
;
:
1
7
3
9
.8
,
&
q
u
o
t
;
L
i
n
e
I
tm
D
i
s
c
o
u
n
t
T
y
p
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
P
a
t
h
&
q
u
o
t
;
:&
q
u
o
t
;
0
1
x
06
i
2
a
A
&
q
u
o
t
;
,&
q
u
o
t
;
p
r
d
u
c
t
K
e
y&
q
u
o
t
;
:
[
&
q
u
o
t
;
0Q
L
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
]
}
"
,
652
Product Configurator Request Bodies
"referenceRecordId": "01txx0000006iCFAAY"
}
Properties
I
n
c
h
&
q
u
o
t
;
,
&
q
u
o
t;
P
a
r
e
n
t
R
f
e
r
n
c&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
A
U&
q
u
o
t
;
,
&
q
u
o
t
;
Ar
i
b
u
t
e
P
i
c
k
l
s
t
Va
l
u
e
&
q
o
t
;
:
&
q
u
o
t;
0
v
6
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
I
s
P
r
i
c
e
I
m
p
a
ct
i
n
g
&
q
u
o
t
;
:
f
a
l
s
e,
&
q
u
o
t
;
b
s
i
n
eO
b
j
e
c
t
T
y
p
e
&
q
u
o
t
;:
&
q
u
o
t
;
Q
e
L
i
nI
t
e
m
A
r
i
b
u
t
e
&
qo
t
;
,
&
q
u
o
t
;
A
r
ib
u
t
e
N
a
m
&
q
u
o
t
;
:
&q
u
o
t
;
D
i
s
p
l
a
y
_
S
iz
e
&
q
u
o
t
;
,
&
q
u
o
t
;
id
&
q
u
o
t
;
:
&
q
u
o
t
;
0z
u
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
A
r
i
b
u
t
e
D
fi
n
t
o
C
d
e
&
q
u
o
t;
:
n
u
l
,
&
q
u
o
t
;
S
al
e
s
T
r
a
n
c
t
i
o
n
Ie
m
A
t
r
P
a
e
n
t
&
q
uo
;
:
&
q
u
o
t
;
0
Q
L
x0
4
C
9
V
G
A
U
&
q
uo
t
;
}
]
,
&
q
u
o
t
;
P
r
i
ce
b
o
k
E
n
t
r
y
&
q
u
o
t;
:
&
q
u
o
t
;
0
1
u
x
08
y
X
0
A
I
&
q
u
o
t;
,
&
q
u
o
t
;
D
i
s
c
o
u
n
tA
m
o
u
n
t
&
q
o
;
:
n
ul
,
&
q
u
o
t
;
P
r
i
c
n
gT
e
r
m
C
o
u
n
t
&
q
o
;:
0
,
&
q
u
o
t
;
S
b
s
c
r
ip
t
o
n
T
e
r
m
U
n
i
t
&
qu
o
;
:
n
u
l
,
&
q
u
o
t
;N
e
U
n
i
t
P
r
c
e
&
q
uo
t
;
:
1
4
.
9
,
&
q
u
o
t;
I
e
m
E
f
c
t
i
v
e
Gr
a
n
t
D
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
d
uc
t
C
a
e
g
o
r
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
S
a
le
s
T
r
a
n
c
t
i
o
n
A
c
ti
o
n
&
q
u
t
;
:
n
u
l
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
A
c
t
i
o
n
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
a
l
e
s
T
r
a
n
ct
i
o
n
I
e
m
G
r
o
u
p
&
qo
t
;
:
n
u
l
,
&
q
u
o
t
;P
e
r
i
o
d
B
u
n
a
r
y
D&
q
u
o
t
;
:
n
u
l
,
&
qu
o
t
;
S
a
l
e
s
T
r
x
n
I
t
em
D
s
c
r
i
p
t
o
n
&
q
ut
;
:
n
u
l
,
&
q
u
o
t
;
Li
n
e
I
t
m
D
i
s
t
r
b
ui
o
n
T
y
p
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
a
ti
o
n
P
l
i
c
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
nr
a
c
t
D
i
s
o
u
n
t
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
T
r
a
n
s
c
t
i
o
n
Ty
p
e
&
q
u
o
t
;
:
n
u
l
,
&q
u
o
t
;
P
a
r
e
n
t
R
f
er
n
c
&
q
u
o
t
;
:
&
q
u
ot
;
0
Q
x
0
4
C9
2
A
E
&
q
u
o
t
;
,
&
q
u
ot
;
D
i
s
c
o
u
n
t
&
q
o;
:
n
u
l
,
&
q
u
o
t
;
P
r
ic
n
g
T
e
r
m
U
n
i
t
&
q
uo
;
:
n
u
l
,
&
q
u
o
t
;
Pr
d
u
c
t
S
e
l
i
n
g
M
od
e
l
&
q
u
o
t
;
:
&
q
u
o
t
;0
j
P
x
00
1
E
A
&
q
u
o
t
;
,
&
q
uo
t
;
P
r
i
c
n
g
S
o
u
r
ce
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
c
k
K
e
p
i
n
gU
t
&
q
u
o
;
:
n
u
l
,&
q
u
o
t
;
P
a
r
n
e
Ui
t
P
r
c
e
&
q
u
o
t
;
:
1
30
.
4
9
1
,
&
q
u
o
t
;
I
em
T
o
t
a
l
A
d
j
u
s
t
m
e
nA
o
u
n
t
&
q
o
;
:
0
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
I
e
m
S
o
u
r
ce
&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
,
&
q
u
o
t
;
Cn
r
a
c
t
A
r
i
b
u
t
eP
a
s
I
d
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
b
s
c
r
i
pt
o
n
T
e
r
m
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
S
e
l
in
g
M
o
d
e
l
T
y
p
&
q
u
o
t;
:
&
q
u
o
t
;
O
n
e
T
i
m&
q
u
o
t
;
,
&
q
u
o
t
;
E
n
dQ
u
a
t
i
y
&
q
u
o
t
;
:1
2
,
&
q
u
o
t
;
N
e
T
o
t
al
P
r
i
c
e
&
q
u
o
t
;
:
1
73
9
.
8
,
&
q
u
o
t
;
T
al
L
i
n
e
A
m
o
u
n
t
&
q
o;
:
1
7
3
9
.
8
,
&
q
u
o
t;
I
e
m
S
g
e
n
t
T
y
p
e&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
P
r
d
u
c
t
B
a
s
e
d
On
&
q
u
o
t
;
:
&
q
u
o
t
;
1B
x
0
2
C
1
n
q
E
AC
&
u
o
t
;
,
&
q
u
o
t
;
D
el
t
d
&
q
u
o
t
;
:
f
a
ls
e
,
&
q
u
o
t
;
B
i
l
n
gR
e
f
r
n
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
A
r
e
Pa
t
i
l
P
e
r
i
o
d
s
A
lo
w
e
d
&
q
u
o
t
;
:
f
a
l
se
,
&
q
u
o
t
;
I
e
m
R
c
or
d
e
P
i
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
so
m
P
r
d
u
c
t
N
a
m
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
S
g
e
n
t
I
di
f
e
r
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
a
l
e
s
T
r
an
c
t
i
o
n
I
e
m
P
a
rn
t
&
q
u
o
;
:
&
q
u
o
t
;0
Q
x
0
4
C
9
2A
E
&
q
u
o
t
;
,
&
q
u
o
t
;Q
a
n
t
i
y
&
q
u
o
t
;
:
12
,
&
q
u
o
t
;
P
e
r
i
o
d
Bu
n
a
r
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
a
ct
D
i
s
o
u
n
t
V
a
l
u
e
&q
o
t
;
:
n
u
l
,
&
q
u
o
t;
L
i
n
e
I
t
m
D
i
s
c
o
un
t
V
a
l
u
e
&
q
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
I
d
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
E
n
d
D
a
t
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
G
r
o
u
p
S
m
a
ry
S
u
b
t
o
a
l
&
q
u
o
t
;
:n
u
l
,
&
q
u
o
t
;
I
s
C
on
t
r
a
c
e
d
&
q
u
o
t
;
:
fa
l
s
e
,
&
q
u
o
t
;
U
n
iP
r
c
e
&
q
u
o
t
;
:
1
4
.9
,
&
q
u
o
t
;
S
a
r
t
Qu
n
i
t
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
P
i
e
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
T
a
l
Pr
i
c
e
&
q
u
o
t
;
:
1
7
3
9
.8
,
&
q
u
o
t
;
L
i
n
e
I
tm
D
i
s
c
o
u
n
t
T
y
p
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
P
a
t
h
&
q
u
o
t
;
:&
q
u
o
t
;
0
1
x
06
i
2
a
A
&
q
u
o
t
;
,&
q
u
o
t
;
p
r
d
u
c
t
K
e
y&
q
u
o
t
;
:
[
&
q
u
o
t
;
0Q
L
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
]
}
"
,
Properties
653
Product Configurator Request Bodies
JSON example
{
"contextId": "008d27d7-e004-4906-a949-ee7d7c323c77"
}
Properties
{
"configuratorOptions":
{
"addDefaultConfiguration": true,
"executeConfigurationRules": true,
"executePricing": true,
"qualifyAllProductsInTransaction": true,
"validateAmendRenewCancel": true,
"validateProductCatalog": true
},
"qualificationContext": {
"accountId": "001DU000001nHUGYA2"
},
"transactionId": "0Q0DU0000000XoN0AU"
}
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
654
Product Configurator Request Bodies
655
Product Configurator Request Bodies
}
]
}
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
"addedNodes": [
{
"path": ["0Q0DE000000ISHJs81"],
"addedObject": {
"id": "ref_sti2_id",
"SalesTransactionItemSource": "sti2_id",
"PricebookEntry": "01uxx0000000001AAA",
"ProductSellingModel": "0jPxx0000000001AAA",
"businessObjectType": "QuoteLineItem",
"Quantity": 10,
"UnitPrice": 2.0,
"Product": "01txx0000000001AAA"
}
},
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"],
"addedObject": {
"id": "ref_stir1_id",
"businessObjectType": "QuoteLineItemRelationship",
"MainItem": "0QLDE000000IBXw4AO",
"AssociatedItem": "ref_sti2_id",
"ProductRelatedComponent": "0dSxx0000000001AAA",
"ProductRelationshipType": "0yoxx0000000001AAA",
"AssociatedItemPricing": "IncludedInBundlePrice"
656
Product Configurator Request Bodies
}
]
Properties
path String[] Path to the node that’s being added. The Required 60.0
path includes the unique ID of the context
node in the data structure. This ID must
match the ID of the sales transaction item
source such as a quote line or an order line
item.
657
Product Configurator Request Bodies
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
"deletedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"]
}
]
Properties
Configurator Input
Input representation of the request to modify the product configuration.
JSON example
This example shows a sample to initiate a context based on a transaction ID.
{
"transactionLineId": "0QLDE000000IBXw4AO",
"transactionId": "0Q0xx0000000001GAA",
"correlationId": "c95246d4-102c-4ecd-a263-f74ac525d1e5",
"configuratorOptions": {
"executePricing": true,
"returnProductCatalogData": true
},
658
Product Configurator Request Bodies
"qualificationContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
}
}
This example shows a sample to add, update, or delete a node in an existing context.
{
"transactionLineId": "0QLDE000000IBXw4AO",
"transactionId": "0Q0DE000000ISHJs81",
"correlationId": "c95246d4-102c-4ecd-a263-f74ac525d1e5",
"configuratorOptions": {
"executePricing": true,
"returnProductCatalogData": true,
"qualifyAllProductsInTransaction": true,
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
},
"qualificationContext": {
"accountId": "001xx0000000001AAA",
"contactId": "003xx00000000D7AAI"
},
"transactionContextId": "008d27d7-e004-4906-a949-ee7d7c323c77",
"addedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "sti2_id"],
"addedObject": {
"id": "ref_sti2_id",
"SalesTransactionSource": "sti2_id",
"PricebookEntry": "01uxx0000000001AAA",
"ProductSellingModel": "0jPxx0000000001AAA",
"businessObjectType": "QuoteLineItem",
"Quantity": 10,
"UnitPrice": 2.0,
"Product": "01txx0000000001AAA"
}
},
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO","ref_stir1_id"],
"addedObject": {
"id": "ref_stir1_id",
"businessObjectType": "QuoteLineItemRelationship",
"MainItem": "0QLDE000000IBXw4AO",
"AssociatedItem": "ref_sti2_id",
"ProductRelatedComponent": "0dSxx0000000001AAA",
"ProductRelationshipType": "0yoxx0000000001AAA",
"AssociatedItemPricing": "IncludedInBundlePrice"
}
}
],
"updatedNodes": [
659
Product Configurator Request Bodies
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"],
"updatedAttributes": {
"Quantity": 5
}
}
],
"deletedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"]
}
]
}
Properties
deletedNodes Configurator List of deleted context nodes that’s passed Optional 60.0
Deleted Node to the product configurator.
Input[]
qualification User Context Input[] Details such as account ID, contact ID, and Optional 60.0
Context context ID that are used for executing
qualification rules.
transaction String ID of the top-level line item that’s being Optional 60.0
LineId configured.
updatedNodes Configurator List of updated context nodes that’s passed Optional 60.0
Updated Node to the product configurator.
Input[]
SEE ALSO:
Salesforce Help: Context Service
Developer Documentation: Context Service
660
Product Configurator Request Bodies
"configuratorOptions":
{
"addDefaultConfiguration": true,
"executeConfigurationRules": true,
"executePricing": true,
"qualifyAllProductsInTransaction": true,
"validateAmendRenewCancel": true,
"validateProductCatalog": true
}
Properties
661
Product Configurator Request Bodies
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
662
Product Configurator Request Bodies
JSON example
"updatedNodes": [
{
"path": ["0Q0DE000000ISHJs81", "0QLDE000000IBXw4AO"],
"updatedAttributes": {
"Quantity": 5
}
}
]
Properties
updated Map<String, Details of the object that’s being updated. Required 60.0
Attributes Object> This property supports fields of objects
from the Sales Transaction context
definition, including custom objects and
fields in your extended context definition.
663
Product Configurator Response Bodies
Properties
qualification User Context Input Context details that are used for the Optional 60.0
Context qualification rules.
transaction String[] Path to the line item where the update to Required 60.0
LinePath the quantity is applied. For example,
Quote.QuoteLineItem.Quantity.
"qualificationContext": {
"accountId": "001DU000001nHUGYA2",
"contactId": "003xx00000000D7AAI"
}
Properties
Response Bodies
Learn more about the available Product Configurator API response bodies.
Configuration Details
Output representation of the product configuration details.
Configuration Get Instance
Output representation of the request to retrieve the configuration instance.
664
Product Configurator Response Bodies
665
Product Configurator Response Bodies
Configuration Details
Output representation of the product configuration details.
JSON example
{
"catalogProducts": {
"additionalFields": [],
"attributeCategories": [
{
"attributes": [
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Load Capacity",
"code": "CAP",
"dataType": "NUMBER",
"defaultValue": "1500",
"description": "Server racks are designed to support a specific load capacity,
commonly measured in kilograms (kg) or pounds (lbs). Typical load capacities range from
500 kg (1102 lbs) to 1500 kg (3307 lbs) depending on the model.",
"id": "0tjxx00000001DpAAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": false,
666
Product Configurator Response Bodies
667
Product Configurator Response Bodies
"dataType": "MULTIPICKLIST",
"defaultValue": "25",
"id": "0tjxx00000001IfAAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "Memory",
"name": "Memory"
}
],
"code": "SPEC",
"name": "Server Rack Specifications"
}
],
"description": "Introducing the Cisco Server Rack, a sleek and robust solution
designed to streamline your data center infrastructure. With its scalable design and
advanced cable management features, it ensures optimal performance, efficiency, and easy
maintenance for your critical network equipment.",
"displayUrl":
"https://www.cisco.com/content/dam/en/us/products/servers-unified-computing/ucs-c240-m4-rack-server/product-large.jpg",
"id": "01txx0000006jkuAAA",
"isActive": true,
"isAssetizable": true,
"isConfigurable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Server Rack NX44",
"nodeType": "bundleProduct",
"prices": [],
"productClassification": {
"id": "11Bxx000002CC02EAG"
},
"productCode": "RACK",
"productComponentGroups": [
{
"classifications": [],
"code": "SERVICE",
"components": [
{
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Service, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jmWAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": false,
668
Product Configurator Response Bodies
"isQuantityEditable": false,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Service - 1 Year",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "SERVICE",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01txx0000006jmWAAQ",
"childSellingModelId": "0jPxx000000004rEAA",
"doesBundlePriceIncludeChild": true,
"id": "0dSxx000000001dEAA",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000004rEAA",
"productComponentGroupId": "0y7xx000000001dAAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": [
{
"id": "0iOxx000000009hEAA",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000PpEAI",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
}
]
}
],
"description": "The services available for the Cisco Server Rack NX44 product
669
Product Configurator Response Bodies
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
"id": "0y7xx000000001dAAA",
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Services",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 1
},
{
"classifications": [],
"code": "WARRANTY",
"components": [
{
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Warranty, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jjIAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": true,
"isQuantityEditable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Warranty - 1 Year",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "WARRANTY",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01txx0000006jjIAAQ",
"childSellingModelId": "0jPxx000000001dEAA",
"doesBundlePriceIncludeChild": false,
"id": "0dSxx0000000001EAA",
"isComponentRequired": false,
"isDefaultComponent": true,
"isQuantityEditable": true,
"maxQuantity": 1,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000001dEAA",
"productComponentGroupId": "0y7xx0000000001AAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 0
},
"productSellingModelOptions": [
{
"id": "0iOxx000000001dEAA",
670
Product Configurator Response Bodies
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000001dEAA"
},
{
"id": "0iOxx00000000HlEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000003FEAQ",
"name": "Termed Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000003FEAQ"
},
{
"id": "0iOxx00000000JNEAY",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000KzEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
},
{
"id": "0iOxx00000000MbEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000006TEAQ",
"name": "Evergreen Monthly",
671
Product Configurator Response Bodies
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx000000006TEAQ"
}
]
}
],
"description": "The warranties available for the Cisco Server Rack NX44 product
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
"id": "0y7xx0000000001AAA",
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Warranties",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 0
}
],
"productSellingModelOptions": [
{
"id": "0iOxx000000003FEAQ",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000001dEAA"
},
{
"id": "0iOxx000000004rEAA",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000003FEAQ",
"name": "Termed Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000003FEAQ"
},
{
"id": "0iOxx000000006TEAQ",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
672
Product Configurator Response Bodies
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
}
],
"productType": "Bundle"
},
"uiTreatments": [
{
"details": {
"attributeId": "0tjxx0000000007AAA",
"prcId": "0dSxx0000000007EAA",
"stiId": "0QLxx0000004CU0GAM",
"attributePicklistValueId": "0v6xx0000000005AAA"
},
"uiTreatmentScope": "Bundle",
"uiTreatmentTarget": "Attribute_Picklist_Value",
"uiTreatmentType": "Hide"
},
{
"details": {
"stiId": "ref_f0f2da7b_c431_482d_bf4b_599052f3a2e1"
},
"uiTreatmentScope": "Product",
"uiTreatmentTarget": "Component",
"uiTreatmentType": "Disable"
}
],
"errors": [],
"success": true,
"transactionContext": {
"SalesTransaction": [
{
"Status": "Draft",
"Account": "001xx000003GeIxAAK",
"BillingCity": "San Francisco",
"Subtotal": 152500,
"LastPricedDate": "2023-08-22T05:55:39Z",
"businessObjectType": "Quote",
"TotalAmount": 152500,
"ShippingStreet": "415 Mission St",
"SalesTransactionItem": [
{
"ProrationPolicy": null,
"Discount": null,
"ProductSellingModel": "0jPxx000000001dEAA",
"Product": "01txx0000006jkuAAA",
"businessObjectType": "QuoteLineItem",
"BasisTransactionItem": null,
"PartnerUnitPrice": null,
"StartingUnitPriceSource": "System",
"ListPrice": 150000,
"ItemTotalAdjustmentAmount": 0,
673
Product Configurator Response Bodies
"SalesTransactionItemSource": "0QLxx0000004CQmGAM",
"SubscriptionTerm": null,
"StartDate": null,
"NetTotalPrice": 150000,
"TotalLineAmount": 150000,
"PeriodBoundaryStartMonth": null,
"ListPriceTotal": 150000,
"PartnerDiscountPercent": null,
"id": "0QLxx0000004CQmGAM",
"PriceWaterFall": {
"currencyCode": "USD",
"executionEndTimestamp": "2023-09-18T20:11:15.016Z",
"executionId": "ruepwmHn2ZFvnQo5bjot",
"executionStartTimestamp": "2023-09-18T20:11:14.906Z",
"lineItemId": "0QLxx0000004CQmGAM",
"output": {
"NetUnitPrice": 150000,
"Subtotal": 0
},
"success": true,
"waterfall": [
{
"fieldToTagNameMapping": {
"NetUnitPrice": "ItemUnitPrice",
"AdjustmentValue": "ItemAdjustmentValue",
"Subtotal": "ItemTotalAdjustmentAmount",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionItemSource",
"InputUnitPrice": "ItemUnitPrice"
},
"inputParameters": {
"Quantity": 1,
"LineItemId": "0QLxx0000004CQmGAM",
"InputUnitPrice": 150000,
"AdjustmentType": "Amount"
},
"outputParameters": {
"NetUnitPrice": 150000,
"Subtotal": 0
},
"pricingElement": {
"adjustments": [
{
"AdjustmentType": "Amount"
}
],
"elementType": "MANUALDISCOUNT",
"name": "ManualDiscount"
},
"sequence": 1
}
]
},
"BillingFrequency": null,
674
Product Configurator Response Bodies
"SalesTransactionItemParent": "0Q0xx0000004CAeCAM",
"StartingPriceTotal": 150000,
"Quantity": 1,
"PeriodBoundary": null,
"SalesTransactionItemAttribute": [
{
"AttributeKey": "0tjxx00000001H3AAI",
"AttributeValue": "30.0",
"AttributePicklistValue": null,
"IsPriceImpacting": true,
"businessObjectType": "QuoteLineItemAttribute",
"AttributeName": "Expansion Slots",
"AttributeDefinitionCode": "SLOTCAP",
"id": "0zuxx0000000001AAA",
"SalesTransactionItemAttrParent": "0QLxx0000004CQmGAM"
}
],
"EndDate": null,
"DiscountAmount": null,
"PricebookEntry": "01uxx0000009154AAA",
"PricingTermCount": 1,
"NetUnitPrice": 150000,
"UnitPrice": 150000,
"StartingUnitPrice": 150000,
"SalesTrxnItemRelationship": [
{
"ProductRelationshipType": "0yoxx00000001IfAAI",
"MainItemRole": "Bundle",
"AssociatedItem": "0QLxx0000004CQnGAM",
"ProductRelatedComponent": "0dSxx0000000001EAA",
"MainItem": "0QLxx0000004CQmGAM",
"AssociatedQuantScaleMethod": "Proportional",
"businessObjectType": "QuoteLineRelationship",
"AssociatedItemRole": "BundleComponent",
"SalesTrnItemRelationshipParent": "0Q0xx0000004CAeCAM",
"id": "0yQxx000000001dEAA",
"AssociatedItemPricing": "NotIncludedInBundlePrice"
}
],
"TotalPrice": 150000,
"PeriodBoundaryDay": null
},
{
"ProrationPolicy": null,
"Discount": null,
"ProductSellingModel": "0jPxx000000001dEAA",
"Product": "01txx0000006jjIAAQ",
"businessObjectType": "QuoteLineItem",
"BasisTransactionItem": null,
"PartnerUnitPrice": null,
"StartingUnitPriceSource": "System",
"ListPrice": 2000,
"ItemTotalAdjustmentAmount": 0,
"SalesTransactionItemSource": "0QLxx0000004CQnGAM",
675
Product Configurator Response Bodies
"SubscriptionTerm": null,
"StartDate": null,
"NetTotalPrice": 2000,
"TotalLineAmount": 2000,
"PeriodBoundaryStartMonth": null,
"ListPriceTotal": 2000,
"PartnerDiscountPercent": null,
"id": "0QLxx0000004CQnGAM",
"PriceWaterFall": {
"currencyCode": "USD",
"executionEndTimestamp": "023-09-18T20:11:15.016Z",
"executionId": "ruepwmHn2ZFvnQo5bjot",
"executionStartTimestamp": "2023-09-18T20:11:14.906Z",
"lineItemId": "0QLxx0000004CQnGAM",
"output": {
"NetUnitPrice": 2000,
"Subtotal": 0
},
"success": true,
"waterfall": [
{
"fieldToTagNameMapping": {
"NetUnitPrice": "ItemUnitPrice",
"AdjustmentValue": "ItemAdjustmentValue",
"Subtotal": "ItemTotalAdjustmentAmount",
"Quantity": "ItemQuantity",
"LineItemId": "SalesTransactionItemSource",
"InputUnitPrice": "ItemUnitPrice"
},
"inputParameters": {
"Quantity": 1,
"LineItemId": "0QLxx0000004CQnGAM",
"InputUnitPrice": 2000,
"AdjustmentType": "Amount"
},
"outputParameters": {
"NetUnitPrice": 2000,
"Subtotal": 0
},
"pricingElement": {
"adjustments": [
{}
],
"elementType": "MANUALDISCOUNT",
"name": "ManualDiscount"
},
"sequence": 1
}
]
},
"BillingFrequency": null,
"SalesTransactionItemParent": "0Q0xx0000004CAeCAM",
"StartingPriceTotal": 2000,
"Quantity": 1,
676
Product Configurator Response Bodies
"PeriodBoundary": null,
"EndDate": null,
"DiscountAmount": null,
"PricebookEntry": "01uxx000000913SAAQ",
"PricingTermCount": 1,
"NetUnitPrice": 2000,
"UnitPrice": 2000,
"StartingUnitPrice": 2000,
"TotalPrice": 2000,
"PeriodBoundaryDay": null
}
],
"BillingCountry": "US",
"BillingStreet": "415 Mission St",
"Pricebook": "01sxx0000005uDZAAY",
"ShippingPostalCode": "94105",
"SalesTransactionSource": "0Q0xx0000004CAeCAM",
"ShippingCountry": "US",
"ShippingCity": "San Francisco",
"ShippingState": "CA",
"BillingPostalCode": "94105",
"id": "0Q0xx0000004CAeCAM",
"BillToContact": null,
"Contract": null,
"BillingState": "CA"
}
]
},
"transactionContextId": "cda87acd-45ed-4913-903e-9dd33cec85a6",
"transactionContextMappingId": "11jxx0000004LwOAAU"
}
errors ConnectApi.ErrorResponse List of errors that contains a message and Small, 60.0 60.0
an error code.
messages Map<String, Messages from the validation, Business Rules Small, 60.0 60.0
Configurator Engine (BRE), or Salesforce Pricing calls.
Message>>
success Boolean Indicates whether the request is successful Small, 60.0 60.0
(true) or not (false).
677
Product Configurator Response Bodies
transaction Map<String, Map of the product IDs to the qualification Small, 60.0 60.0
Qualification Configurator context.
Qualification
Context>
uiTreatments Configurator UI Details of the UI treatments that specify the Small, 62.0 62.0
Treatment[] product configuration rule actions to
override the disable or hide behavior in the
UI for product options, product attributes,
and attribute picklist values.
success Boolean Indicates whether the call was successful Small, 60.0 60.0
(true) not (false).
678
Product Configurator Response Bodies
"uiTreatmentType": "Hide"
},
{
"details": {
"stiId": "ref_f0f2da7b_c431_482d_bf4b_599052f3a2e1"
},
"uiTreatmentScope": "Product",
"uiTreatmentTarget": "Component",
"uiTreatmentType": "Disable"
}
],
"contextId": "831f07b01cf0cbd2d046adf5350420f85f0611b4b1e22e183921a063857a1377",
"errors": [],
"productQualifications": {
"01tDU000000EOTCYA4": {
"isQualified": true
}
},
"success": true
}
configurator Configurator UI Details of the UI treatments that specify the Small, 62.0 62.0
UITreatments Treatment[] product configuration rule actions to
override the disable or hide behavior in the
UI for product options, product attributes,
and attribute picklist values.
errors Error Response List of errors, which contains an error code Small, 60.0 60.0
and a message.
product Map<String, Map of the product IDs to the execution Small, 60.0 60.0
Qualifications Configurator results from qualification rules.
Qualification
Context>
success Boolean Indicates whether the call was successful Small, 60.0 60.0
(true) not (false).
679
Product Configurator Response Bodies
JSON example
{
"savedConfigurations": [
{
"data":
"
{
&
q
u
ot
;
L
e
g
al
E
n
t
i
ty
&
q
u
o
t;
:
n
u
l,
&
q
u
ot
;
P
r
o
du
c
t
N
a
me
&
q
u
o
t;
:
&
q
u
ot
;
M
o
n
it
o
r
&
q
uo
t
;
,
&
qu
o
t
;
b
us
i
n
e
sO
b
j
e
ct
T
y
pe
&
qu
o
t
;:
&
q
u
o
t;
Q
u
o
t
eL
i
n
e
I
te
m
&
q
u
ot
;
,
&
q
uo
t
;
P
r
od
u
c
t
&q
u
o
t
;
:&
q
u
o
t
;0
1
t
x0006
i
2
a
AA
&
q
u
ot
;
,
&
q
uo
t
;
I
t
em
I
s
P
r
im
a
r
y
S
eg
m
e
n
t&
q
uo
t
;
:f
a
l
se
,
&q
u
o
t;
L
i
s
t
Pr
i
c
e
&
qu
o
t
;
:
14.
9,
&
q
u
o
t;
V
a
l
i
da
t
i
o
n
Re
s
u
l
t
&q
u
o
t
;
:n
u
l,
&
q
u
o
t;
S
t
a
r
tD
a
t
e
&
qu
o
t
;
:
nu
l,
&
q
u
o
t;
C
o
n
t
ra
c
t
V
o
lu
m
e
P
a
sI
d
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
B
i
li
n
g
T
r
ea
t
m
e
n
t&
q
u
o
t
;:
n
u
l,
&
q
u
o
t;
P
e
r
i
od
B
o
u
n
da
r
y
S
ta
r
t
M
o
nt
h
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
S
a
l
es
T
r
a
n
sa
c
t
i
on
S
o
u
r
ce
A
se
t
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
i
d
&
qu
o
t
;
:
&q
u
o
t
;
0Q
L
x0004
C
9
V
GA
U
&
q
u
ot
;
,
&
q
uo
t
;
P
a
rt
n
e
r
D
is
c
o
u
nt
P
e
r
c
en
t
&
q
u
ot
;
:
1
0
,&
q
u
o
t;
P
r
ic
e
Wa
t
e
rF
a
l&
q
u
o
t
;:
n
u
l,
&
q
u
o
t;
B
i
li
n
g
F
r
eq
u
e
n
c
y&
q
uo
t
;
:
n
ul,
&
q
u
o
t;
P
r
o
d
uc
t
C
o
d
e&
q
u
o
t;
:
&
q
u
ot
;
M
O
01
&
q
u
o
t;
,
&
q
u
ot
;
D
e
r
iv
e
d
P
r
ic
i
n
g
A
tr
i
b
u
te
&
q
u
o
t;
:
f
a
l
se
,
&
q
u
ot
;
T
a
x
Tr
e
a
t
m
en
t
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
S
u
b
to
t
a
l
&
qu
o
t
;
:
17
3
9
.
8,
&
q
uo
t
;I
t
e
mR
a
m
pI
d
e
n
t
if
i
e
r
&
qu
o
t
;
:
nu
l,
&
q
u
o
t;
I
t
e
mS
e
g
m
e
nt
N
a
m
e
&q
u
o
t
;
:n
u
l,
&
q
u
o
t;
S
a
l
e
sT
r
a
n
s
ac
t
i
o
nI
t
e
m
A
tr
i
b
u
te
&
q
uo
t
;
:[
{
&q
u
o
t;
A
tr
i
b
u
t
eK
e
y
&
q
uo
t
;
:
&
qu
o
t
;
0t
j
x00000
1AA
&
q
u
o
t;
,
&
q
u
ot
;
A
tr
i
b
u
t
eV
a
l
u
e
&q
u
o
t
;
:&
q
u
o
t
;1
0
8
0
p
Built-in
D
i
s
pl
a
y&
q
uo
t
;,
&
q
uo
t
;P
a
re
n
tR
e
f
er
e
nc
e
&q
u
o
t;
:
&q
u
ot
;
0Q
L
x0004
C
9V
G
AU
&
q
uo
t
;,
&
qu
o
t
;A
tr
i
bu
t
eP
i
cklis
t
Va
l
u
e&
q
uo
t
;:
&
qu
o
t
;0
v
6x00000
1
AA
&q
u
o
t ;
,&
q
u
ot
;
Is
P
ri
c
e
Im
p
ac
ti
n
g
&q
u
ot
;
:f
a
l
se,
&
q
uo
t
;b
u
si
n
e
sO
bj
e
ct
T
y
pe
&
qu
o
t;
:
&
qu
o
t;
Q
uo
t
eL
i
ne
I
t
em
A
tr
ib
u
te
&
q
uo
t
;,
&
qu
o
t
;A
tr
i
bu
te
N
am
e
&
qu
o
t;
:
&
qu
o
t;
D
is
play&
q
u
ot
;
,&
q
uo
t
;i
d
&
qu
o
t;
:
&q
u
ot
;
0
zu
x00000
F
AQ
&q
u
ot
;
,&
q
uo
t
;
Atr
i
but
e
De
f
in
i
t
io
n
Co
d
e&
q
uo
t
;
:n
u
l,
&q
u
o
t;
S
al
e
sT
r
a
ns
a
ct
i
on
I
t
em
A
tr
Pa
r
e
nt
&
qu
o
t;
:
&
qu
o
t;
0
QL
x0004
C
9V
G
AU
&
q
uot
;
}
,{
&
qu
o
t;
A
tr
ib
u
te
K
ey
&
qu
o
t
;:
&
qu
o
t;
0
tj
x00000
9
AA
&q
u
o
t;
,
&q
uot;Atri
b
ut
e
Va
l
ue
&
qu
o
t
;:
&
qu
o
t;
2
4
I
n
c
h
&
q
u
o
t
;
,
&
q
u
o
t;
P
a
r
e
n
t
R
f
e
r
n
c&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
A
U&
q
u
o
t
;
,
&
q
u
o
t
;
Ar
i
b
u
t
e
P
i
c
k
l
s
t
Va
l
u
e
&
q
o
t
;
:
&
q
u
o
t;
0
v
6
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
I
s
P
r
i
c
e
I
m
p
a
ct
i
n
g
&
q
u
o
t
;
:
f
a
l
s
e,
&
q
u
o
t
;
b
s
i
n
eO
b
j
e
c
t
T
y
p
e
&
q
u
o
t
;:
&
q
u
o
t
;
Q
e
L
i
nI
t
e
m
A
r
i
b
u
t
e
&
qo
t
;
,
&
q
u
o
t
;
A
r
ib
u
t
e
N
a
m
&
q
u
o
t
;
:
&q
u
o
t
;
D
i
s
p
l
a
y
_
S
iz
e
&
q
u
o
t
;
,
&
q
u
o
t
;
id
&
q
u
o
t
;
:
&
q
u
o
t
;
0z
u
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
A
r
i
b
u
t
e
D
fi
n
t
o
C
d
e
&
q
u
o
t;
:
n
u
l
,
&
q
u
o
t
;
S
al
e
s
T
r
a
n
c
t
i
o
n
Ie
m
A
t
r
P
a
e
n
t
&
q
uo
;
:
&
q
u
o
t
;
0
Q
L
x0
4
C
9
V
G
A
U
&
q
uo
t
;
}
]
,
&
q
u
o
t
;
P
r
i
ce
b
o
k
E
n
t
r
y
&
q
u
o
t;
:
&
q
u
o
t
;
0
1
u
x
08
y
X
0
A
I
&
q
u
o
t;
,
&
q
u
o
t
;
D
i
s
c
o
u
n
tA
m
o
u
n
t
&
q
o
;
:
n
ul
,
&
q
u
o
t
;
P
r
i
c
n
gT
e
r
m
C
o
u
n
t
&
q
o
;:
0
,
&
q
u
o
t
;
S
b
s
c
r
ip
t
o
n
T
e
r
m
U
n
i
t
&
qu
o
;
:
n
u
l
,
&
q
u
o
t
;N
e
U
n
i
t
P
r
c
e
&
q
uo
t
;
:
1
4
.
9
,
&
q
u
o
t;
I
e
m
E
f
c
t
i
v
e
Gr
a
n
t
D
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
d
uc
t
C
a
e
g
o
r
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
S
a
le
s
T
r
a
n
c
t
i
o
n
A
c
ti
o
n
&
q
u
t
;
:
n
u
l
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
A
c
t
i
o
n
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
a
l
e
s
T
r
a
n
ct
i
o
n
I
e
m
G
r
o
u
p
&
qo
t
;
:
n
u
l
,
&
q
u
o
t
;P
e
r
i
o
d
B
u
n
a
r
y
D&
q
u
o
t
;
:
n
u
l
,
&
qu
o
t
;
S
a
l
e
s
T
r
x
n
I
t
em
D
s
c
r
i
p
t
o
n
&
q
ut
;
:
n
u
l
,
&
q
u
o
t
;
Li
n
e
I
t
m
D
i
s
t
r
b
ui
o
n
T
y
p
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
a
ti
o
n
P
l
i
c
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
nr
a
c
t
D
i
s
o
u
n
t
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
T
r
a
n
s
c
t
i
o
n
Ty
p
e
&
q
u
o
t
;
:
n
u
l
,
&q
u
o
t
;
P
a
r
e
n
t
R
f
er
n
c
&
q
u
o
t
;
:
&
q
u
ot
;
0
Q
x
0
4
C9
2
A
E
&
q
u
o
t
;
,
&
q
u
ot
;
D
i
s
c
o
u
n
t
&
q
o;
:
n
u
l
,
&
q
u
o
t
;
P
r
ic
n
g
T
e
r
m
U
n
i
t
&
q
uo
;
:
n
u
l
,
&
q
u
o
t
;
Pr
d
u
c
t
S
e
l
i
n
g
M
od
e
l
&
q
u
o
t
;
:
&
q
u
o
t
;0
j
P
x
00
1
E
A
&
q
u
o
t
;
,
&
q
uo
t
;
P
r
i
c
n
g
S
o
u
r
ce
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
c
k
K
e
p
i
n
gU
t
&
q
u
o
;
:
n
u
l
,&
q
u
o
t
;
P
a
r
n
e
Ui
t
P
r
c
e
&
q
u
o
t
;
:
1
30
.
4
9
1
,
&
q
u
o
t
;
I
em
T
o
t
a
l
A
d
j
u
s
t
m
e
nA
o
u
n
t
&
q
o
;
:
0
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
I
e
m
S
o
u
r
ce
&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
,
&
q
u
o
t
;
Cn
r
a
c
t
A
r
i
b
u
t
eP
a
s
I
d
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
b
s
c
r
i
pt
o
n
T
e
r
m
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
S
e
l
in
g
M
o
d
e
l
T
y
p
&
q
u
o
t;
:
&
q
u
o
t
;
O
n
e
T
i
m&
q
u
o
t
;
,
&
q
u
o
t
;
E
n
dQ
u
a
t
i
y
&
q
u
o
t
;
:1
2
,
&
q
u
o
t
;
N
e
T
o
t
al
P
r
i
c
e
&
q
u
o
t
;
:
1
73
9
.
8
,
&
q
u
o
t
;
T
al
L
i
n
e
A
m
o
u
n
t
&
q
o;
:
1
7
3
9
.
8
,
&
q
u
o
t;
I
e
m
S
g
e
n
t
T
y
p
e&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
P
r
d
u
c
t
B
a
s
e
d
On
&
q
u
o
t
;
:
&
q
u
o
t
;
1B
x
0
2
C
1
n
q
E
AC
&
u
o
t
;
,
&
q
u
o
t
;
D
el
t
d
&
q
u
o
t
;
:
f
a
ls
e
,
&
q
u
o
t
;
B
i
l
n
gR
e
f
r
n
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
A
r
e
Pa
t
i
l
P
e
r
i
o
d
s
A
lo
w
e
d
&
q
u
o
t
;
:
f
a
l
se
,
&
q
u
o
t
;
I
e
m
R
c
or
d
e
P
i
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
so
m
P
r
d
u
c
t
N
a
m
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
S
g
e
n
t
I
di
f
e
r
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
a
l
e
s
T
r
an
c
t
i
o
n
I
e
m
P
a
rn
t
&
q
u
o
;
:
&
q
u
o
t
;0
Q
x
0
4
C
9
2A
E
&
q
u
o
t
;
,
&
q
u
o
t
;Q
a
n
t
i
y
&
q
u
o
t
;
:
12
,
&
q
u
o
t
;
P
e
r
i
o
d
Bu
n
a
r
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
a
ct
D
i
s
o
u
n
t
V
a
l
u
e
&q
o
t
;
:
n
u
l
,
&
q
u
o
t;
L
i
n
e
I
t
m
D
i
s
c
o
un
t
V
a
l
u
e
&
q
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
I
d
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
E
n
d
D
a
t
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
G
r
o
u
p
S
m
a
ry
S
u
b
t
o
a
l
&
q
u
o
t
;
:n
u
l
,
&
q
u
o
t
;
I
s
C
on
t
r
a
c
e
d
&
q
u
o
t
;
:
fa
l
s
e
,
&
q
u
o
t
;
U
n
iP
r
c
e
&
q
u
o
t
;
:
1
4
.9
,
&
q
u
o
t
;
S
a
r
t
Qu
n
i
t
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
P
i
e
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
T
a
l
Pr
i
c
e
&
q
u
o
t
;
:
1
7
3
9
.8
,
&
q
u
o
t
;
L
i
n
e
I
tm
D
i
s
c
o
u
n
t
T
y
p
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
P
a
t
h
&
q
u
o
t
;
:&
q
u
o
t
;
0
1
x
06
i
2
a
A
&
q
u
o
t
;
,&
q
u
o
t
;
p
r
d
u
c
t
K
e
y&
q
u
o
t
;
:
[
&
q
u
o
t
;
0Q
L
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
]
}
"
,
I
n
c
h
&
q
u
o
t
;
,
&
q
u
o
t;
P
a
r
e
n
t
R
f
e
r
n
c&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
A
U&
q
u
o
t
;
,
&
q
u
o
t
;
Ar
i
b
u
t
e
P
i
c
k
l
s
t
Va
l
u
e
&
q
o
t
;
:
&
q
u
o
t;
0
v
6
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
I
s
P
r
i
c
e
I
m
p
a
ct
i
n
g
&
q
u
o
t
;
:
f
a
l
s
e,
&
q
u
o
t
;
b
s
i
n
eO
b
j
e
c
t
T
y
p
e
&
q
u
o
t
;:
&
q
u
o
t
;
Q
e
L
i
nI
t
e
m
A
r
i
b
u
t
e
&
qo
t
;
,
&
q
u
o
t
;
A
r
ib
u
t
e
N
a
m
&
q
u
o
t
;
:
&q
u
o
t
;
D
i
s
p
l
a
y
_
S
iz
e
&
q
u
o
t
;
,
&
q
u
o
t
;
id
&
q
u
o
t
;
:
&
q
u
o
t
;
0z
u
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
A
r
i
b
u
t
e
D
fi
n
t
o
C
d
e
&
q
u
o
t;
:
n
u
l
,
&
q
u
o
t
;
S
al
e
s
T
r
a
n
c
t
i
o
n
Ie
m
A
t
r
P
a
e
n
t
&
q
uo
;
:
&
q
u
o
t
;
0
Q
L
x0
4
C
9
V
G
A
U
&
q
uo
t
;
}
]
,
&
q
u
o
t
;
P
r
i
ce
b
o
k
E
n
t
r
y
&
q
u
o
t;
:
&
q
u
o
t
;
0
1
u
x
08
y
X
0
A
I
&
q
u
o
t;
,
&
q
u
o
t
;
D
i
s
c
o
u
n
tA
m
o
u
n
t
&
q
o
;
:
n
ul
,
&
q
u
o
t
;
P
r
i
c
n
gT
e
r
m
C
o
u
n
t
&
q
o
;:
0
,
&
q
u
o
t
;
S
b
s
c
r
ip
t
o
n
T
e
r
m
U
n
i
t
&
qu
o
;
:
n
u
l
,
&
q
u
o
t
;N
e
U
n
i
t
P
r
c
e
&
q
uo
t
;
:
1
4
.
9
,
&
q
u
o
t;
I
e
m
E
f
c
t
i
v
e
Gr
a
n
t
D
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
d
uc
t
C
a
e
g
o
r
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
S
a
le
s
T
r
a
n
c
t
i
o
n
A
c
ti
o
n
&
q
u
t
;
:
n
u
l
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
A
c
t
i
o
n
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
a
l
e
s
T
r
a
n
ct
i
o
n
I
e
m
G
r
o
u
p
&
qo
t
;
:
n
u
l
,
&
q
u
o
t
;P
e
r
i
o
d
B
u
n
a
r
y
D&
q
u
o
t
;
:
n
u
l
,
&
qu
o
t
;
S
a
l
e
s
T
r
x
n
I
t
em
D
s
c
r
i
p
t
o
n
&
q
ut
;
:
n
u
l
,
&
q
u
o
t
;
Li
n
e
I
t
m
D
i
s
t
r
b
ui
o
n
T
y
p
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
a
ti
o
n
P
l
i
c
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
nr
a
c
t
D
i
s
o
u
n
t
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
T
r
a
n
s
c
t
i
o
n
Ty
p
e
&
q
u
o
t
;
:
n
u
l
,
&q
u
o
t
;
P
a
r
e
n
t
R
f
er
n
c
&
q
u
o
t
;
:
&
q
u
ot
;
0
Q
x
0
4
C9
2
A
E
&
q
u
o
t
;
,
&
q
u
ot
;
D
i
s
c
o
u
n
t
&
q
o;
:
n
u
l
,
&
q
u
o
t
;
P
r
ic
n
g
T
e
r
m
U
n
i
t
&
q
uo
;
:
n
u
l
,
&
q
u
o
t
;
Pr
d
u
c
t
S
e
l
i
n
g
M
od
e
l
&
q
u
o
t
;
:
&
q
u
o
t
;0
j
P
x
00
1
E
A
&
q
u
o
t
;
,
&
q
uo
t
;
P
r
i
c
n
g
S
o
u
r
ce
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
c
k
K
e
p
i
n
gU
t
&
q
u
o
;
:
n
u
l
,&
q
u
o
t
;
P
a
r
n
e
Ui
t
P
r
c
e
&
q
u
o
t
;
:
1
30
.
4
9
1
,
&
q
u
o
t
;
I
em
T
o
t
a
l
A
d
j
u
s
t
m
e
nA
o
u
n
t
&
q
o
;
:
0
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
I
e
m
S
o
u
r
ce
&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
,
&
q
u
o
t
;
Cn
r
a
c
t
A
r
i
b
u
t
eP
a
s
I
d
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
b
s
c
r
i
pt
o
n
T
e
r
m
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
S
e
l
in
g
M
o
d
e
l
T
y
p
&
q
u
o
t;
:
&
q
u
o
t
;
O
n
e
T
i
m&
q
u
o
t
;
,
&
q
u
o
t
;
E
n
dQ
u
a
t
i
y
&
q
u
o
t
;
:1
2
,
&
q
u
o
t
;
N
e
T
o
t
al
P
r
i
c
e
&
q
u
o
t
;
:
1
73
9
.
8
,
&
q
u
o
t
;
T
al
L
i
n
e
A
m
o
u
n
t
&
q
o;
:
1
7
3
9
.
8
,
&
q
u
o
t;
I
e
m
S
g
e
n
t
T
y
p
e&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
P
r
d
u
c
t
B
a
s
e
d
On
&
q
u
o
t
;
:
&
q
u
o
t
;
1B
x
0
2
C
1
n
q
E
AC
&
u
o
t
;
,
&
q
u
o
t
;
D
el
t
d
&
q
u
o
t
;
:
f
a
ls
e
,
&
q
u
o
t
;
B
i
l
n
gR
e
f
r
n
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
A
r
e
Pa
t
i
l
P
e
r
i
o
d
s
A
lo
w
e
d
&
q
u
o
t
;
:
f
a
l
se
,
&
q
u
o
t
;
I
e
m
R
c
or
d
e
P
i
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
so
m
P
r
d
u
c
t
N
a
m
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
S
g
e
n
t
I
di
f
e
r
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
a
l
e
s
T
r
an
c
t
i
o
n
I
e
m
P
a
rn
t
&
q
u
o
;
:
&
q
u
o
t
;0
Q
x
0
4
C
9
2A
E
&
q
u
o
t
;
,
&
q
u
o
t
;Q
a
n
t
i
y
&
q
u
o
t
;
:
12
,
&
q
u
o
t
;
P
e
r
i
o
d
Bu
n
a
r
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
a
ct
D
i
s
o
u
n
t
V
a
l
u
e
&q
o
t
;
:
n
u
l
,
&
q
u
o
t;
L
i
n
e
I
t
m
D
i
s
c
o
un
t
V
a
l
u
e
&
q
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
I
d
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
E
n
d
D
a
t
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
G
r
o
u
p
S
m
a
ry
S
u
b
t
o
a
l
&
q
u
o
t
;
:n
u
l
,
&
q
u
o
t
;
I
s
C
on
t
r
a
c
e
d
&
q
u
o
t
;
:
fa
l
s
e
,
&
q
u
o
t
;
U
n
iP
r
c
e
&
q
u
o
t
;
:
1
4
.9
,
&
q
u
o
t
;
S
a
r
t
Qu
n
i
t
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
P
i
e
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
T
a
l
Pr
i
c
e
&
q
u
o
t
;
:
1
7
3
9
.8
,
&
q
u
o
t
;
L
i
n
e
I
tm
D
i
s
c
o
u
n
t
T
y
p
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
P
a
t
h
&
q
u
o
t
;
:&
q
u
o
t
;
0
1
x
06
i
2
a
A
&
q
u
o
t
;
,&
q
u
o
t
;
p
r
d
u
c
t
K
e
y&
q
u
o
t
;
:
[
&
q
u
o
t
;
0Q
L
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
]
}
"
,
referenceRecord String ID of the record that the saved configuration Small, 63.0 63.0
Id belongs to.
680
Product Configurator Response Bodies
JSON example
This example shows a sample when the save operation is successful.
{
"errors": [],
"id": "1Nyxx0000004CNYCA2"
}
This example shows a sample when the save operation has errors.
{
"errors": [{
"code": "INTERNAL_SERVER_ERROR",
"message": "INVALID_REFERENCEOBJECTID"
}]
}
Configuration List
Output representation of the details of the saved configuration.
JSON example
{
"errors": [],
"savedConfigurations": [
{
"data":
"
{
&
q
u
ot
;
L
e
g
al
E
n
t
i
ty
&
q
u
o
t;
:
n
u
l,
&
q
u
ot
;
P
r
o
du
c
t
N
a
me
&
q
u
o
t;
:
&
q
u
ot
;
M
o
n
it
o
r
&
q
uo
t
;
,
&
qu
o
t
;
b
us
i
n
e
sO
b
j
e
ct
T
y
pe
&
qu
o
t
;:
&
q
u
o
t;
Q
u
o
t
eL
i
n
e
I
te
m
&
q
u
ot
;
,
&
q
uo
t
;
P
r
od
u
c
t
&q
u
o
t
;
:&
q
u
o
t
;0
1
t
x0006
i
2
a
AA
&
q
u
ot
;
,
&
q
uo
t
;
I
t
em
I
s
P
r
im
a
r
y
S
eg
m
e
n
t&
q
uo
t
;
:f
a
l
se
,
&q
u
o
t;
L
i
s
t
Pr
i
c
e
&
qu
o
t
;
:
14.
9,
&
q
u
o
t;
V
a
l
i
da
t
i
o
n
Re
s
u
l
t
&q
u
o
t
;
:n
u
l,
&
q
u
o
t;
S
t
a
r
tD
a
t
e
&
qu
o
t
;
:
nu
l,
&
q
u
o
t;
C
o
n
t
ra
c
t
V
o
lu
m
e
P
a
sI
d
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
B
i
li
n
g
T
r
ea
t
m
e
n
t&
q
u
o
t
;:
n
u
l,
&
q
u
o
t;
P
e
r
i
od
B
o
u
n
da
r
y
S
ta
r
t
M
o
nt
h
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
S
a
l
es
T
r
a
n
sa
c
t
i
on
S
o
u
r
ce
A
se
t
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
i
d
&
qu
o
t
;
:
&q
u
o
t
;
0Q
L
x0004
C
9
V
GA
U
&
q
u
ot
;
,
&
q
uo
t
;
P
a
rt
n
e
r
D
is
c
o
u
nt
P
e
r
c
en
t
&
q
u
ot
;
:
1
0
,&
q
u
o
t;
P
r
ic
e
Wa
t
e
rF
a
l&
q
u
o
t
;:
n
u
l,
&
q
u
o
t;
B
i
li
n
g
F
r
eq
u
e
n
c
y&
q
uo
t
;
:
n
ul,
&
q
u
o
t;
P
r
o
d
uc
t
C
o
d
e&
q
u
o
t;
:
&
q
u
ot
;
M
O
01
&
q
u
o
t;
,
&
q
u
ot
;
D
e
r
iv
e
d
P
r
ic
i
n
g
A
tr
i
b
u
te
&
q
u
o
t;
:
f
a
l
se
,
&
q
u
ot
;
T
a
x
Tr
e
a
t
m
en
t
&
q
u
ot
;
:
n
u
l,
&
q
u
ot
;
S
u
b
to
t
a
l
&
qu
o
t
;
:
17
3
9
.
8,
&
q
uo
t
;I
t
e
mR
a
m
pI
d
e
n
t
if
i
e
r
&
qu
o
t
;
:
nu
l,
&
q
u
o
t;
I
t
e
mS
e
g
m
e
nt
N
a
m
e
&q
u
o
t
;
:n
u
l,
&
q
u
o
t;
S
a
l
e
sT
r
a
n
s
ac
t
i
o
nI
t
e
m
A
tr
i
b
u
te
&
q
uo
t
;
:[
{
&q
u
o
t;
A
tr
i
b
u
t
eK
e
y
&
q
uo
t
;
:
&
qu
o
t
;
0t
j
x00000
1AA
&
q
u
o
t;
,
&
q
u
ot
;
A
tr
i
b
u
t
eV
a
l
u
e
&q
u
o
t
;
:&
q
u
o
t
;1
0
8
0
p
Built-in
D
i
s
pl
a
y&
q
uo
t
;,
&
q
uo
t
;P
a
re
n
tR
e
f
er
e
nc
e
&q
u
o
t;
:
&q
u
ot
;
0Q
L
x0004
C
9V
G
AU
&
q
uo
t
;,
&
qu
o
t
;A
tr
i
bu
t
eP
i
cklis
t
Va
l
u
e&
q
uo
t
;:
&
qu
o
t
;0
v
6x00000
1
AA
&q
u
o
t ;
,&
q
u
ot
;
Is
P
ri
c
e
Im
p
ac
ti
n
g
&q
u
ot
;
:f
a
l
se,
&
q
uo
t
;b
u
si
n
e
sO
bj
e
ct
T
y
pe
&
qu
o
t;
:
&
qu
o
t;
Q
uo
t
eL
i
ne
I
t
em
A
tr
ib
u
te
&
q
uo
t
;,
&
qu
o
t
;A
tr
i
bu
te
N
am
e
&
qu
o
t;
:
&
qu
o
t;
D
is
play&
q
u
ot
;
,&
q
uo
t
;i
d
&
qu
o
t;
:
&q
u
ot
;
0
zu
x00000
F
AQ
&q
u
ot
;
,&
q
uo
t
;
Atr
i
but
e
De
f
in
i
t
io
n
Co
d
e&
q
uo
t
;
:n
u
l,
&q
u
o
t;
S
al
e
sT
r
a
ns
a
ct
i
on
I
t
em
A
tr
Pa
r
e
nt
&
qu
o
t;
:
&
qu
o
t;
0
QL
x0004
C
9V
G
AU
&
q
uot
;
}
,{
&
qu
o
t;
A
tr
ib
u
te
K
ey
&
qu
o
t
;:
&
qu
o
t;
0
tj
x00000
9
AA
&q
u
o
t;
,
&q
uot;Atri
b
ut
e
Va
l
ue
&
qu
o
t
;:
&
qu
o
t;
2
4
I
n
c
h
&
q
u
o
t
;
,
&
q
u
o
t;
P
a
r
e
n
t
R
f
e
r
n
c&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
A
U&
q
u
o
t
;
,
&
q
u
o
t
;
Ar
i
b
u
t
e
P
i
c
k
l
s
t
Va
l
u
e
&
q
o
t
;
:
&
q
u
o
t;
0
v
6
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
I
s
P
r
i
c
e
I
m
p
a
ct
i
n
g
&
q
u
o
t
;
:
f
a
l
s
e,
&
q
u
o
t
;
b
s
i
n
eO
b
j
e
c
t
T
y
p
e
&
q
u
o
t
;:
&
q
u
o
t
;
Q
e
L
i
nI
t
e
m
A
r
i
b
u
t
e
&
qo
t
;
,
&
q
u
o
t
;
A
r
ib
u
t
e
N
a
m
&
q
u
o
t
;
:
&q
u
o
t
;
D
i
s
p
l
a
y
_
S
iz
e
&
q
u
o
t
;
,
&
q
u
o
t
;
id
&
q
u
o
t
;
:
&
q
u
o
t
;
0z
u
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
A
r
i
b
u
t
e
D
fi
n
t
o
C
d
e
&
q
u
o
t;
:
n
u
l
,
&
q
u
o
t
;
S
al
e
s
T
r
a
n
c
t
i
o
n
Ie
m
A
t
r
P
a
e
n
t
&
q
uo
;
:
&
q
u
o
t
;
0
Q
L
x0
4
C
9
V
G
A
U
&
q
uo
t
;
}
]
,
&
q
u
o
t
;
P
r
i
ce
b
o
k
E
n
t
r
y
&
q
u
o
t;
:
&
q
u
o
t
;
0
1
u
x
08
y
X
0
A
I
&
q
u
o
t;
,
&
q
u
o
t
;
D
i
s
c
o
u
n
tA
m
o
u
n
t
&
q
o
;
:
n
ul
,
&
q
u
o
t
;
P
r
i
c
n
gT
e
r
m
C
o
u
n
t
&
q
o
;:
0
,
&
q
u
o
t
;
S
b
s
c
r
ip
t
o
n
T
e
r
m
U
n
i
t
&
qu
o
;
:
n
u
l
,
&
q
u
o
t
;N
e
U
n
i
t
P
r
c
e
&
q
uo
t
;
:
1
4
.
9
,
&
q
u
o
t;
I
e
m
E
f
c
t
i
v
e
Gr
a
n
t
D
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
d
uc
t
C
a
e
g
o
r
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
S
a
le
s
T
r
a
n
c
t
i
o
n
A
c
ti
o
n
&
q
u
t
;
:
n
u
l
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
A
c
t
i
o
n
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
a
l
e
s
T
r
a
n
ct
i
o
n
I
e
m
G
r
o
u
p
&
qo
t
;
:
n
u
l
,
&
q
u
o
t
;P
e
r
i
o
d
B
u
n
a
r
y
D&
q
u
o
t
;
:
n
u
l
,
&
qu
o
t
;
S
a
l
e
s
T
r
x
n
I
t
em
D
s
c
r
i
p
t
o
n
&
q
ut
;
:
n
u
l
,
&
q
u
o
t
;
Li
n
e
I
t
m
D
i
s
t
r
b
ui
o
n
T
y
p
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
a
ti
o
n
P
l
i
c
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
nr
a
c
t
D
i
s
o
u
n
t
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
T
r
a
n
s
c
t
i
o
n
Ty
p
e
&
q
u
o
t
;
:
n
u
l
,
&q
u
o
t
;
P
a
r
e
n
t
R
f
er
n
c
&
q
u
o
t
;
:
&
q
u
ot
;
0
Q
x
0
4
C9
2
A
E
&
q
u
o
t
;
,
&
q
u
ot
;
D
i
s
c
o
u
n
t
&
q
o;
:
n
u
l
,
&
q
u
o
t
;
P
r
ic
n
g
T
e
r
m
U
n
i
t
&
q
uo
;
:
n
u
l
,
&
q
u
o
t
;
Pr
d
u
c
t
S
e
l
i
n
g
M
od
e
l
&
q
u
o
t
;
:
&
q
u
o
t
;0
j
P
x
00
1
E
A
&
q
u
o
t
;
,
&
q
uo
t
;
P
r
i
c
n
g
S
o
u
r
ce
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
c
k
K
e
p
i
n
gU
t
&
q
u
o
;
:
n
u
l
,&
q
u
o
t
;
P
a
r
n
e
Ui
t
P
r
c
e
&
q
u
o
t
;
:
1
30
.
4
9
1
,
&
q
u
o
t
;
I
em
T
o
t
a
l
A
d
j
u
s
t
m
e
nA
o
u
n
t
&
q
o
;
:
0
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
I
e
m
S
o
u
r
ce
&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
,
&
q
u
o
t
;
Cn
r
a
c
t
A
r
i
b
u
t
eP
a
s
I
d
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
b
s
c
r
i
pt
o
n
T
e
r
m
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
S
e
l
in
g
M
o
d
e
l
T
y
p
&
q
u
o
t;
:
&
q
u
o
t
;
O
n
e
T
i
m&
q
u
o
t
;
,
&
q
u
o
t
;
E
n
dQ
u
a
t
i
y
&
q
u
o
t
;
:1
2
,
&
q
u
o
t
;
N
e
T
o
t
al
P
r
i
c
e
&
q
u
o
t
;
:
1
73
9
.
8
,
&
q
u
o
t
;
T
al
L
i
n
e
A
m
o
u
n
t
&
q
o;
:
1
7
3
9
.
8
,
&
q
u
o
t;
I
e
m
S
g
e
n
t
T
y
p
e&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
P
r
d
u
c
t
B
a
s
e
d
On
&
q
u
o
t
;
:
&
q
u
o
t
;
1B
x
0
2
C
1
n
q
E
AC
&
u
o
t
;
,
&
q
u
o
t
;
D
el
t
d
&
q
u
o
t
;
:
f
a
ls
e
,
&
q
u
o
t
;
B
i
l
n
gR
e
f
r
n
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
A
r
e
Pa
t
i
l
P
e
r
i
o
d
s
A
lo
w
e
d
&
q
u
o
t
;
:
f
a
l
se
,
&
q
u
o
t
;
I
e
m
R
c
or
d
e
P
i
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
so
m
P
r
d
u
c
t
N
a
m
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
S
g
e
n
t
I
di
f
e
r
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
a
l
e
s
T
r
an
c
t
i
o
n
I
e
m
P
a
rn
t
&
q
u
o
;
:
&
q
u
o
t
;0
Q
x
0
4
C
9
2A
E
&
q
u
o
t
;
,
&
q
u
o
t
;Q
a
n
t
i
y
&
q
u
o
t
;
:
12
,
&
q
u
o
t
;
P
e
r
i
o
d
Bu
n
a
r
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
a
ct
D
i
s
o
u
n
t
V
a
l
u
e
&q
o
t
;
:
n
u
l
,
&
q
u
o
t;
L
i
n
e
I
t
m
D
i
s
c
o
un
t
V
a
l
u
e
&
q
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
I
d
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
E
n
d
D
a
t
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
G
r
o
u
p
S
m
a
ry
S
u
b
t
o
a
l
&
q
u
o
t
;
:n
u
l
,
&
q
u
o
t
;
I
s
C
on
t
r
a
c
e
d
&
q
u
o
t
;
:
fa
l
s
e
,
&
q
u
o
t
;
U
n
iP
r
c
e
&
q
u
o
t
;
:
1
4
.9
,
&
q
u
o
t
;
S
a
r
t
Qu
n
i
t
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
P
i
e
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
T
a
l
Pr
i
c
e
&
q
u
o
t
;
:
1
7
3
9
.8
,
&
q
u
o
t
;
L
i
n
e
I
tm
D
i
s
c
o
u
n
t
T
y
p
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
P
a
t
h
&
q
u
o
t
;
:&
q
u
o
t
;
0
1
x
06
i
2
a
A
&
q
u
o
t
;
,&
q
u
o
t
;
p
r
d
u
c
t
K
e
y&
q
u
o
t
;
:
[
&
q
u
o
t
;
0Q
L
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
]
}
"
,
681
Product Configurator Response Bodies
D
i
s
pl
a
y&
q
u
ot
;
,&
q
u
ot
;
Pa
r
e
nt
R
ef
e
r
en
c
e&
q
u
ot
;
:&
q
u
ot
;
0Q
L
x0004
C
9
VG
A
U&
q
u
ot
;
,&
q
u
ot
;
Atr
i
b
ut
e
Pi
c
k
li
s
tV
a
l
ue
&
qu
o
t
;:
&
qu
o
t
;0
v
6x00000
1
AA
&
qu
o
t
;,
&
qu
o
t
;I
s
Pr
i
c
eI
m
pa
c
t
in
g
&q
u
o
t;
:
fa
l
s
e,
&
qu
o
t
;b
u
si
n
e
sO
bj
e
c
tT
y
pe
&
q
uo
t
;:
&
q
uo
t
;Q
u
o
te
L
in
e
I
te
m
Atr
i
b
ut
e
&q
u
o
t;
,
&q
u
o
t;
A
tr
i
bu
t
e
Na
m
e&
q
u
ot
;
:&
q
u
ot
;
Di
s
p
la
y
&q
u
o
t;
,
&q
u
o
t;
i
d&
q
u
ot
;
:&
q
u
ot
;
0z
u
x00000
F
AQ
&
qu
o
t
;,
&
qu
o
t
;A
tr
i
b
ut
e
De
f
i
ni
t
io
n
C
od
e
&q
u
o
t;
:
nu
l,
&
q
uo
t
;S
a
l
es
T
ra
n
s
ac
t
io
n
I
te
m
Atr
P
a
re
n
t&
q
u
ot
;
:&
q
u
ot
;
0Q
L
x0004
C
9
VG
A
U&
q
u
ot
;
},
{
&
qu
o
t;
A
tr
i
bu
t
e
Ke
y
&q
u
o
t;
:
&q
u
o
t;
0
tj
x00000
9
AA
&
qu
o
t
;,
&
qu
o
t
;A
tr
i
b
ut
e
Va
l
u
e&
q
uo
t
;
:&
q
uo
t
;
24
I
n
c
h
&
q
u
o
t
;
,
&
q
u
o
t;
P
a
r
e
n
t
R
f
e
r
n
c&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
A
U&
q
u
o
t
;
,
&
q
u
o
t
;
Ar
i
b
u
t
e
P
i
c
k
l
s
t
Va
l
u
e
&
q
o
t
;
:
&
q
u
o
t;
0
v
6
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
I
s
P
r
i
c
e
I
m
p
a
ct
i
n
g
&
q
u
o
t
;
:
f
a
l
s
e,
&
q
u
o
t
;
b
s
i
n
eO
b
j
e
c
t
T
y
p
e
&
q
u
o
t
;:
&
q
u
o
t
;
Q
e
L
i
nI
t
e
m
A
r
i
b
u
t
e
&
qo
t
;
,
&
q
u
o
t
;
A
r
ib
u
t
e
N
a
m
&
q
u
o
t
;
:
&q
u
o
t
;
D
i
s
p
l
a
y
_
S
iz
e
&
q
u
o
t
;
,
&
q
u
o
t
;
id
&
q
u
o
t
;
:
&
q
u
o
t
;
0z
u
x
00
G
A
Q
&
q
u
o
t
;
,
&
q
uo
t
;
A
r
i
b
u
t
e
D
fi
n
t
o
C
d
e
&
q
u
o
t;
:
n
u
l
,
&
q
u
o
t
;
S
al
e
s
T
r
a
n
c
t
i
o
n
Ie
m
A
t
r
P
a
e
n
t
&
q
uo
;
:
&
q
u
o
t
;
0
Q
L
x0
4
C
9
V
G
A
U
&
q
uo
t
;
}
]
,
&
q
u
o
t
;
P
r
i
ce
b
o
k
E
n
t
r
y
&
q
u
o
t;
:
&
q
u
o
t
;
0
1
u
x
08
y
X
0
A
I
&
q
u
o
t;
,
&
q
u
o
t
;
D
i
s
c
o
u
n
tA
m
o
u
n
t
&
q
o
;
:
n
ul
,
&
q
u
o
t
;
P
r
i
c
n
gT
e
r
m
C
o
u
n
t
&
q
o
;:
0
,
&
q
u
o
t
;
S
b
s
c
r
ip
t
o
n
T
e
r
m
U
n
i
t
&
qu
o
;
:
n
u
l
,
&
q
u
o
t
;N
e
U
n
i
t
P
r
c
e
&
q
uo
t
;
:
1
4
.
9
,
&
q
u
o
t;
I
e
m
E
f
c
t
i
v
e
Gr
a
n
t
D
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
d
uc
t
C
a
e
g
o
r
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
S
a
le
s
T
r
a
n
c
t
i
o
n
A
c
ti
o
n
&
q
u
t
;
:
n
u
l
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
A
c
t
i
o
n
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
a
l
e
s
T
r
a
n
ct
i
o
n
I
e
m
G
r
o
u
p
&
qo
t
;
:
n
u
l
,
&
q
u
o
t
;P
e
r
i
o
d
B
u
n
a
r
y
D&
q
u
o
t
;
:
n
u
l
,
&
qu
o
t
;
S
a
l
e
s
T
r
x
n
I
t
em
D
s
c
r
i
p
t
o
n
&
q
ut
;
:
n
u
l
,
&
q
u
o
t
;
Li
n
e
I
t
m
D
i
s
t
r
b
ui
o
n
T
y
p
e
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
P
r
a
ti
o
n
P
l
i
c
y
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
nr
a
c
t
D
i
s
o
u
n
t
T
y
pe
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
T
r
a
n
s
c
t
i
o
n
Ty
p
e
&
q
u
o
t
;
:
n
u
l
,
&q
u
o
t
;
P
a
r
e
n
t
R
f
er
n
c
&
q
u
o
t
;
:
&
q
u
ot
;
0
Q
x
0
4
C9
2
A
E
&
q
u
o
t
;
,
&
q
u
ot
;
D
i
s
c
o
u
n
t
&
q
o;
:
n
u
l
,
&
q
u
o
t
;
P
r
ic
n
g
T
e
r
m
U
n
i
t
&
q
uo
;
:
n
u
l
,
&
q
u
o
t
;
Pr
d
u
c
t
S
e
l
i
n
g
M
od
e
l
&
q
u
o
t
;
:
&
q
u
o
t
;0
j
P
x
00
1
E
A
&
q
u
o
t
;
,
&
q
uo
t
;
P
r
i
c
n
g
S
o
u
r
ce
&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
S
c
k
K
e
p
i
n
gU
t
&
q
u
o
;
:
n
u
l
,&
q
u
o
t
;
P
a
r
n
e
Ui
t
P
r
c
e
&
q
u
o
t
;
:
1
30
.
4
9
1
,
&
q
u
o
t
;
I
em
T
o
t
a
l
A
d
j
u
s
t
m
e
nA
o
u
n
t
&
q
o
;
:
0
,&
q
u
o
t
;
S
a
l
e
s
T
r
a
nc
t
i
o
n
I
e
m
S
o
u
r
ce
&
q
u
o
t
;
:
&
q
u
o
t
;
0
QL
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
,
&
q
u
o
t
;
Cn
r
a
c
t
A
r
i
b
u
t
eP
a
s
I
d
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
b
s
c
r
i
pt
o
n
T
e
r
m
&
q
u
o
t
;
:
nu
l
,
&
q
u
o
t
;
S
e
l
in
g
M
o
d
e
l
T
y
p
&
q
u
o
t;
:
&
q
u
o
t
;
O
n
e
T
i
m&
q
u
o
t
;
,
&
q
u
o
t
;
E
n
dQ
u
a
t
i
y
&
q
u
o
t
;
:1
2
,
&
q
u
o
t
;
N
e
T
o
t
al
P
r
i
c
e
&
q
u
o
t
;
:
1
73
9
.
8
,
&
q
u
o
t
;
T
al
L
i
n
e
A
m
o
u
n
t
&
q
o;
:
1
7
3
9
.
8
,
&
q
u
o
t;
I
e
m
S
g
e
n
t
T
y
p
e&
q
u
o
t
;
:
n
u
l
,
&
q
uo
t
;
P
r
d
u
c
t
B
a
s
e
d
On
&
q
u
o
t
;
:
&
q
u
o
t
;
1B
x
0
2
C
1
n
q
E
AC
&
u
o
t
;
,
&
q
u
o
t
;
D
el
t
d
&
q
u
o
t
;
:
f
a
ls
e
,
&
q
u
o
t
;
B
i
l
n
gR
e
f
r
n
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
A
r
e
Pa
t
i
l
P
e
r
i
o
d
s
A
lo
w
e
d
&
q
u
o
t
;
:
f
a
l
se
,
&
q
u
o
t
;
I
e
m
R
c
or
d
e
P
i
c
e
&
q
u
o
t
;:
n
u
l
,
&
q
u
o
t
;
C
so
m
P
r
d
u
c
t
N
a
m
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
S
g
e
n
t
I
di
f
e
r
&
q
u
o
t
;
:
n
u
l,
&
q
u
o
t
;
S
a
l
e
s
T
r
an
c
t
i
o
n
I
e
m
P
a
rn
t
&
q
u
o
;
:
&
q
u
o
t
;0
Q
x
0
4
C
9
2A
E
&
q
u
o
t
;
,
&
q
u
o
t
;Q
a
n
t
i
y
&
q
u
o
t
;
:
12
,
&
q
u
o
t
;
P
e
r
i
o
d
Bu
n
a
r
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
a
ct
D
i
s
o
u
n
t
V
a
l
u
e
&q
o
t
;
:
n
u
l
,
&
q
u
o
t;
L
i
n
e
I
t
m
D
i
s
c
o
un
t
V
a
l
u
e
&
q
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
I
d
&
q
u
o
t
;
:
n
u
l
,&
q
u
o
t
;
E
n
d
D
a
t
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
G
r
o
u
p
S
m
a
ry
S
u
b
t
o
a
l
&
q
u
o
t
;
:n
u
l
,
&
q
u
o
t
;
I
s
C
on
t
r
a
c
e
d
&
q
u
o
t
;
:
fa
l
s
e
,
&
q
u
o
t
;
U
n
iP
r
c
e
&
q
u
o
t
;
:
1
4
.9
,
&
q
u
o
t
;
S
a
r
t
Qu
n
i
t
y
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
C
n
r
ac
t
P
i
e
&
q
u
o
t
;
:
n
ul
,
&
q
u
o
t
;
T
a
l
Pr
i
c
e
&
q
u
o
t
;
:
1
7
3
9
.8
,
&
q
u
o
t
;
L
i
n
e
I
tm
D
i
s
c
o
u
n
t
T
y
p
e
&
qu
o
t
;
:
n
u
l
,
&
q
u
o
t
;I
e
m
P
a
t
h
&
q
u
o
t
;
:&
q
u
o
t
;
0
1
x
06
i
2
a
A
&
q
u
o
t
;
,&
q
u
o
t
;
p
r
d
u
c
t
K
e
y&
q
u
o
t
;
:
[
&
q
u
o
t
;
0Q
L
x
0
4
C
9
V
G
AU
&
q
u
o
t
;
]
}
"
,
saved Configuration Save Configuration details associated with the Small, 63.0 63.0
Configurations Details referenceRecordID request
parameter.
success Boolean Indicates whether the call was successful Small, 60.0 60.0
(true) not (false).
682
Product Configurator Response Bodies
"stiId": "0QLxx0000004CU0GAM",
"attributePicklistValueId": "0v6xx0000000005AAA"
},
"uiTreatmentScope": "Bundle",
"uiTreatmentTarget": "Attribute_Picklist_Value",
"uiTreatmentType": "Hide"
},
{
"details": {
"stiId": "ref_f0f2da7b_c431_482d_bf4b_599052f3a2e1"
},
"uiTreatmentScope": "Product",
"uiTreatmentTarget": "Component",
"uiTreatmentType": "Disable"
}
],
"contextId": "831f07b01cf0cbd2d046adf5350420f85f0611b4b1e22e183921a063857a1377",
"errors": [],
"productQualifications": {
"01tDU000000EOTCYA4": {
"isQualified": true
}
},
"success": true
}
configurator Configurator UI Details of the UI treatments that specify the Small, 62.0 62.0
UITreatments Treatment[] product configuration rule actions to
override the disable or hide behavior in the
UI for product options, product attributes,
and attribute picklist values.
errors Error Response List of errors, which contains an error code Small, 60.0 60.0
and a message.
product Map<String, Map of the product IDs to the execution Small, 60.0 60.0
Qualifications Configurator results from qualification rules.
Qualification
Context>
success Boolean Indicates whether the call was successful Small, 60.0 60.0
(true) not (false).
683
Product Configurator Response Bodies
configurator Configurator UI Details of the UI treatments that specify the Small, 62.0 62.0
UITreatments Treatment[] product configuration rule actions to
override the disable or hide behavior in the
UI for product options, product attributes,
and attribute picklist values.
errors Error Response List of errors, which contains an error code Small, 60.0 60.0
and a message.
684
Product Configurator Response Bodies
success Boolean Indicates whether the call was successful Small, 60.0 60.0
(true) not (false).
Configurator Attribute
Output representation of the attribute in a product configuration.
JSON example
"attributeCategories": [
{
"attributes": [
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Load Capacity",
"code": "CAP",
"dataType": "NUMBER",
"defaultValue": "1500",
"description": "Server racks are designed to support a specific load capacity,
commonly measured in kilograms (kg) or pounds (lbs). Typical load capacities range from
500 kg (1102 lbs) to 1500 kg (3307 lbs) depending on the model.",
"id": "0tjxx00000001DpAAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": false,
"label": "Load Capacity",
"name": "Load Capacity"
},
685
Product Configurator Response Bodies
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Expansion Slots",
"code": "SLOTCAP",
"dataType": "NUMBER",
"defaultValue": "12",
"id": "0tjxx00000001H3AAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "Expansion Slots",
"name": "Expansion Slots"
},
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Memory",
"attributePicklist": {
"id": "0v5xx0000000001AAA",
"values": [
{
"code": "MEM",
"displayValue": "25",
"id": "0v6xx0000000001AAA",
"isBooleanValue": false,
"name": "25Mem",
"sequence": 0,
"textValue": "25"
},
{
"code": "50MEM",
"displayValue": "50",
"id": "0v6xx000000001eAAA",
"isBooleanValue": false,
"name": "50Mem",
"sequence": 1,
"textValue": "50"
},
{
"code": "100MEM",
"displayValue": "100",
"id": "0v6xx000000003FAAQ",
"isBooleanValue": false,
"name": "100Mem",
"sequence": 2,
"textValue": "100"
}
]
},
"dataType": "MULTIPICKLIST",
"defaultValue": "25",
"id": "0tjxx00000001IfAAI",
686
Product Configurator Response Bodies
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "Memory",
"name": "Memory"
}
],
"code": "SPEC",
"name": "Server Rack Specifications"
}
],
"description": "Introducing the Cisco Server Rack, a sleek and robust solution
designed to streamline your data center infrastructure. With its scalable design and
advanced cable management features, it ensures optimal performance, efficiency, and easy
maintenance for your critical network equipment.",
"displayUrl":
"https://www.cisco.com/content/dam/en/us/products/servers-unified-computing/ucs-c240-m4-rack-server/product-large.jpg",
"id": "01txx0000006jkuAAA",
"isActive": true,
"isAssetizable": true,
"isConfigurable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Server Rack NX44",
"nodeType": "bundleProduct",
"prices": [],
"productClassification": {
"id": "11Bxx000002CC02EAG"
},
"productCode": "RACK",
"productComponentGroups": [
{
"classifications": [],
"code": "SERVICE",
"components": [
{
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Service, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jmWAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Service - 1 Year",
687
Product Configurator Response Bodies
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "SERVICE",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01txx0000006jmWAAQ",
"childSellingModelId": "0jPxx000000004rEAA",
"doesBundlePriceIncludeChild": true,
"id": "0dSxx000000001dEAA",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000004rEAA",
"productComponentGroupId": "0y7xx000000001dAAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": [
{
"id": "0iOxx000000009hEAA",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000PpEAI",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
}
]
}
],
"description": "The services available for the Cisco Server Rack NX44 product
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
"id": "0y7xx000000001dAAA",
688
Product Configurator Response Bodies
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Services",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 1
},
{
"classifications": [],
"code": "WARRANTY",
"components": [
{
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Warranty, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jjIAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": true,
"isQuantityEditable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Warranty - 1 Year",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "WARRANTY",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01txx0000006jjIAAQ",
"childSellingModelId": "0jPxx000000001dEAA",
"doesBundlePriceIncludeChild": false,
"id": "0dSxx0000000001EAA",
"isComponentRequired": false,
"isDefaultComponent": true,
"isQuantityEditable": true,
"maxQuantity": 1,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000001dEAA",
"productComponentGroupId": "0y7xx0000000001AAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 0
},
"productSellingModelOptions": [
{
"id": "0iOxx000000001dEAA",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
689
Product Configurator Response Bodies
690
Product Configurator Response Bodies
"status": "Active"
},
"productSellingModelId": "0jPxx000000006TEAQ"
}
]
}
],
"description": "The warranties available for the Cisco Server Rack NX44 product
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
"id": "0y7xx0000000001AAA",
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Warranties",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 0
}
],
"productSellingModelOptions": [
{
"id": "0iOxx000000003FEAQ",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000001dEAA"
},
{
"id": "0iOxx000000004rEAA",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000003FEAQ",
"name": "Termed Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000003FEAQ"
},
{
"id": "0iOxx000000006TEAQ",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
691
Product Configurator Response Bodies
"productSellingModelId": "0jPxx000000004rEAA"
}
],
"productType": "Bundle"
},
"errors": [],
"success": true,
"transactionContext": {
"SalesTransaction": [
{
"Status": "Draft",
"Account": "001xx000003GeIxAAK",
"BillingCity": "San Francisco",
"Subtotal": 152500,
"LastPricedDate": "2023-08-22T05:55:39Z",
"businessObjectType": "Quote",
"TotalAmount": 152500,
"ShippingStreet": "415 Mission St",
"SalesTransactionItem": [
{
"ProrationPolicy": null,
"Discount": null,
"ProductSellingModel": "0jPxx000000001dEAA",
"Product": "01txx0000006jkuAAA",
"businessObjectType": "QuoteLineItem",
"BasisTransactionItem": null,
"PartnerUnitPrice": null,
"StartingUnitPriceSource": "System",
"ListPrice": 150000,
"ItemTotalAdjustmentAmount": 0,
"SalesTransactionItemSource": "0QLxx0000004CQmGAM",
"SubscriptionTerm": null,
"StartDate": null,
"NetTotalPrice": 150000,
"TotalLineAmount": 150000,
"PeriodBoundaryStartMonth": null,
"ListPriceTotal": 150000,
"PartnerDiscountPercent": null,
"id": "0QLxx0000004CQmGAM",
"PriceWaterFall": "{
"currencyCode":"USD",
"executionEndTimestamp":"2023-09-18T20:11:15.016Z",
"executionId":"ruepwmHn2ZFvnQo5bjot",
"executionStartTimestamp":"2023-09-18T20:11:14.906Z",
"lineItemId":"0QLxx0000004CQmGAM",
"output":{
"NetUnitPrice":150000.0,
"Subtotal":0.0
},
"success":true,
"waterfall":[
{
"fieldToTagNameMapping":{
"NetUnitPrice":"ItemUnitPrice",
692
Product Configurator Response Bodies
"AdjustmentValue":"ItemAdjustmentValue",
"Subtotal":"ItemTotalAdjustmentAmount",
"Quantity":"ItemQuantity",
"LineItemId":"SalesTransactionItemSource",
"InputUnitPrice":"ItemUnitPrice"
},
"inputParameters":{
"Quantity":1.0,
"LineItemId":"0QLxx0000004CQmGAM",
"InputUnitPrice":150000.0,
"AdjustmentType":"Amount"
},
"outputParameters":{
"NetUnitPrice":150000.0,
"Subtotal":0.0
},
"pricingElement":{
"adjustments":[
{
"AdjustmentType":"Amount"
}
],
"elementType":"MANUALDISCOUNT",
"name":"ManualDiscount"
},
"sequence":1
}
]
}",
"BillingFrequency": null,
"SalesTransactionItemParent": "0Q0xx0000004CAeCAM",
"StartingPriceTotal": 150000,
"Quantity": 1,
"PeriodBoundary": null,
"SalesTransactionItemAttribute": [
{
"AttributeKey": "0tjxx00000001H3AAI",
"AttributeValue": "30.0",
"AttributePicklistValue": null,
"IsPriceImpacting": true,
"businessObjectType": "QuoteLineItemAttribute",
"AttributeName": "Expansion Slots",
"AttributeDefinitionCode": "SLOTCAP",
"id": "0zuxx0000000001AAA",
"SalesTransactionItemAttrParent": "0QLxx0000004CQmGAM"
}
],
"EndDate": null,
"DiscountAmount": null,
"PricebookEntry": "01uxx0000009154AAA",
"PricingTermCount": 1,
"NetUnitPrice": 150000,
"UnitPrice": 150000,
"StartingUnitPrice": 150000,
693
Product Configurator Response Bodies
"SalesTrxnItemRelationship": [
{
"ProductRelationshipType": "0yoxx00000001IfAAI",
"MainItemRole": "Bundle",
"AssociatedItem": "0QLxx0000004CQnGAM",
"ProductRelatedComponent": "0dSxx0000000001EAA",
"MainItem": "0QLxx0000004CQmGAM",
"AssociatedQuantScaleMethod": "Proportional",
"businessObjectType": "QuoteLineRelationship",
"AssociatedItemRole": "BundleComponent",
"SalesTrnItemRelationshipParent": "0Q0xx0000004CAeCAM",
"id": "0yQxx000000001dEAA",
"AssociatedItemPricing": "NotIncludedInBundlePrice"
}
],
"TotalPrice": 150000,
"PeriodBoundaryDay": null
},
{
"ProrationPolicy": null,
"Discount": null,
"ProductSellingModel": "0jPxx000000001dEAA",
"Product": "01txx0000006jjIAAQ",
"businessObjectType": "QuoteLineItem",
"BasisTransactionItem": null,
"PartnerUnitPrice": null,
"StartingUnitPriceSource": "System",
"ListPrice": 2000,
"ItemTotalAdjustmentAmount": 0,
"SalesTransactionItemSource": "0QLxx0000004CQnGAM",
"SubscriptionTerm": null,
"StartDate": null,
"NetTotalPrice": 2000,
"TotalLineAmount": 2000,
"PeriodBoundaryStartMonth": null,
"ListPriceTotal": 2000,
"PartnerDiscountPercent": null,
"id": "0QLxx0000004CQnGAM",
"PriceWaterFall": "{
"currencyCode":"USD",
"executionEndTimestamp":"023-09-18T20:11:15.016Z",
"executionId":"ruepwmHn2ZFvnQo5bjot",
"executionStartTimestamp":"2023-09-18T20:11:14.906Z",
"lineItemId":"0QLxx0000004CQnGAM",
"output":{
"NetUnitPrice":2000.0,
"Subtotal":0.0
},
"success":true,
"waterfall":[
{
"fieldToTagNameMapping":{
"NetUnitPrice":"ItemUnitPrice",
"AdjustmentValue":"ItemAdjustmentValue",
694
Product Configurator Response Bodies
"Subtotal":"ItemTotalAdjustmentAmount",
"Quantity":"ItemQuantity",
"LineItemId":"SalesTransactionItemSource",
"InputUnitPrice":"ItemUnitPrice"
},
"inputParameters":{
"Quantity":1.0,
"LineItemId":"0QLxx0000004CQnGAM",
"InputUnitPrice":2000.0,
"AdjustmentType":"Amount"
},
"outputParameters":{
"NetUnitPrice":2000.0,
"Subtotal":0.0
},
"pricingElement":{
"adjustments":[
{}
],
"elementType":"MANUALDISCOUNT",
"name":"ManualDiscount"
},
"sequence":1
}
]
}",
"BillingFrequency": null,
"SalesTransactionItemParent": "0Q0xx0000004CAeCAM",
"StartingPriceTotal": 2000,
"Quantity": 1,
"PeriodBoundary": null,
"EndDate": null,
"DiscountAmount": null,
"PricebookEntry": "01uxx000000913SAAQ",
"PricingTermCount": 1,
"NetUnitPrice": 2000,
"UnitPrice": 2000,
"StartingUnitPrice": 2000,
"TotalPrice": 2000,
"PeriodBoundaryDay": null
}
],
"BillingCountry": "US",
"BillingStreet": "415 Mission St",
"Pricebook": "01sxx0000005uDZAAY",
"ShippingPostalCode": "94105",
"SalesTransactionSource": "0Q0xx0000004CAeCAM",
"ShippingCountry": "US",
"ShippingCity": "San Francisco",
"ShippingState": "CA",
"BillingPostalCode": "94105",
"id": "0Q0xx0000004CAeCAM",
"BillToContact": null,
"Contract": null,
695
Product Configurator Response Bodies
"BillingState": "CA"
}
]
attribute String Name override value of the attribute. Small, 60.0 60.0
NameOverride
default String Default help text value of the attribute. Small, 60.0 60.0
HelpText
isCloneable Boolean Indicates if the attribute is cloneable (true) Small, 60.0 60.0
or not (false).
isHidden Boolean Indicates if the attribute is hidden (true) Small, 60.0 60.0
or not (false).
isPrice Boolean Indicates if this is a price impacting attribute Small, 60.0 60.0
Impacting (true) or not (false).
isReadOnly Boolean Indicates if the attribute is read-only (true) Small, 60.0 60.0
or not (false).
isRequired Boolean Indicates if the attribute is required (true) Small, 60.0 60.0
or not (false).
maximumValue String Maximum value for the product attribute. Small, 60.0 60.0
minimumValue String Minimum value for the product attribute. Small, 60.0 60.0
696
Product Configurator Response Bodies
stepValue String Step value for the attribute. Small, 60.0 60.0
unitOfMeasure Configurator Unit Of Details about the unit of measure associated Small, 63.0 63.0
Measure[] with an attribute.
valueDecoder String Value decoder for the attribute. Small, 60.0 60.0
"attributeCategories": [
{
"attributes": [
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Load Capacity",
"code": "CAP",
"dataType": "NUMBER",
"defaultValue": "1500",
"description": "Server racks are designed to support a specific load capacity,
commonly measured in kilograms (kg) or pounds (lbs). Typical load capacities range from
500 kg (1102 lbs) to 1500 kg (3307 lbs) depending on the model.",
"id": "0tjxx00000001DpAAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": false,
"label": "Load Capacity",
"name": "Load Capacity"
},
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Expansion Slots",
"code": "SLOTCAP",
"dataType": "NUMBER",
697
Product Configurator Response Bodies
"defaultValue": "12",
"id": "0tjxx00000001H3AAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "Expansion Slots",
"name": "Expansion Slots"
},
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Memory",
"attributePicklist": {
"id": "0v5xx0000000001AAA",
"values": [
{
"code": "MEM",
"displayValue": "25",
"id": "0v6xx0000000001AAA",
"isBooleanValue": false,
"name": "25Mem",
"sequence": 0,
"textValue": "25"
},
{
"code": "50MEM",
"displayValue": "50",
"id": "0v6xx000000001eAAA",
"isBooleanValue": false,
"name": "50Mem",
"sequence": 1,
"textValue": "50"
},
{
"code": "100MEM",
"displayValue": "100",
"id": "0v6xx000000003FAAQ",
"isBooleanValue": false,
"name": "100Mem",
"sequence": 2,
"textValue": "100"
}
]
},
"dataType": "MULTIPICKLIST",
"defaultValue": "25",
"id": "0tjxx00000001IfAAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
698
Product Configurator Response Bodies
"isRequired": true,
"label": "Memory",
"name": "Memory"
}
],
"code": "SPEC",
"name": "Server Rack Specifications"
}
],
"description": "Introducing the Cisco Server Rack, a sleek and robust solution
designed to streamline your data center infrastructure. With its scalable design and
advanced cable management features, it ensures optimal performance, efficiency, and easy
maintenance for your critical network equipment.",
"displayUrl":
"https://www.cisco.com/content/dam/en/us/products/servers-unified-computing/ucs-c240-m4-rack-server/product-large.jpg",
"id": "01txx0000006jkuAAA",
"isActive": true,
"isAssetizable": true,
"isConfigurable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Server Rack NX44",
"nodeType": "bundleProduct",
"prices": [],
"productClassification": {
"id": "11Bxx000002CC02EAG"
},
"productCode": "RACK",
"productComponentGroups": [
{
"classifications": [],
"code": "SERVICE",
"components": [
{
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Service, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jmWAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Service - 1 Year",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "SERVICE",
"productComponentGroups": [],
699
Product Configurator Response Bodies
"productRelatedComponent": {
"childProductId": "01txx0000006jmWAAQ",
"childSellingModelId": "0jPxx000000004rEAA",
"doesBundlePriceIncludeChild": true,
"id": "0dSxx000000001dEAA",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000004rEAA",
"productComponentGroupId": "0y7xx000000001dAAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": [
{
"id": "0iOxx000000009hEAA",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000PpEAI",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
}
]
}
],
"description": "The services available for the Cisco Server Rack NX44 product
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
"id": "0y7xx000000001dAAA",
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Services",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 1
700
Product Configurator Response Bodies
},
{
"classifications": [],
"code": "WARRANTY",
"components": [
{
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Warranty, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jjIAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": true,
"isQuantityEditable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Warranty - 1 Year",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "WARRANTY",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01txx0000006jjIAAQ",
"childSellingModelId": "0jPxx000000001dEAA",
"doesBundlePriceIncludeChild": false,
"id": "0dSxx0000000001EAA",
"isComponentRequired": false,
"isDefaultComponent": true,
"isQuantityEditable": true,
"maxQuantity": 1,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000001dEAA",
"productComponentGroupId": "0y7xx0000000001AAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 0
},
"productSellingModelOptions": [
{
"id": "0iOxx000000001dEAA",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000001dEAA"
701
Product Configurator Response Bodies
},
{
"id": "0iOxx00000000HlEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000003FEAQ",
"name": "Termed Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000003FEAQ"
},
{
"id": "0iOxx00000000JNEAY",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000KzEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
},
{
"id": "0iOxx00000000MbEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000006TEAQ",
"name": "Evergreen Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx000000006TEAQ"
}
]
702
Product Configurator Response Bodies
}
],
"description": "The warranties available for the Cisco Server Rack NX44 product
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
"id": "0y7xx0000000001AAA",
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Warranties",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 0
}
],
"productSellingModelOptions": [
{
"id": "0iOxx000000003FEAQ",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000001dEAA"
},
{
"id": "0iOxx000000004rEAA",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000003FEAQ",
"name": "Termed Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000003FEAQ"
},
{
"id": "0iOxx000000006TEAQ",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
}
],
"productType": "Bundle"
},
703
Product Configurator Response Bodies
"errors": [],
"success": true,
"transactionContext": {
"SalesTransaction": [
{
"Status": "Draft",
"Account": "001xx000003GeIxAAK",
"BillingCity": "San Francisco",
"Subtotal": 152500,
"LastPricedDate": "2023-08-22T05:55:39Z",
"businessObjectType": "Quote",
"TotalAmount": 152500,
"ShippingStreet": "415 Mission St",
"SalesTransactionItem": [
{
"ProrationPolicy": null,
"Discount": null,
"ProductSellingModel": "0jPxx000000001dEAA",
"Product": "01txx0000006jkuAAA",
"businessObjectType": "QuoteLineItem",
"BasisTransactionItem": null,
"PartnerUnitPrice": null,
"StartingUnitPriceSource": "System",
"ListPrice": 150000,
"ItemTotalAdjustmentAmount": 0,
"SalesTransactionItemSource": "0QLxx0000004CQmGAM",
"SubscriptionTerm": null,
"StartDate": null,
"NetTotalPrice": 150000,
"TotalLineAmount": 150000,
"PeriodBoundaryStartMonth": null,
"ListPriceTotal": 150000,
"PartnerDiscountPercent": null,
"id": "0QLxx0000004CQmGAM",
"PriceWaterFall": "{
"currencyCode":"USD",
"executionEndTimestamp":"2023-09-18T20:11:15.016Z",
"executionId":"ruepwmHn2ZFvnQo5bjot",
"executionStartTimestamp":"2023-09-18T20:11:14.906Z",
"lineItemId":"0QLxx0000004CQmGAM",
"output":{
"NetUnitPrice":150000.0,
"Subtotal":0.0
},
"success":true,
"waterfall":[
{
"fieldToTagNameMapping":{
"NetUnitPrice":"ItemUnitPrice",
"AdjustmentValue":"ItemAdjustmentValue",
"Subtotal":"ItemTotalAdjustmentAmount",
"Quantity":"ItemQuantity",
"LineItemId":"SalesTransactionItemSource",
"InputUnitPrice":"ItemUnitPrice"
704
Product Configurator Response Bodies
},
"inputParameters":{
"Quantity":1.0,
"LineItemId":"0QLxx0000004CQmGAM",
"InputUnitPrice":150000.0,
"AdjustmentType":"Amount"
},
"outputParameters":{
"NetUnitPrice":150000.0,
"Subtotal":0.0
},
"pricingElement":{
"adjustments":[
{
"AdjustmentType":"Amount"
}
],
"elementType":"MANUALDISCOUNT",
"name":"ManualDiscount"
},
"sequence":1
}
]
}",
"BillingFrequency": null,
"SalesTransactionItemParent": "0Q0xx0000004CAeCAM",
"StartingPriceTotal": 150000,
"Quantity": 1,
"PeriodBoundary": null,
"SalesTransactionItemAttribute": [
{
"AttributeKey": "0tjxx00000001H3AAI",
"AttributeValue": "30.0",
"AttributePicklistValue": null,
"IsPriceImpacting": true,
"businessObjectType": "QuoteLineItemAttribute",
"AttributeName": "Expansion Slots",
"AttributeDefinitionCode": "SLOTCAP",
"id": "0zuxx0000000001AAA",
"SalesTransactionItemAttrParent": "0QLxx0000004CQmGAM"
}
],
"EndDate": null,
"DiscountAmount": null,
"PricebookEntry": "01uxx0000009154AAA",
"PricingTermCount": 1,
"NetUnitPrice": 150000,
"UnitPrice": 150000,
"StartingUnitPrice": 150000,
"SalesTrxnItemRelationship": [
{
"ProductRelationshipType": "0yoxx00000001IfAAI",
"MainItemRole": "Bundle",
"AssociatedItem": "0QLxx0000004CQnGAM",
705
Product Configurator Response Bodies
"ProductRelatedComponent": "0dSxx0000000001EAA",
"MainItem": "0QLxx0000004CQmGAM",
"AssociatedQuantScaleMethod": "Proportional",
"businessObjectType": "QuoteLineRelationship",
"AssociatedItemRole": "BundleComponent",
"SalesTrnItemRelationshipParent": "0Q0xx0000004CAeCAM",
"id": "0yQxx000000001dEAA",
"AssociatedItemPricing": "NotIncludedInBundlePrice"
}
],
"TotalPrice": 150000,
"PeriodBoundaryDay": null
},
{
"ProrationPolicy": null,
"Discount": null,
"ProductSellingModel": "0jPxx000000001dEAA",
"Product": "01txx0000006jjIAAQ",
"businessObjectType": "QuoteLineItem",
"BasisTransactionItem": null,
"PartnerUnitPrice": null,
"StartingUnitPriceSource": "System",
"ListPrice": 2000,
"ItemTotalAdjustmentAmount": 0,
"SalesTransactionItemSource": "0QLxx0000004CQnGAM",
"SubscriptionTerm": null,
"StartDate": null,
"NetTotalPrice": 2000,
"TotalLineAmount": 2000,
"PeriodBoundaryStartMonth": null,
"ListPriceTotal": 2000,
"PartnerDiscountPercent": null,
"id": "0QLxx0000004CQnGAM",
"PriceWaterFall": "{
"currencyCode":"USD",
"executionEndTimestamp":"023-09-18T20:11:15.016Z",
"executionId":"ruepwmHn2ZFvnQo5bjot",
"executionStartTimestamp":"2023-09-18T20:11:14.906Z",
"lineItemId":"0QLxx0000004CQnGAM",
"output":{
"NetUnitPrice":2000.0,
"Subtotal":0.0
},
"success":true,
"waterfall":[
{
"fieldToTagNameMapping":{
"NetUnitPrice":"ItemUnitPrice",
"AdjustmentValue":"ItemAdjustmentValue",
"Subtotal":"ItemTotalAdjustmentAmount",
"Quantity":"ItemQuantity",
"LineItemId":"SalesTransactionItemSource",
"InputUnitPrice":"ItemUnitPrice"
},
706
Product Configurator Response Bodies
"inputParameters":{
"Quantity":1.0,
"LineItemId":"0QLxx0000004CQnGAM",
"InputUnitPrice":2000.0,
"AdjustmentType":"Amount"
},
"outputParameters":{
"NetUnitPrice":2000.0,
"Subtotal":0.0
},
"pricingElement":{
"adjustments":[
{}
],
"elementType":"MANUALDISCOUNT",
"name":"ManualDiscount"
},
"sequence":1
}
]
}",
"BillingFrequency": null,
"SalesTransactionItemParent": "0Q0xx0000004CAeCAM",
"StartingPriceTotal": 2000,
"Quantity": 1,
"PeriodBoundary": null,
"EndDate": null,
"DiscountAmount": null,
"PricebookEntry": "01uxx000000913SAAQ",
"PricingTermCount": 1,
"NetUnitPrice": 2000,
"UnitPrice": 2000,
"StartingUnitPrice": 2000,
"TotalPrice": 2000,
"PeriodBoundaryDay": null
}
],
"BillingCountry": "US",
"BillingStreet": "415 Mission St",
"Pricebook": "01sxx0000005uDZAAY",
"ShippingPostalCode": "94105",
"SalesTransactionSource": "0Q0xx0000004CAeCAM",
"ShippingCountry": "US",
"ShippingCity": "San Francisco",
"ShippingState": "CA",
"BillingPostalCode": "94105",
"id": "0Q0xx0000004CAeCAM",
"BillToContact": null,
"Contract": null,
"BillingState": "CA"
}
]
707
Product Configurator Response Bodies
totalSize Integer Total size of the attribute category. Small, 60.0 60.0
usageType String Usage type of the attribute category. Small, 60.0 60.0
displayValue String Display value of the attribute value. Small, 60.0 60.0
708
Product Configurator Response Bodies
textValue String Text value of the attribute value. Small, 60.0 60.0
709
Product Configurator Response Bodies
configurator Configurator UI Details of the UI treatments that specify the Small, 62.0 62.0
UITreatments Treatment[] product configuration rule actions to
override the disable or hide behavior in the
UI for product options, product attributes,
and attribute picklist values.
errors Error Response List of errors, which contains an error code Small, 60.0 60.0
and a message.
product Map<String, Map of the product IDs to the qualification Small, 60.0 60.0
Qualifications Configurator rule execution results.
Qualification
Context>
success Boolean Indicates whether the call was successful Small, 60.0 60.0
(true) not (false).
Configurator Message
Output representation of the messages of a product configurator.
message String Message that contains the error details. Small, 60.0 60.0
messageType String Type of error message. Valid values are: Small, 60.0 60.0
• Error
• Info
• Warning
710
Product Configurator Response Bodies
related String Related record ID for the error, if any. Small, 60.0 60.0
RecordId
Configurator Price
Output representation of the pricing details in a product configuration.
effectiveFrom String Date from when the price book entry is Small, 60.0 60.0
effective.
effectiveTo String Date until when the price book entry is Small, 60.0 60.0
effective.
isDefault Boolean Indicates if this price book entry is the Small, 60.0 60.0
default pricing model (true) or not
(false).
isSelected Boolean Indicates if this price book entry is selected Small, 60.0 60.0
(true) or not (false).
pricebookId String Pricebook2 ID of the price book entry. Small, 60.0 60.0
pricingModel Configurator Pricing Pricing model details of the price book entry. Small, 60.0 60.0
Model[]
unitPrice Double Unit price of the price book entry. Small, 60.0 60.0
711
Product Configurator Response Bodies
unitOfMeasure String Unit of measure for the pricing model. Small, 60.0 60.0
"catalogProducts": {
"additionalFields": [],
"attributeCategories": [
{
"attributes": [
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Load Capacity",
"code": "CAP",
"dataType": "NUMBER",
"defaultValue": "1500",
"description": "Server racks are designed to support a specific load capacity,
commonly measured in kilograms (kg) or pounds (lbs). Typical load capacities range from
500 kg (1102 lbs) to 1500 kg (3307 lbs) depending on the model.",
"id": "0tjxx00000001DpAAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": false,
"label": "Load Capacity",
"name": "Load Capacity"
},
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Expansion Slots",
"code": "SLOTCAP",
"dataType": "NUMBER",
"defaultValue": "12",
"id": "0tjxx00000001H3AAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
712
Product Configurator Response Bodies
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "Expansion Slots",
"name": "Expansion Slots"
},
{
"attributeCategoryId": "0v3xx0000000001AAA",
"attributeNameOverride": "Memory",
"attributePicklist": {
"id": "0v5xx0000000001AAA",
"values": [
{
"code": "MEM",
"displayValue": "25",
"id": "0v6xx0000000001AAA",
"isBooleanValue": false,
"name": "25Mem",
"sequence": 0,
"textValue": "25"
},
{
"code": "50MEM",
"displayValue": "50",
"id": "0v6xx000000001eAAA",
"isBooleanValue": false,
"name": "50Mem",
"sequence": 1,
"textValue": "50"
},
{
"code": "100MEM",
"displayValue": "100",
"id": "0v6xx000000003FAAQ",
"isBooleanValue": false,
"name": "100Mem",
"sequence": 2,
"textValue": "100"
}
]
},
"dataType": "MULTIPICKLIST",
"defaultValue": "25",
"id": "0tjxx00000001IfAAI",
"isCloneable": false,
"isConfigurable": true,
"isHidden": false,
"isPriceImpacting": false,
"isReadOnly": false,
"isRequired": true,
"label": "Memory",
"name": "Memory"
}
],
713
Product Configurator Response Bodies
"code": "SPEC",
"name": "Server Rack Specifications"
}
],
"description": "Introducing the Cisco Server Rack, a sleek and robust solution
designed to streamline your data center infrastructure. With its scalable design and
advanced cable management features, it ensures optimal performance, efficiency, and easy
maintenance for your critical network equipment.",
"displayUrl":
"https://www.cisco.com/content/dam/en/us/products/servers-unified-computing/ucs-c240-m4-rack-server/product-large.jpg",
"id": "01txx0000006jkuAAA",
"isActive": true,
"isAssetizable": true,
"isConfigurable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Server Rack NX44",
"nodeType": "bundleProduct",
"prices": [],
"productClassification": {
"id": "11Bxx000002CC02EAG"
},
"productCode": "RACK",
"productComponentGroups": [
{
"classifications": [],
"code": "SERVICE",
"components": [
{
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Service, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jmWAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Service - 1 Year",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "SERVICE",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01txx0000006jmWAAQ",
"childSellingModelId": "0jPxx000000004rEAA",
"doesBundlePriceIncludeChild": true,
"id": "0dSxx000000001dEAA",
714
Product Configurator Response Bodies
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000004rEAA",
"productComponentGroupId": "0y7xx000000001dAAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": [
{
"id": "0iOxx000000009hEAA",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000PpEAI",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
}
]
}
],
"description": "The services available for the Cisco Server Rack NX44 product
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
"id": "0y7xx000000001dAAA",
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Services",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 1
},
{
"classifications": [],
"code": "WARRANTY",
"components": [
715
Product Configurator Response Bodies
{
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Warranty, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jjIAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": true,
"isQuantityEditable": true,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Warranty - 1 Year",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "WARRANTY",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01txx0000006jjIAAQ",
"childSellingModelId": "0jPxx000000001dEAA",
"doesBundlePriceIncludeChild": false,
"id": "0dSxx0000000001EAA",
"isComponentRequired": false,
"isDefaultComponent": true,
"isQuantityEditable": true,
"maxQuantity": 1,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000001dEAA",
"productComponentGroupId": "0y7xx0000000001AAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 0
},
"productSellingModelOptions": [
{
"id": "0iOxx000000001dEAA",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000001dEAA"
},
{
"id": "0iOxx00000000HlEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
716
Product Configurator Response Bodies
"id": "0jPxx000000003FEAQ",
"name": "Termed Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000003FEAQ"
},
{
"id": "0iOxx00000000JNEAY",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000KzEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
},
{
"id": "0iOxx00000000MbEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000006TEAQ",
"name": "Evergreen Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx000000006TEAQ"
}
]
}
],
"description": "The warranties available for the Cisco Server Rack NX44 product
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
717
Product Configurator Response Bodies
"id": "0y7xx0000000001AAA",
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Warranties",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 0
}
],
"productSellingModelOptions": [
{
"id": "0iOxx000000003FEAQ",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000001dEAA"
},
{
"id": "0iOxx000000004rEAA",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000003FEAQ",
"name": "Termed Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000003FEAQ"
},
{
"id": "0iOxx000000006TEAQ",
"productId": "01txx0000006jkuAAA",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
}
],
"productType": "Bundle"
}
718
Product Configurator Response Bodies
attribute Configurator List of attribute categories. The categories Small, 60.0 60.0
Categories Attribute Category[] that aren’t categorized are specified in the
uncategorized entry in this list.
discontinued String Date when this product is discontinued. Small, 60.0 60.0
Date
endOfLifeDate String End of life date for this product. Small, 60.0 60.0
isActive Boolean Indicates whether this product is active Small, 60.0 60.0
(true) or not (false).
isAssetizable Boolean Indicates whether this product is assetizable Small, 60.0 60.0
(true) or not (false).
isQuantity Boolean Indicates whether the quantity of the Small, 60.0 60.0
Editable component is editable ( true) or not
(false).
isSoldOnly Boolean Indicates whether this product is sold only Small, 60.0 60.0
WithOtherProds with other products (true) or not
(false).
prices Configurator Price[] List of prices from the product catalog. Small, 60.0 60.0
product Configurator Product Classification details of the product. Small, 60.0 60.0
Classification Classification[]
719
Product Configurator Response Bodies
product Configurator Product Details of the product related component Small, 60.0 60.0
RelatedComponent Related of this product.
Component[]
productSelling Configurator Product List of product selling model options for this Small, 60.0 60.0
ModelOptions Selling Model product.
Option[]
qualification Configurator Details of the qualification context of the Small, 60.0 60.0
Context Qualification product.
Context[]
unitOfMeasure Configurator Unit Of Details about the unit of measure associated Small, 63.0 63.0
Measure[] with a product.
"productClassification": {
"id": "11Bxx000002CC02EAG"
}
"productComponentGroups": [
{
"classifications": [],
"code": "SERVICE",
"components": [
{
720
Product Configurator Response Bodies
"additionalFields": [],
"attributeCategories": [],
"description": "Introducing the Cisco Rack Server NX44 Service, a
comprehensive protection plan designed to safeguard your valuable data infrastructure.
With extended coverage and rapid response times, this warranty ensures peace of mind
and uninterrupted performance for your critical business operations.",
"id": "01txx0000006jmWAAQ",
"isActive": true,
"isAssetizable": true,
"isComponentRequired": false,
"isConfigurable": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"isSoldOnlyWithOtherProds": false,
"name": "Cisco Rack Server Service - 1 Year",
"nodeType": "simpleProduct",
"prices": [],
"productClassification": {},
"productCode": "SERVICE",
"productComponentGroups": [],
"productRelatedComponent": {
"childProductId": "01txx0000006jmWAAQ",
"childSellingModelId": "0jPxx000000004rEAA",
"doesBundlePriceIncludeChild": true,
"id": "0dSxx000000001dEAA",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000004rEAA",
"productComponentGroupId": "0y7xx000000001dAAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional"
},
"productSellingModelOptions": [
{
"id": "0iOxx000000009hEAA",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000PpEAI",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
721
Product Configurator Response Bodies
722
Product Configurator Response Bodies
"maxQuantity": 1,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000001dEAA",
"productComponentGroupId": "0y7xx0000000001AAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional",
"sequence": 0
},
"productSellingModelOptions": [
{
"id": "0iOxx000000001dEAA",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000001dEAA",
"name": "One Time",
"sellingModelType": "OneTime",
"status": "Active"
},
"productSellingModelId": "0jPxx000000001dEAA"
},
{
"id": "0iOxx00000000HlEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000003FEAQ",
"name": "Termed Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000003FEAQ"
},
{
"id": "0iOxx00000000JNEAY",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000KzEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
723
Product Configurator Response Bodies
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
},
{
"id": "0iOxx00000000MbEAI",
"productId": "01txx0000006jjIAAQ",
"productSellingModel": {
"id": "0jPxx000000006TEAQ",
"name": "Evergreen Monthly",
"pricingTerm": 1,
"pricingTermUnit": "Months",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx000000006TEAQ"
}
]
}
],
"description": "The warranties available for the Cisco Server Rack NX44 product
provide comprehensive coverage and support for optimal performance and reliability,
ensuring peace of mind for your data center infrastructure.",
"id": "0y7xx0000000001AAA",
"maxBundleComponents": 1,
"minBundleComponents": 0,
"name": "Warranties",
"parentProductId": "01txx0000006jkuAAA",
"sequence": 0
}
]
code String Code of the product component group. Small, 60.0 60.0
components Configurator Product Components within the product Small, 60.0 60.0
Catalog[] component group.
724
Product Configurator Response Bodies
sequence Integer Sequence of the product component group. Small, 60.0 60.0
"productRelatedComponent": {
"childProductId": "01txx0000006jmWAAQ",
"childSellingModelId": "0jPxx000000004rEAA",
"doesBundlePriceIncludeChild": true,
"id": "0dSxx000000001dEAA",
"isComponentRequired": false,
"isDefaultComponent": false,
"isQuantityEditable": false,
"parentProductId": "01txx0000006jkuAAA",
"parentSellingModelId": "0jPxx000000004rEAA",
"productComponentGroupId": "0y7xx000000001dAAA",
"productRelationshipTypeId": "0yoxx00000001IfAAI",
"quantity": 1,
"quantityScaleMethod": "Proportional"
}
doesBundle Boolean Does the bundle price include child Small, 60.0 60.0
Price products
IncludeChild
725
Product Configurator Response Bodies
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
}
726
Product Configurator Response Bodies
pricingTerm Integer Pricing term of the product selling model. Small, 60.0 60.0
pricing String Pricing term unit of the product selling Small, 60.0 60.0
TermUnit model.
selling String Selling model type of the product selling Small, 60.0 60.0
ModelType model.
status String Status of the product selling model. Small, 60.0 60.0
"productSellingModelOptions": [
{
"id": "0iOxx000000009hEAA",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx000000004rEAA",
"name": "Termed Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "TermDefined",
"status": "Active"
},
"productSellingModelId": "0jPxx000000004rEAA"
},
{
"id": "0iOxx00000000PpEAI",
"productId": "01txx0000006jmWAAQ",
"productSellingModel": {
"id": "0jPxx0000000085EAA",
"name": "Evergreen Annually",
"pricingTerm": 1,
"pricingTermUnit": "Annual",
"sellingModelType": "Evergreen",
"status": "Active"
},
"productSellingModelId": "0jPxx0000000085EAA"
}
]
727
Product Configurator Response Bodies
productId String ID of the product that’s associated with the Small, 60.0 60.0
product selling model option.
product Configurator Product Product selling model that’s associated with Small, 60.0 60.0
SellingModel Selling Model[] the product selling model option.
product String ID of the product selling model that’s Small, 60.0 60.0
Selling associated with the product selling model
ModelId option.
reason String Reason for the qualification of this product. Small, 60.0 60.0
Configurator UI Treatment
Output representation of the details of the UI treatments of a product configurator. The details include the product configuration rule
actions to override the disable or hide behavior in the UI for product options, product attributes, and attribute picklist values.
JSON Example
[
{
"details": {
"attributeId": "0tjxx0000000007AAA",
"prcId": "0dSxx0000000007EAA",
"stiId": "0QLxx0000004CU0GAM",
"attributePicklistValueId": "0v6xx0000000005AAA"
},
"uiTreatmentScope": "Bundle",
"uiTreatmentTarget": "Attribute_Picklist_Value",
"uiTreatmentType": "Hide"
},
{
"details": {
"stiId": "ref_f0f2da7b_c431_482d_bf4b_599052f3a2e1"
},
"uiTreatmentScope": "Product",
"uiTreatmentTarget": "Component",
"uiTreatmentType": "Disable"
728
Product Configurator Response Bodies
}
]
uiTreatment String Target of the UI treatment. Valid values are: Small, 62.0 62.0
Target
• Component—Represents a product
option or bundle component.
• Quantity—Represents a quantity
field.
• Attribute—Represents a certain
attribute of the product.
• Attribute_Picklist_Value—Represents
one of the picklist values of a product
attribute.
729
Product Configurator Response Bodies
JSON Example
{
"unitOfMeasure": {
"id": "0hEXR00000000BJ2AY",
"name": "Litres",
"roundingMethod": "Down",
"scale": 2,
"unitCode": "Ltrs"
}
}
name String Name of the unit of measure record. Small, 63.0 63.0
rounding String Rounding method associated with the unit Small, 63.0 63.0
Method of measure record.
scale Integer Scale associated with the unit of measure Small, 63.0 63.0
record.
unitCode String Unit code associated with the unit of Small, 63.0 63.0
measure record.
730
Product Configurator Response Bodies
"uiTreatmentType": "Disable"
}
],
"errors": [],
"productQualifications": {
"01tDU000000EOTCYA4": {
"isQualified": true
}
},
"success": true
}
configurator Configurator UI Details of the UI treatments that specify the Small, 62.0 62.0
UITreatments Treatment[] product configuration rule actions to
override the disable or hide behavior in the
UI for product options, product attributes,
and attribute picklist values.
errors Error Response List of errors, which contains an error code Small, 60.0 60.0
and a message.
product Map<String, Map of the product IDs to the qualification Small, 60.0 60.0
Qualifications Configurator rule execution results.
Qualification
Context>
success Boolean Indicates whether the call was successful Small, 60.0 60.0
(true) not (false).
Configuration Update
Output representation of the details of the updated configuration.
JSON example
This example shows a sample when the update operation is successful.
{
"errors": [],
"success": true
}
This example shows a sample when the update operation has errors.
{
"errors": [
731
Product Configurator Response Bodies
{
"code": "INTERNAL_SERVER_ERROR",
"message": "INVALID_REFERENCEOBJECTID"
}
],
"success": false
}
success Boolean Indicates whether the update operation is Small, 63.0 63.0
successful (true) or not (false)
Error Response
Output representation of the details of the error.
JSON example
{
"errors": [
{
"code": "BAD_REQUEST",
"message": "MISSING_REFERENCEOBJECTID"
}
]
}
732
Product Configurator Response Bodies
"attributePicklistValueId": "0v6xx0000000005AAA"
},
"uiTreatmentScope": "Bundle",
"uiTreatmentTarget": "Attribute_Picklist_Value",
"uiTreatmentType": "Hide"
},
{
"details": {
"stiId": "ref_f0f2da7b_c431_482d_bf4b_599052f3a2e1"
},
"uiTreatmentScope": "Product",
"uiTreatmentTarget": "Component",
"uiTreatmentType": "Disable"
}
],
"errors": [],
"productQualifications": {
"01tDU000000EOTCYA4": {
"isQualified": true
}
},
"success": true
}
configurator Configurator UI Details of the UI treatments that specify the Small, 62.0 62.0
UITreatments Treatment[] product configuration rule actions to
override the disable or hide behavior in the
UI for product options, product attributes,
and attribute picklist values.
errors Error Response List of errors, which contains an error code Small, 60.0 60.0
and a message.
product Map<String, Map of the product IDs to the qualification Small, 60.0 60.0
Qualifications Configurator rule execution results.
Qualification
Context>
success Boolean Indicates whether the call was successful Small, 60.0 60.0
(true) not (false).
733
CHAPTER 7 Transaction Management
In this chapter ... Automate and optimize the quote creation or order capture
EDITIONS
experience with the right products and right prices whether its an
• Quote and Order initial, amendment, or renewal sale. Available in: Lightning
Capture
Experience
• Asset Lifecycle
Available in: Enterprise,
Unlimited, and Developer
Editions of Revenue Cloud
where Transaction
Management is enabled
734
Transaction Management Quote and Order Capture
SEE ALSO:
Salesforce Help: Permissions for Quote and Order Capture
ApprovalSubmission
Represents the instance of an approval request that's submitted for a record of the related object. This object is available in API
version 62.0 and later.
ContractItemPrice
Represents an object that’s used to capture a price for a product on a contract. This object is available in API version 61.0 and later.
ContractItemPriceAdjTier
Represents the tiers of a price adjustment to a product on a contract. This object is available in API version 63.0 and later.
735
Transaction Management Quote and Order Capture Standard Objects
ContractItemPriceHistory
Represents the history of changes to the values in the fields of a ContractItemPrice object. This object is available in API version 61.0
and later.
OrderDeliveryMethod
Shows the customizations and options that a buyer selected for their delivery method. This object is available in API version 48.0
and later.
OrderItemAttribute
Represents a virtual object which is associated with the Attribute Value Store object. This object is available in API version 60.0 and
later.
OrderItemDetail
Represents information about the quantity and price details of an order product. This object is available in API version 60.0 and later.
OrderItemRateAdjustment
Represents the negotiated rate adjustment for an order product. This object is available in API version 62.0 and later.
OrderItemRateCardEntry
Represents the catalog and negotiated rates of a usage metric associated with an order item that's used to charge overage
consumption. This object is available in API version 62.0 and later.
SalesTransactionType
Represents the type of the sales transaction. This object is available in API version 61.0 and later.
QuoteAction
Indicates the type of sales transaction that’s being quoted; for example, a renewal sale. This object is available in API version 59.0
and later.
QuoteLineDetail
Represents information about the quantity and price detail of a quote line item. This object is available in API version 60.0 and later.
QuoteLineRateAdjustment
Represents the negotiated rate adjustment for a quote line item. This object is available in API version 62.0 and later.
QuoteLineRateCardEntry
Represents the catalog and negotiated rates of a usage resource associated with a quote line item that's used to charge overage
consumption. This object is available in API version 62.0 and later.
SEE ALSO:
Object Reference for the Salesforce Platform: Overview of Salesforce Objects and Fields
SOAP API Developer Guide: Introduction to SOAP API
ApprovalSubmission
Represents the instance of an approval request that's submitted for a record of the related object. This object is available in API version
62.0 and later.
Supported Calls
describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve()
736
Transaction Management Quote and Order Capture Standard Objects
Fields
Field Details
Comments Type
textarea
Properties
Nillable
Description
The comments about the request that's submitted for approval.
DoesSendApprovalEmail Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Required. Indicates whether approval request emails are sent to approvers and delegates
(true) or not (false).
The default value is false.
FlowOrchestrationInstanceId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the flow orchestration instance record that's associated with the approval.
This field is a relationship field.
Relationship Name
FlowOrchestrationInstance
Refers To
FlowOrchestrationInstance
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The auto-generated name for the approval submission.
737
Transaction Management Quote and Order Capture Standard Objects
Field Details
OwnerId Type
reference
Properties
Filter, Group, Sort
Description
The ID of the user or the group that owns the approval submission record.
This field is a polymorphic relationship field.
Relationship Name
Owner
Refers To
Group, User
RelatedRecordId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Required. The ID of the related record that's submitted for approval.
This field is a polymorphic relationship field.
Relationship Name
RelatedRecord
Refers To
Account, AdAvailabilityViewConfig, Address, AnalyticsUserAttrFuncTkn, ApprovalSubmission,
ApprovalSubmissionDetail, ApprovalWorkItem, Asset, AssetAction, AssetActionSource,
AssetContractRelationship, AssetRateAdjustment, AssetRateCardEntry, AssetRelationship,
AssetStatePeriod, AssociatedLocation, AsyncOperationTracker, AttrPicklistExcludedValue,
AttributeAdjustmentCondition, AttributeBasedAdjRule, AttributeBasedAdjustment,
AttributeCategory, AttributeCategoryAttribute, AttributeDefinition, AttributePicklist,
AttributePicklistValue, AuthorizationForm, AuthorizationFormConsent,
AuthorizationFormDataUse, AuthorizationFormText, BatchJob, BatchJobPart,
BatchJobPartFailedRecord, BundleBasedAdjustment, BusinessBrand, Case, CaseComment,
ChannelProgram, ChannelProgramLevel, ChannelProgramMember, CollaborationGroup,
CommSubscription, CommSubscriptionChannelType, CommSubscriptionConsent,
CommSubscriptionTiming, Contact, ContactPointAddress, ContactPointConsent,
ContactPointEmail, ContactPointPhone, ContactPointTypeConsent, ContactRequest,
ContextDefinitionSync, Contract, ContractItemPrice, ContractItemPriceAdjTier, CostBook,
CostBookEntry, Customer, DTRecordsetReplica, DataUseLegalBasis, DataUsePurpose,
DecisionTblFileImportData, DelegatedAccount, DocGenerationQueryResult,
DocTemplateSectionCondition, DocumentEnvelope, DocumentGenerationProcess,
DocumentRecipient, DocumentTemplate, DocumentTemplateContentDoc,
DocumentTemplateSection, DocumentTemplateToken, DuplicateRecordItem,
DuplicateRecordSet, EmailMessage, EngagementChannelType, ExpressionSetConstraintObj,
ExternalEventMapping, FlowOrchestrationInstance, FulfillmentOrder,
738
Transaction Management Quote and Order Capture Standard Objects
Field Details
FulfillmentOrderItemAdjustment, FulfillmentOrderItemTax, FulfillmentOrderLineItem,
GeneratedDocument, GeneratedDocumentSection, Idea, Image, Individual,
IntegrationProviderDcsnRqmt, IntegrationProviderExecution, Lead, Location,
LocationTrustMeasure, ManagedContentVariant, ObjectStateDefinition, ObjectStateTransition,
ObjectStateValue, Obligation, Opportunity, OpportunityRelatedDeleteLog, Order, OrderAction,
OrderAdjustmentGroup, OrderDeliveryGroup, OrderDeliveryMethod, OrderItem,
OrderItemAdjustmentLineItem, OrderItemDetail, OrderItemRateAdjustment,
OrderItemRateCardEntry, OrderItemRecipient, OrderItemRelationship, OrderItemTaxLineItem,
OrgMetricScanResult, OrgMetricScanSummary, Organization, PartnerFundAllocation,
PartnerFundClaim, PartnerFundRequest, PartnerMarketingBudget, PartyConsent,
PriceBookEntryDerivedPrice, PriceBookRateCard, PricingAdjBatchJob, PricingAdjBatchJobLog,
PricingApiExecution, PricingProcessExecution, ProcessException, Product2,
ProductAttributeDefinition, ProductCatalog, ProductCategory, ProductCategoryDisqual,
ProductCategoryProduct, ProductCategoryQualification, ProductClassification,
ProductClassificationAttr, ProductComponentGroup, ProductComponentGrpOverride,
ProductConfigFlowAssignment, ProductConfigurationFlow, ProductConfigurationRule,
ProductDisqualification, ProductPriceHistoryLog, ProductPriceRange, ProductQualification,
ProductRampSegment, ProductRelComponentOverride, ProductUsageGrant, ProfileSkill,
ProfileSkillEndorsement, ProfileSkillUser, PromptAction, PromptError, QuickText,
QuickTextUsage, Quote, QuoteLineDetail, QuoteLineItem, QuoteLineItemRecipient,
QuoteLineRateAdjustment, QuoteLineRateCardEntry, RateAdjustmentByAttribute,
RateAdjustmentByTier, RateCard, RateCardEntry, RatingFrequencyPolicy, SalesTransactionType,
Seller, Shipment, ShipmentItem, Site, SocialPersona, SocialPost, Solution, StreamingChannel,
TableauHostMapping, Topic, UnitOfMeasure, UnitOfMeasureClass, UsageGrantRenewalPolicy,
UsageGrantRolloverPolicy, UsageResource, UsageResourceBillingPolicy, User,
UserEsignVendorIdentifier, UserLicense, UserLocalWebServerIdentity, UserProvisioningRequest,
WorkBadge, WorkBadgeDefinition, WorkOrder, WorkOrderLineItem, WorkThanks
RelatedRecordObjectName Type
string
Properties
Filter, Group, Nillable, Sort
Description
Required. The type of record that was submitted for approval.
Status Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. The status of the approval.
Valid values are:
• Approved
• Canceled
739
Transaction Management Quote and Order Capture Standard Objects
Field Details
• Errored
• InProgress
• Recalled
• Rejected
• Suspended
SubmittedById Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Required. The ID of the user who submitted the record for approval.
This field is a relationship field.
Relationship Name
SubmittedBy
Refers To
User
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ApprovalSubmissionOwnerSharingRule on page 1670
Sharing rules are available for the object.
ApprovalSubmissionShare on page 1672
Sharing is available for the object.
ContractItemPrice
Represents an object that’s used to capture a price for a product on a contract. This object is available in API version 61.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
740
Transaction Management Quote and Order Capture Standard Objects
Fields
Field Details
ContractId Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the contract.
This field is a relationship field.
Relationship Name
Contract
Relationship Type
Master-detail
Refers To
Contract (the master object)
DiscountType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Type of discount to apply, which is a percentage of the price or an amount.
Valid values are:
• AdjustmentAmount
• AdjustmentPercentage
DiscountValue Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
Value of the discount to apply based on the discount type.
EndDate Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
End date and time of the relationship between the contract and contract item price.
741
Transaction Management Quote and Order Capture Standard Objects
Field Details
ItemId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
ID of the product or product category related to a price in a contract.
This field is a polymorphic relationship field.
Relationship Name
Item
Relationship Type
Lookup
Refers To
Product2, ProductCategory
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp when the current user last accessed this record, a record related to this record,
or a list view.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp when the current user last viewed this record or list view. If this value is null, the
user accessed this record or list view (LastReferencedDate) but didn’t view it.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
Auto-generated number assigned to the contract item price. (Read Only)
Price Type
currency
Properties
Create, Filter, Nillable, Sort, Update
742
Transaction Management Quote and Order Capture Standard Objects
Field Details
Description
Unit price for the product sold as part of the contract.
ProductSellingModelId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Product selling model for the product associated with the price.
This field is a relationship field.
Relationship Name
ProductSellingModel
Relationship Type
Lookup
Refers To
ProductSellingModel
SellingModelType Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Selling mode type to specify whether the product is sold as a one-time sale, an evergreen
subscription, or a subscription with a defined term.
Valid values are:
• Evergreen
• OneTime
• TermDefined
This value is derived from the product selling model.
StartDate Type
dateTime
Properties
Create, Filter, Sort, Update
Description
Start date and time of the relationship between the contract and contract item price.
743
Transaction Management Quote and Order Capture Standard Objects
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
ContractItemPriceHistory on page 746
History is available for tracked fields of the object.
ContractItemPriceAdjTier
Represents the tiers of a price adjustment to a product on a contract. This object is available in API version 63.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
Fields
Field Details
ContractItemPriceId Type
reference
Properties
Create, Filter, Group, Sort
Description
The contract item price ID associated with the contract item price adjustment tier.
This field is a relationship field.
Relationship Name
ContractItemPrice
Relationship Type
Master-detail
Refers To
ContractItemPrice (the master object)
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
744
Transaction Management Quote and Order Capture Standard Objects
Field Details
Description
The timestamp when the current user last accessed this record, a record related to this record,
or a list view.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp when the current user last viewed this record or list view. If this value is null, the
user accessed this record or list view (LastReferencedDate) but didn’t view it.
LowerBound Type
double
Properties
Create, Filter, Sort, Update
Description
The minimum quantity for the adjustment to be applicable.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the record.
TierType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of adjustment tier.
Valid values are:
• AdjustmentAmount
• AdjustmentPercentage
• OverrideAmount
TierValue Type
double
Properties
Create, Filter, Sort, Update
745
Transaction Management Quote and Order Capture Standard Objects
Field Details
Description
The price adjustment value.
UpperBound Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The maximum quantity for the adjustment to be applicable.
Associated Objects
This object has associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise,
they’re available in the specified API version and later.
ContractItemPriceAdjTierFeed
Feed tracking is available for the object.
ContractItemPriceAdjTierHistory
History is available for tracked fields of the object.
ContractItemPriceHistory
Represents the history of changes to the values in the fields of a ContractItemPrice object. This object is available in API version 61.0 and
later.
Supported Calls
describeSObjects(), getDeleted(), getUpdated(), query(), retrieve()
Fields
Field Details
ContractItemPriceId Type
reference
Properties
Filter, Group, Sort
Description
ID of the ContractItemPrice record.
This field is a relationship field.
746
Transaction Management Quote and Order Capture Standard Objects
Field Details
Relationship Name
ContractItemPrice
Relationship Type
Lookup
Refers To
ContractItemPrice
DataType Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Data type of the field that was changed.
Valid values are:
• Address
• AnyType
• AutoNumber
• Base64
• BitVector
• Boolean
• Content
• Currency
• DataCategoryGroupReference
• DateOnly
• DateTime
• Division
• Double
• DynamicEnum
• Email
• EncryptedBase64
• EncryptedText
• EntityId
• EnumOrId
• ExternalId
• Fax
• File
• HtmlMultiLineText
• HtmlStringPlusClob
• InetAddress
747
Transaction Management Quote and Order Capture Standard Objects
Field Details
• Json
• Location
• MultiEnum
• MultiLineText
• Namespace
• Percent
• PersonName
• Phone
• Raw
• RecordType
• SfdcEncryptedText
• SimpleNamespace
• StringPlusClob
• Switchable_PersonName
• Text
• TimeOnly
• Url
• YearQuarter
Field Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Name of the field that was changed.
Possible values are:
• Contract
• DiscountType
• DiscountValue
• EndDate
• Item
• Name
• Price
• ProductSellingModel
• StartDate
• created
• customPersonMerged
• feedEvent
748
Transaction Management Quote and Order Capture Standard Objects
Field Details
• individualMerged
• locked—Record locked.
• ownerAccepted—Owner (Accepted)
• ownerAssignment—Owner (Assignment)
• unlocked—Record unlocked.
NewValue Type
anyType
Properties
Nillable, Sort
Description
New value of the field that was changed.
OldValue Type
anyType
Properties
Nillable, Sort
Description
Latest value of the field before it was changed.
OrderDeliveryMethod
Shows the customizations and options that a buyer selected for their delivery method. This object is available in API version 48.0 and
later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
Carrier Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
749
Transaction Management Quote and Order Capture Standard Objects
Field Details
Description
The carrier that the buyer chose for their delivery method. Developers must add values to
this field.
ClassOfService Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The carrier class of service that the buyer chose for their delivery method. Developers must
add values to this field.
Description Type
textarea
Properties
Create, Nillable, Update
Description
Description of the delivery method.
IsActive Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Assign new delivery groups to active delivery methods.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, this
record might only have been referenced (LastReferencedDate) and not viewed.
750
Transaction Management Quote and Order Capture Standard Objects
Field Details
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Required. Default name of this record.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The user who owns an order delivery method record.
ProductId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Optional. This product represents a delivery charge order product for a delivery using this
delivery method. For example, you could create a product that represents an overnight
express charge and assign it to an overnight express delivery method.
ReferenceNumber Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Reference number for an external delivery method.
ShippingCarrierMethod Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Optional. A specific shipping service provided by a shipping carrier, such as Ground, 2Day,
and NextDay. Depends on the range of transit times available for each carrier.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
751
Transaction Management Quote and Order Capture Standard Objects
OrderItemAttribute
Represents a virtual object which is associated with the Attribute Value Store object. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
Field Details
AttributeDefinitionId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the attribute definition for this order item attribute.
This field is a relationship field.
Relationship Name
AttributeDefinition
Relationship Type
Lookup
Refers To
AttributeDefinition
AttributeName Type
string
Properties
Filter, Group, idLookup, Nillable, Sort
Description
The name given to order item attribute.
AttributePicklistValueId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
752
Transaction Management Quote and Order Capture Standard Objects
Field Details
Description
The ID of the attribute picklist value if the attribute is a picklist type.
This field is a relationship field.
Relationship Name
AttributePicklistValue
Relationship Type
Lookup
Refers To
AttributePicklistValue
AttributeValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Stores the value of the order item attribute. For example 5-TB storage.
ExternalId Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
An auto-generated ID of the attribute record saved in an external system (for example an
HBase database).
OrderItemId Type
reference
Properties
Create, Filter, Group, Sort
Description
The parent order item associated with the order item attribute.
This field is a relationship field.
Relationship Name
OrderItem
Relationship Type
Lookup
Refers To
OrderItem
753
Transaction Management Quote and Order Capture Standard Objects
OrderItemDetail
Represents information about the quantity and price details of an order product. This object is available in API version 60.0 and later.
Supported Calls
describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve()
Fields
Field Details
BillingReference Type
string
Properties
Filter, Group, Nillable, Sort
Description
Reference to the original order item for which this amend or cancel record is created.
LineNumber Type
int
Properties
Filter, Group, Nillable, Sort
Description
The line number of the detail record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the record.
NetUnitPrice Type
currency
Properties
Filter, Sort
Description
The unit price of the item that's calculated after applying any discounts and before tax
calculation.
754
Transaction Management Quote and Order Capture Standard Objects
Field Details
OrderItemId Type
reference
Properties
Filter, Group, Sort
Description
The ID of the related order item.
This field is a relationship field.
Relationship Name
OrderItem
Relationship Type
Lookup
Refers To
OrderItem
PriceWaterfallIdentifier Type
string
Properties
Filter, Group, Nillable, Sort
Description
The price waterfall identifier generated by Salesforce Pricing that's associated with the pricing
of the detail record.
Quantity Type
double
Properties
Filter, Sort
Description
The quantity specified for the item in the detail record.
ReferenceDate Type
date
Properties
Filter, Group, Nillable, Sort
Description
The reference date of the item. For example, the start date of the subscription that's associated
with the detail record.
ReferenceNumber Type
string
Properties
Filter, Group, Nillable, Sort
755
Transaction Management Quote and Order Capture Standard Objects
Field Details
Description
The reference number of the item. For example, the order number that's associated with the
detail record.
TotalLineAmount Type
currency
Properties
Filter, Sort
Description
The net total price of the order product, before price adjustments, inclusive of quantity and
subscription term.
TotalPrice Type
currency
Properties
Filter, Sort
Description
The total price of the item in the detail record that's calculated using the quantity, net unit
price, and after applying the pricing terms.
UnitPrice Type
currency
Properties
Filter, Sort
Description
The unit price of the item before any discounts or tax calculation.
OrderItemRateAdjustment
Represents the negotiated rate adjustment for an order product. This object is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), update(), upsert()
756
Transaction Management Quote and Order Capture Standard Objects
Fields
Field Details
AdjustmentType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the type of rate adjustment.
Possible values are:
• Amount
• Override
• Percentage
AdjustmentValue Type
double
Properties
Create, Filter, Sort, Update
Description
The value of the adjustment.
LowerBound Type
double
Properties
Create, Filter, Sort, Update
Description
The minimum quantity for the adjustment to be applicable.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the order item rate adjustment.
OrderItemRateCardEntryId Type
reference
Properties
Create, Filter, Group, Sort
Description
The parent order item rate card entry associated with the order item rate adjustment.
This field is a relationship field.
757
Transaction Management Quote and Order Capture Standard Objects
Field Details
Relationship Name
OrderItemRateCardEntry
Relationship Type
Master-detail
Refers To
OrderItemRateCardEntry (the master object)
UpperBound Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The quantity below which the adjustment must be applicable. For example, if you want the
adjustment to be applicable when the quantity is 99 or less, set this value to 100.
OrderItemRateCardEntry
Represents the catalog and negotiated rates of a usage metric associated with an order item that's used to charge overage consumption.
This object is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), update(), upsert()
Fields
Field Details
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
An auto-generated number assigned to the order item rate card entry record.
NegotiatedRate Type
double
758
Transaction Management Quote and Order Capture Standard Objects
Field Details
Properties
Create, Filter, Nillable, Sort, Update
Description
The base negotiated rate used to charge overage consumption.
OrderItemId Type
reference
Properties
Create, Filter, Group, Sort
Description
The parent order item associated with the order item rate card entry.
This field is a relationship field.
Relationship Name
OrderItem
Relationship Type
Master-detail
Refers To
OrderItem (the master object)
RateCardEntryId Type
reference
Properties
Create, Filter, Group, Sort
Description
The rate card entry containing catalog rates that's associated with the order item rate card
entry.
This field is a relationship field.
Relationship Name
RateCardEntry
Refers To
RateCardEntry
RateCardId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The rate card associated with the order item rate card entry.
This field is a relationship field.
Relationship Name
RateCard
759
Transaction Management Quote and Order Capture Standard Objects
Field Details
Refers To
RateCard
RateUnitOfMeasureId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The standard unit of measure containing the unit for the negotiated rate that's associated
with the order item rate card entry.
This field is a relationship field.
Relationship Name
RateUnitOfMeasure
Refers To
UnitOfMeasure
UsageResourceId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage resource associated with the order item rate card entry.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
SalesTransactionType
Represents the type of the sales transaction. This object is available in API version 61.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
760
Transaction Management Quote and Order Capture Standard Objects
Fields
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last accessed this record, a record related to this record,
or a list view.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last viewed this record or list view. If this value is null,
the user might have only accessed this record or list view but not viewed it directly.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the sales transaction type.
QuoteAction
Indicates the type of sales transaction that’s being quoted; for example, a renewal sale. This object is available in API version 59.0 and
later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), undelete(), update(), upsert()
761
Transaction Management Quote and Order Capture Standard Objects
Fields
Field Details
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last accessed this record indirectly, for example, through
a list view or related record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last viewed this record or list view. If this value is null,
the user accessed this record or list view indirectly, but didn’t view it.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name given to the quote action.
QuoteId Type
reference
Properties
Create, Filter, Group, Sort
Description
The quote related to this quote action.
This field is a relationship field.
Relationship Name
Quote
Relationship Type
Lookup
Refers To
Quote
SourceAssetId Type
reference
762
Transaction Management Quote and Order Capture Standard Objects
Field Details
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The asset changed by this sales transaction. For example, if the quote action is a quantity
amendment, this field contains the ID of the asset that’s amended.
This field is a relationship field.
Relationship Name
SourceAsset
Relationship Type
Lookup
Refers To
Asset
Type Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The type of sales transaction that the related quote is for.
Valid values are:
• Add
• Amend
• Cancel
• No Change
• Renew
QuoteLineDetail
Represents information about the quantity and price detail of a quote line item. This object is available in API version 60.0 and later.
Supported Calls
describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve()
763
Transaction Management Quote and Order Capture Standard Objects
Fields
Field Details
BillingReference Type
string
Properties
Filter, Group, Nillable, Sort
Description
Reference to the original order item for which this amend or cancel record is created.
LineNumber Type
int
Properties
Filter, Group, Nillable, Sort
Description
The line number of the detail record.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The name of the record.
NetUnitPrice Type
currency
Properties
Filter, Sort
Description
The unit price of the item that's calculated after applying any discounts and before tax
calculation.
PriceWaterfallIdentifier Type
string
Properties
Filter, Group, Nillable, Sort
Description
The price waterfall identifier generated by Salesforce Pricing that's associated with the pricing
of the detail record.
Quantity Type
double
764
Transaction Management Quote and Order Capture Standard Objects
Field Details
Properties
Filter, Sort
Description
The quantity specified for the item in the detail record.
QuoteLineItemId Type
reference
Properties
Filter, Group, Sort
Description
The ID of the related quote line.
This field is a relationship field.
Relationship Name
QuoteLineItem
Relationship Type
Lookup
Refers To
QuoteLineItem
ReferenceDate Type
date
Properties
Filter, Group, Nillable, Sort
Description
The reference date of the item. For example, the start date of the subscription that's associated
with the detail record.
ReferenceNumber Type
string
Properties
Filter, Group, Nillable, Sort
Description
The reference number of the item. For example, the order number that's associated with the
detail record.
TotalLineAmount Type
currency
Properties
Filter, Sort
765
Transaction Management Quote and Order Capture Standard Objects
Field Details
Description
The net total price of the order product, before price adjustments, inclusive of quantity and
the subscription term.
TotalPrice Type
currency
Properties
Filter, Sort
Description
The total price of the item in the detail record that's calculated using the quantity, net unit
price, and after applying the pricing terms.
UnitPrice Type
currency
Properties
Filter, Sort
Description
The unit price of the item before any discounts or tax calculation.
QuoteLineRateAdjustment
Represents the negotiated rate adjustment for a quote line item. This object is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), update(), upsert()
Fields
Field Details
AdjustmentType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the type of rate adjustment.
766
Transaction Management Quote and Order Capture Standard Objects
Field Details
Possible values are:
• Amount
• Override
• Percentage
AdjustmentValue Type
double
Properties
Create, Filter, Sort, Update
Description
The value of the adjustment.
LowerBound Type
double
Properties
Create, Filter, Sort, Update
Description
The minimum quantity for the adjustment to be applicable.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the quote line rate adjustment record.
QuoteLineRateCardEntryId Type
reference
Properties
Create, Filter, Group, Sort
Description
The parent quote line rate card entry associated with the quote line rate adjustment.
This field is a relationship field.
Relationship Name
QuoteLineRateCardEntry
Relationship Type
Master-detail
Refers To
QuoteLineRateCardEntry (the master object)
767
Transaction Management Quote and Order Capture Standard Objects
Field Details
UpperBound Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The quantity below which the adjustment must be applicable. For example, if you want the
adjustment to be applicable when the quantity is 99 or less, set this value to 100.
QuoteLineRateCardEntry
Represents the catalog and negotiated rates of a usage resource associated with a quote line item that's used to charge overage
consumption. This object is available in API version 62.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), update(), upsert()
Fields
Field Details
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
An auto-generated number assigned to the quote line rate card entry record.
NegotiatedRate Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The base negotiated rate used to charge overage consumption.
QuoteLineItemId Type
reference
768
Transaction Management Quote and Order Capture Standard Objects
Field Details
Properties
Create, Filter, Group, Sort
Description
The parent quote line item associated with the quote line rate card entry.
This field is a relationship field.
Relationship Name
QuoteLineItem
Relationship Type
Master-detail
Refers To
QuoteLineItem (the master object)
RateCardEntryId Type
reference
Properties
Create, Filter, Group, Sort
Description
The rate card entry containing catalog rates that's associated with the quote line rate card
entry.
This field is a relationship field.
Relationship Name
RateCardEntry
Refers To
RateCardEntry
RateCardId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The rate card associated with the quote line rate card entry.
This field is a relationship field.
Relationship Name
RateCard
Refers To
RateCard
RateUnitOfMeasureId Type
reference
Properties
Filter, Group, Nillable, Sort
769
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
Description
The standard unit of measure containing the unit for the negotiated rate that's associated
with the quote line rate card entry.
This field is a relationship field.
Relationship Name
RateUnitOfMeasure
Refers To
UnitOfMeasure
UsageResourceId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The usage resource associated with the quote line rate card entry.
This field is a relationship field.
Relationship Name
UsageResource
Refers To
UsageResource
770
Transaction Management Quote and Order Capture Fields on Standard Objects
Fields
Field Details
AppUsageType Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
This field indicates under which AppUsageType the transition applies to. For example,
ObjectStateDefinition associated with “Revenue Lifecycle Management” AppUsageType will
apply to quotes, assets, or orders associated with “Revenue Lifecycle Management”.
771
Transaction Management Quote and Order Capture Fields on Standard Objects
Fields
Field Details
CustomPermissionId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the associated custom permission.
This field is a relationship field.
Relationship Name
CustomPermission
Relationship Type
Lookup
Refers To
CustomPermission
Fields
Field Details
CustomPermissionId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the associated custom permission.
This field is a relationship field.
Relationship Name
CustomPermission
Relationship Type
Lookup
Refers To
CustomPermission
772
Transaction Management Quote and Order Capture Fields on Standard Objects
Fields
Field Details
CalculationStatus Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The status of the price and tax calculations for the order.
Valid values are:
• CompletedWithPricing—Indicates that pricing is complete and tax will now be
calculated.
• CompletedWithTax—Indicates that pricing and tax calculation are complete.
• CompletedWithoutPricing—Indicates that pricing and tax calculation were
skipped. For a sales rep, this value appears as Unknown on the order page.
• ConfigurationFailed—Indicates that configuration failed. Available in API
version 62.0
• ConfigurationInProgress—Indicates that the configuration is in progress.
Available in API version 62.0
• OrderRequestFailed—Indicates that the requested order changes weren’t saved.
Available in API version 62.0
• OrderRequestPartiallySaved—Indicates that the requested order changes
were partially saved. Available in API version 62.0
• PriceCalculationFailed—Indicates that pricing failed.
• ReconciliationFailed—Indicates that the arrangement of order data failed.
Available in API version 62.0
• ReconciliationInProgress—Indicates that the arrangement of data is in
progress. For a sales rep, this value appears as Saving on the order page. Available in
API version 62.0
• SaveFailedOrIncomplete—Indicates that the recent changes to the order
weren’t saved. For a sales rep, this value appears as Some Records Weren’t
Saved on the order page.
• TaxCalculationFailed—Indicates that pricing is complete but tax calculation
failed.
• TaxCalculationWaiting—Indicates that pricing is complete and a request is
sent to the tax engine, but tax calculation isn’t complete.
This read-only field is available in API version 61.0 and later.
773
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
DiscountPercent Type
percent
Properties
Filter, Nillable, Sort
Description
The percentage of discount applied to the order. Available in API version 60.0 and later.
FulfillmentPlanId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The unique ID of the fulfillment plan associated with the order.
This field is a relationship field.
This field is available only in orgs where Dynamic Revenue Orchestrator is enabled. Available
in API version 60.0 and later.
Relationship Name
FulfillmentPlan
Relationship Type
Lookup
Refers To
FulfillmentPlan
LastPricedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when the order price was last calculated. Available in API version 60.0 and later.
OrchestrationSbmsStatus Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The status of order submission for orchestration.
This field is available only in orgs where Dynamic Revenue Orchestrator is enabled.
Valid values are:
• Completed
• Rejected
774
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
• Submitted
This read-only field is available in API version 61.0 and later.
OriginalActionType Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
For internal use only.
Available in API version 61.0 and later.
SalesTransactionTypeId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The foreign key to the Sales Transaction Type object. Available in API version 61.0 and later.
This field is a relationship field.
Relationship Name
SalesTransactionType
Relationship Type
Lookup
Refers To
SalesTransactionType
TotalRoundedLineAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The total amount of all line items in an order without pricing adjustments, such as discounts
or tax calculations. Available in API version 60.0 and later.
ValidationResult Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies whether the order was configured and priced.
Orders can be activated only after they’re configured and priced.
Valid value is:
775
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
• TransactionIncomplete—Indicates that the order wasn’t configured and priced.
Available in API version 61.0 and later.
Fields
Field Details
CustomProductName Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The custom name of a product that's used to override the product name. Available in API
version 61.0 and later.
Discount Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The manual discount percentage for the order item. Available in API version 60.0 and later.
DiscountAmount Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
The manual discount amount for the order item. Available in API version 60.0 and later.
EffectiveGrantDate Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The date on which the resources associated with the order item are granted.
776
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
EndQuantity Type
double
Properties
Filter, Nillable, Sort
Description
The revised quantity of the item after adjusting changes. The field is read-only. It’s calculated
by adding the Start Quantity and the Quantity fields. Available in API version 60.0 and later.
NetTotalPrice Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
The total price after applying all price adjustments. Available in API version 60.0 and later.
OrderItemGroupId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The order item group associated with the order item.
This field is a relationship field.
Relationship Name
OrderItemGroup
Refers To
OrderItemGroup
PartnerDiscountPercent Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The discount percentage given to the partner for the order item. Available in API version
60.0 and later.
PartnerUnitPrice Type
currency
Properties
Create, Filter, Nillable, Sort, Update
777
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
Description
The unit price after applying the discount given to the partner for the order item. Available
in API version 60.0 and later.
PriceWaterfallIdentifier Type
string
Properties
Filter, Group, Nillable, Sort
Description
The price waterfall identifier generated by Salesforce Pricing that's associated with the pricing
of this order item record. Available in API version 60.0 and later.
StartQuantity Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The quantity available on the order item start date. Available in API version 60.0 and later.
Status Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The status of the order item. Available in API version 60.0 and later.
SubscriptionTerm Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The number of terms in the subscription for the item.
The unit of the subscription term is stored in the PricingTermUnit field of this order item’s
related product selling model record (OrderItem.ProductSellingModel.PricingTermUnit).
Available in API version 61.0 and later.
ValidationResult Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies whether the order item was configured and priced.
778
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
An order can be activated only after all its order items are configured and priced.
Valid value is:
• Warning—Indicates that the order item isn’t configured and priced.
Available in API version 60.0 and later.
Fields
Field Details
Type Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The business action that created the order product.
Valid values are:
• Add
• Amend
• Cancel
• No Change—A child product was added to the bundle, but the top-level product in
the bundle was otherwise unchanged.
• Renew
Fields
Field Details
ProductRelatedComponentId Type
reference
779
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the product that is included in a product bundle, a set, or a product and an add-on.
This field is a relationship field.
Relationship Name
ProductRelatedComponent
Relationship Type
Lookup
Refers To
ProductRelatedComponent
Fields
Field Details
LastPricedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when the quote is last priced.
PartnerAccountId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of the related partner account.
This field is a relationship field.
Relationship Name
PartnerAccount
Relationship Type
Lookup
Refers To
Account
780
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
ValidationResult Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies whether the quote was configured and priced.
Quotes can be activated only after they’re configured and priced.
Valid values are:
• TransactionIncomplete—Specifies that the quote wasn’t configured and priced.
Available in API version 61.0 and later.
Fields
Field Details
DiscountAmount Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
Specifies the fixed amount discount to apply to the quote line item.
EffectiveGrantDate Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The date on which the resources associated with the quote line item are granted.
EndQuantity Type
double
Properties
Filter, Nillable, Sort
Description
The quantity available on the quote line item end date. The field is read-only. It is calculated
by adding the Start Quantity and the existing Quantity fields.
781
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
PartnerDiscountPercent Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The discount percentage given to the partner for the quote line.
PartnerUnitPrice Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
The unit price after discount given to the partner for the quote line.
PriceWaterfallIdentifier Type
string
Properties
Filter, Group, Nillable, Sort
Description
The price waterfall identifier generated by Salesforce Pricing that's associated with the pricing
of the detail record.
StartQuantity Type
double
Properties
Create, Filter, Nillable, Sort
Description
The quantity available on the quote line item start date.
TaxTreatmentId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the tax treatment associated with the quote line item.
This field is a relationship field.
Relationship Name
TaxTreatment
Relationship Type
Lookup
782
Transaction Management Quote and Order Capture Fields on Standard Objects
Field Details
Refers To
TaxTreatment
ValidationResult Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies whether the quote line item is configured and priced.
A quote can be activated only after all its quote line items are configured and priced.
Valid value is:
• Warning—Indicates that the quote line item isn’t configured and priced.
Available in API version 60.0 and later.
Fields
Field Details
Document Template Type
String
Properties
Create, Filter, Group, Nillable, Sort
Description
The template ID used for generating the quote document.
Status Type
Picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The status of the quote document.
Possible values are:
• Completed
• Failed
• Generating
783
Transaction Management Quote and Order Capture Tooling API Objects
Field Details
• In Progress
• None
• Queued
The default value is None.
TransactionProcessingType
Represents the settings to configure the processing constraints for a request.. This object is available in API version 63.0 and later.
TransactionProcessingType
Represents the settings to configure the processing constraints for a request.. This object is available in API version 63.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Fields
Field Details
Description Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
The description of the transaction processing configuration to help Salesforce admins with
configuration in their orgs.
DeveloperName Type
string
784
Transaction Management Quote and Order Capture Tooling API Objects
Field Details
Properties
Create, Filter, Group, Sort
Description
Required. The unique name of the object in the API. This name can contain only underscores
and alphanumeric characters, and must be unique in your org. It must begin with a letter,
not include spaces, not end with an underscore, and not contain two consecutive underscores.
In managed packages, this field prevents naming conflicts on package installations. With
this field, a developer can change the object’s name in a managed package and the changes
are reflected in a subscriber’s organization. Label is Record Type Name.
Language Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The language of the TransactionProcessingType object.
Possible values are:
• da—Danish
• de—German
• en_US—English
• es—Spanish
• es_MX—Spanish (Mexico)
• fi—Finnish
• fr—French
• it—Italian
• ja—Japanese
• ko—Korean
• nl_NL—Dutch
• no—Norwegian
• pt_BR—Portuguese (Brazil)
• ru—Russian
• sv—Swedish
• th—Thai
• zh_CN—Chinese (Simplified)
• zh_TW—Chinese (Traditional)
MasterLabel Type
string
Properties
Create, Filter, Group, Sort
785
Transaction Management Quote and Order Capture Platform Event
Field Details
Description
The label for the TransactionProcessingType object.
RuleEngine Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The rule engine to be used for processing rules.
Valid values are:
• AdvancedConfigurator
• StandardConfigurator
SaveType Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
Specifies how the transaction results are processed when saved for Salesforce administrators
to adjust the user experience as desired.
Valid value is:
• Standard
786
Transaction Management Quote and Order Capture Platform Event
Supported Calls
describeSObjects()
Supported Subscribers
Subscriber Supported?
Apex Triggers
Flows
Processes
Pub/Sub API
Subscription Channel
/event/PlaceOrderCompletedEvent
Fields
Field Details
AppUsageTypes Type
string
Properties
Nillable
Description
Tag that represents the application that's using the order and determines how an order is
processed. For example, the AppUsageTypes field value for Revenue Cloud orders is
RevenueLifecycleManagement.
CorrelationIdentifier Type
string
Properties
Nillable
Description
Reserved for future use.
EventUuid Type
string
787
Transaction Management Quote and Order Capture Platform Event
Field Details
Properties
Nillable
Description
A universally unique identifier (UUID) that identifies a platform event message.
HasErrors Type
boolean
Properties
Defaulted on create
Description
Indicates whether errors occurred when creating or updating the order (true) or not
(false).
The default value is false.
OrderId Type
reference
Properties
Nillable
Description
ID of the order record.
This field is a relationship field.
Relationship Name
Order
Refers To
Order
ReplayId Type
string
Properties
Nillable
Description
Represents an ID value that is populated by the system and refers to the position of the event
in the event stream. Replay ID values aren’t guaranteed to be contiguous for consecutive
events. A subscriber can store a replay ID value and use it on resubscription to retrieve missed
events that are within the retention window.
RequestIdentifier Type
string
Properties
Nillable
788
Transaction Management Quote and Order Capture Platform Event
Field Details
Description
ID of the request that triggered the event.
QuoteSaveEvent
Notifies subscribers that the process started by the /actions/standard/quotesaveevent request is complete. If the process is successful,
use this event to learn about the updated quote. If the request isn't successful, use this event to learn about the errors and how to fix
them. This object is available in API version 60.0 and later.
Supported Calls
describeSObjects()
Supported Subscribers
Subscriber Supported?
Apex Triggers
Flows
Processes
Fields
Field Details
CorrelationIdentifier Type
string
Properties
Nillable
Description
Reserved for future use.
789
Transaction Management Quote and Order Capture Platform Event
Field Details
EventUuid Type
string
Properties
Nillable
Description
A universally unique identifier (UUID) that identifies a platform event message.
HasErrors Type
boolean
Properties
Defaulted on create
Description
The default value is false.
Possible values are:
• false
• true
QuoteId Type
reference
Properties
Nillable
Description
The ID of the quote associated with this event. This field is a relationship field.
ReplayId Type
string
Properties
Nillable
Description
Represents an ID value that is populated by the system and refers to the position of the event
in the event stream. Replay ID values aren’t guaranteed to be contiguous for consecutive
events. A subscriber can store a replay ID value and use it on resubscription to retrieve missed
events that are within the retention window.
RequestIdentifier Type
string
Properties
Nillable
Description
The unique ID returned in the /quotesaveevent response. Use this ID to identify the event
for the specific request.
790
Transaction Management Quote and Order Capture Business APIs
Resource Description
/industries/cpq/quotes/actions/get-instant-price (POST) Fetch instant pricing data on
the quote or order line data grid
and associated summary
component. It offers capabilities
to either create a context or
update the existing one based
on the provided context ID.
791
Transaction Management Quote and Order Capture Business APIs
Resource Description
/connect/rev/sales-transaction/actions/place (POST) Create a sales transaction, such
as an order or a quote, with
integrated pricing and
configuration. Additionally,
update an order or a quote, and
insert and delete order or quote
line items to calculate the
estimated tax.
Resources
Learn more about the available Quote and Order Capture resources.
Request Bodies
Learn more about the available API request bodies.
Response Bodies
Learn more about the available response bodies.
SEE ALSO:
Connect REST API Developer Guide: Introduction
Resources
Learn more about the available Quote and Order Capture resources.
792
Transaction Management Quote and Order Capture Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/industries/cpq/quotes/actions/get-instant-price
Available version
60.0
Requires Chatter
No
HTTP methods
POST
Request body for POST
JSON example
{
"correlationId": "1234567",
"contextId": "",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "POST"
},
"Name": "Test Quote Proration Pricing",
"OpportunityId": "006xx000001a4ISAAY",
"Pricebook2Id": "01sxx0000005ptpAAA"
}
},
{
"referenceId": "refQuoteLine",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "POST"
},
793
Transaction Management Quote and Order Capture Business APIs
"QuoteId": "refQuote",
"PricebookEntryId": "01uxx0000008zHmAAI",
"Product2Id": "01txx0000006jmWAAQ",
"Quantity": 2,
"UnitPrice": 25,
"StartDate": "2022-09-28",
"EndDate": "2028-09-27",
"PeriodBoundary": "ANNIVERSARY",
"BillingFrequency": "ANNUAL"
}
}
]
}
This example shows a sample request to specify grouping of lines based on criteria.
{
"contextId": "",
"correlationId": "",
"records": [
{
"referenceId": "0Q0xx0000004DOSCA2",
"record": {
"attributes": {
"type": "Quote",
"method": "PUT"
}
}
},
{
"referenceId": "0QLxx0000004F3gGAE",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PUT"
},
"Quantity": 5
}
}, {
"referenceId": "0QLxx0000004F3hGAE",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PUT"
},
"Quantity": 2
}
},
{
"referenceId": "GroupId1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupBy",
794
Transaction Management Quote and Order Capture Business APIs
"criteria": {
"Quantity": 5
}
},
"Name": "record"
}
}, {
"referenceId": "GroupId2",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"Quantity": 2
}
},
"Name": "record1",
}
}
]
}
This example shows a sample request for the initial grouping of the quote with the quote lines assigned to the first group.
{
"contextId": "",
"correlationId": "",
"records": [
{
"referenceId": "0Q0xx0000004CAgCAM",
"record": {
"attributes": {
"type": "Quote",
"method": "PUT"
}
}
},
{
"referenceId": "GroupId1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupAll"
},
"Name": "sample"
}
}
]
}
795
Transaction Management Quote and Order Capture Business APIs
This example shows a sample request to ungroup a quote but retain the quote lines.
{
"contextId": "",
"correlationId": "",
"records": [
{
"referenceId": "0Q0xx0000004CAgCAM",
"record": {
"attributes": {
"type": "Quote",
"method": "PUT"
}
}
},
{
"referenceId": "0QLxx0000004CBYGA2",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PUT"
},
"Quantity": 2,
"QuoteLineGroupId": null
}
},
{
"referenceId": "GroupId1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "DELETE",
"action": "Ungroup"
}
}
}
]
}
796
Transaction Management Quote and Order Capture Business APIs
"referenceId": "GroupId1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST"
},
"Name": "sample"
}
}
]
}
797
Transaction Management Quote and Order Capture Business APIs
},
{
"referenceId": "0QLxx0000004CBYGA2",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PUT"
},
"Quantity": 2
"QuoteLineGroupId": "{@GroupId2}"
}
},
]
}
Properties
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/commerce/sales-orders/actions/place
798
Transaction Management Quote and Order Capture Business APIs
Available version
60.0
HTTP methods
POST
Request body for POST
JSON example
{
"pricingPref": "System",
"configurationInput": "RunAndAllowErrors",
"configurationOptions": {
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
},
"graph": {
"graphId": "graphId",
"records": [
{
"referenceId": "refOrder",
"record": {
"attributes": {
"type": "Order",
"method": "POST",
"Id": "POST"
}
}
},
{
"referenceId":"refOrderItem",
"record":{
"attributes":{
"type":"OrderItem",
"method":"POST"
},
"OrderId":"@{refOrder.id}",
"OrderActionId":"@{refOrderAction.id}",
"ListPrice":"144.99",
"Quantity":3,
"PricebookEntryId":"01uxx0000008yXPAAY",
"Product2Id":"01txx0000006i2UAAQ",
"UnitPrice":"199.49"
}
}
]
}
}
799
Transaction Management Quote and Order Capture Business APIs
"graph": {
"graphId": "placeOrder",
"records": [
{
"referenceId": "refOrder",
"record": {
"attributes": {
"type": "Order",
"method": "PATCH",
"id": "801xx000003GZ9bAAG"
}
}
},
{
"referenceId": "refOlg1",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "POST"
},
"Name": "New Group",
"OrderId": "@{refOrder.id}"
}
}
]
}
}
800
Transaction Management Quote and Order Capture Business APIs
}
]
}
}
801
Transaction Management Quote and Order Capture Business APIs
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "DELETE",
"id": "refOlg",
"action": "DeleteGroup"
}
}
}
]
}
This example shows a sample request to group order items based on criteria.
{
"pricingPref": "system",
"graph": {
"graphId": "placeOrder",
"records": [
{
"referenceId": "refOrder",
"record": {
"attributes": {
"type": "Order",
"method": "PATCH",
"id": "refOrder"
}
}
},
{
"referenceId": "g0",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"BillingFrequency2": null
}
},
"Name": "Billing Frequency: ",
"OrderId": "@{refOrder.id}"
}
},
{
"referenceId": "g1",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"BillingFrequency2": "Monthly"
}
},
802
Transaction Management Quote and Order Capture Business APIs
Properties
configuration String Configuration input for the place order Optional 60.0
Input process. Valid values are:
• RunAndAllowErrors—Specifies
to run the configuration and to
proceed order ingestion upon
encountering any configuration
errors.
• RunAndBlockErrors—Specifies
to run configuration and to block
order ingestion upon encountering
any configuration errors.
• Skip—Specifies to skip
configuration.
The default value is
RunAndBlockErrors.
graph Object Graph Input The sObject graph of the order payload Required 60.0
to be ingested. You can perform create,
803
Transaction Management Quote and Order Capture Business APIs
pricingPref String Pricing preference during the create order Optional 60.0
process. Valid values are:
• Force—Specifies to force pricing
during the order ingestion process.
• Skip—Specifies to skip pricing
during the order ingestion process.
• System—Specifies the system to
determine whether a pricing
calculation is required.
The default value is System.
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/commerce/quotes/actions/place
Available version
60.0
HTTP methods
POST
804
Transaction Management Quote and Order Capture Business APIs
805
Transaction Management Quote and Order Capture Business APIs
This example shows a sample request to insert, update, or delete a quote line item.
{
"pricingPref": "System",
"configurationInput": "skip",
"graph": {
"graphId": "updateQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id": "0Q0xx0000004E2mCAE"
},
"Name": "Quote_Acme"
}
},
{
"referenceId": "refQuoteLineItemToCreate1",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "POST"
},
"QuoteId": "0Q0xx0000004E2mCAE",
"PricebookEntryId": "01uxx0000008yXPAAY",
"Product2Id": "01txx0000006i2UAAQ",
"Quantity": 2.0,
"UnitPrice": 800.0,
"PeriodBoundary": "Anniversary",
"BillingFrequency": "Monthly",
"StartDate": "2024-03-11"
}
},
{
"referenceId": "refQuoteLineItemToPatch2",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PATCH",
"id": "0Q0xx0000004E2mCAE"
},
"Quantity": 2.0,
"UnitPrice": 600.0
}
},
{
"referenceId": "refQuoteLineItemToDelete3",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "DELETE",
"id": "0Q0xx0000004E2mYLK"
806
Transaction Management Quote and Order Capture Business APIs
}
}
}
]
}
}
This example shows a sample request to define grouping of quote line items.
{
"pricingPref": "Force",
"configurationInput": "skip",
"graph": {
"graphId": "groupLines",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id":"0Q0xx0000004C99CAE"
},
"Name": "From Place Quote API"
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"Quantity": 1
}
},
"Name": "From Place Quote API Group",
"QuoteId": "@{refQuote.id}"
}
},
{
"referenceId": "refQuoteItem1",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PATCH",
"id":"0QLxx0000004DJcGAM"
},
"QuoteLineGroupId": "@{refQlg1.id}",
"Quantity": 1
}
}
]
807
Transaction Management Quote and Order Capture Business APIs
}
}
This example shows a sample request for the initial grouping of the quote with the quote lines assigned to the first group.
{
"pricingPref": "Force",
"graph": {
"graphId": "test",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id": "0Q0xx0000004CAmCAM"
}
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupAll"
},
"Name": "From PQ API Group",
"QuoteId": "@{refQuote.id}"
}
}
]
}
}
This example shows a sample request to ungroup a quote but retain the quote lines.
{
"pricingPref": "Force",
"configurationInput": "skip",
"graph": {
"graphId": "test",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id":"0Q0xx0000004C99CAE"
},
"Name": "From Place Quote API"
}
},
808
Transaction Management Quote and Order Capture Business APIs
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "DELETE",
"id": "{GroupId}",
"action": "Ungroup"
}
}
}
]
}
}
809
Transaction Management Quote and Order Capture Business APIs
"graphId": "test",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id":"0Q0xx0000004C99CAE"
},
"Name": "From Place Quote API"
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "DELETE",
"id": "{GroupId}",
"action": "DeleteGroup"
}
}
}
]
}
}
810
Transaction Management Quote and Order Capture Business APIs
"Quantity": 2,
"QuoteLineGroupId": "@{GroupId2}"
}
]
}
}
Properties
configuration String Configuration input for the place quote Optional 60.0
Input process. Valid values are:
• RunAndAllowErrors
• RunAndBlockErrors
• Skip
The default value is
RunAndBlockErrors.
graph Object Graph Input The sObject graph representing the Required 60.0
quote structure. You can perform create,
update, or delete operations on objects
from the Sales Transaction context
definition by using this property.
Additionally, perform create, update, or
delete operations on custom objects and
fields in your extended context definition.
811
Transaction Management Quote and Order Capture Business APIs
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/rev/sales-transaction/actions/place
Available version
63.0
HTTP methods
POST
Request body for POST
JSON example
This is a sample request to create a sales transaction for a quote.
{
"pricingPref": "system",
"catalogRatesPref" "skip",
"configurationPref": {
"configurationMethod": "Skip",
"configurationOptions": {
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
}
},
812
Transaction Management Quote and Order Capture Business APIs
"contextDetails": {
"contextId": "e055bb18-d4e8-41c3-881e-0132b9561708"
},
"graph": {
"graphId": "createQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"method": "POST",
"type": "Quote"
},
"Name": "Quote_Acme",
"Pricebook2Id": "01sDU000000JvhbYAC"
}
},
{
"referenceId": "refQuoteLine0",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "POST"
},
"QuoteId": "@{refQuote.id}",
"Product2Id": "01tDU000000F7b8YAC",
"PricebookEntryId": "01uDU000000fxt2YAA",
"UnitPrice": 100,
"Quantity": "1",
"StartDate": "2024-10-29",
"EndDate": "2025-03-01",
"PeriodBoundary": "Anniversary"
}
}
]
}
}
813
Transaction Management Quote and Order Capture Business APIs
},
"graph": {
"graphId": "updateQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"method": "PATCH",
"type": "Quote",
"id": "801xx000003GZ9bAAG"
}
}
},
{
"referenceId": "refQuoteLine0",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PATCH",
"id": "402xx000003KY5vJGH"
},
"Quantity": "5"
}
}
]
}
}
814
Transaction Management Quote and Order Capture Business APIs
"id": "801xx000003GZ9bAAG"
}
}
},
{
"referenceId": "refQuoteLine0",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PATCH",
"id": "402xx000003KY5vJGH"
},
"QuoteLineGroupId": "@{refQuote.id}"
}
}
]
}
}
This is s a sample request for the initial grouping of the quote with all the quote lines assigned to the first group.
{
"pricingPref": "Force",
"catalogRatesPref" "skip",
"graph": {
"graphId": "groupQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id": "0Q0xx0000004CAmCAM"
}
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupAll"
},
"Name": "From PST API Group",
"QuoteId": "@{refQuote.id}"
}
}
]
}
}
815
Transaction Management Quote and Order Capture Business APIs
This is a sample request to ungroup a quote but retain the quote lines.
{
"catalogRatesPref" "skip",
"pricingPref": "Force",
"graph": {
"graphId": "ungroupQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id":"0Q0xx0000004C99CAE"
},
"Name": "Grouped Quote with PST API"
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "DELETE",
"id": "402xx000003KY5vJGH",
"action": "Ungroup"
}
}
}
]
}
}
816
Transaction Management Quote and Order Capture Business APIs
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST"
},
"Name": "From PQ API Group",
"QuoteId": "@{refQuote.id}"
}
}
]
}
}
817
Transaction Management Quote and Order Capture Business APIs
{
"referenceId": "refOrder",
"record": {
"attributes": {
"type": "Order",
"method": "PATCH",
"id": "0Q0xx0000004C99CAE"
}
}
},
{
"referenceId": "refOlg1",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"BillingFrequency2": null
}
},
"Name": "Billing Frequency: ",
"OrderId": "@{refOrder.id}"
}
},
{
"referenceId": "g1",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"BillingFrequency2": "Monthly"
}
},
"Name": "Billing Frequency: Monthly",
"OrderId": "@{refOrder.id}"
}
}
]
}
}
This is a sample request to save changes to a ramp deal by using context ID. The context ID is returned by the Ramp Deal APIs.
See Create Ramp Deal (POST).
{
"pricingPref": "force",
"contextDetails": {
"contextId": "f1c9e3e1c335f7959a88de09d3a867cc2b95e08709b99de8e2edeb8f5039e8ed",
"scope": "Session"
},
"graph": {
818
Transaction Management Quote and Order Capture Business APIs
"graphId": "updateQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id": "0Q0xx0000004DQ4CAM"
}
}
}
]
}
}
Properties
contextDetails Context Input Context details that are created for a sales Required if the 63.0
transaction. graph property
isn’t specified.
graph Object Graph Input The sObject graph of the sales transaction Required if the 63.0
to be ingested. You can perform create, contextDetails
update, or delete operations on objects property isn’t
from the Sales Transaction context specified.
definition by using this property.
Additionally, perform create, update, or
819
Transaction Management Quote and Order Capture Business APIs
/connect/revenue-management/sales-transaction-contexts/resourceId/actions/ramp-deal-create
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/revenue-management/sales-transaction-contexts/0QLxx0000004CfIGAU/actions/ramp-deal-create
Available version
62.0
HTTP methods
POST
820
Transaction Management Quote and Order Capture Business APIs
Properties
segmentType String Type of segment that the user wants to Required 62.0
create. Valid values are:
• FREE_TRIAL
• CUSTOM
• YEARLY
subscription String Unit of time for the subscription length. Required 62.0
TermUnit Valid value is:
• MONTHS
821
Transaction Management Quote and Order Capture Business APIs
trialTerm String Unit of time for the trial period. Valid Optional. Required 62.0
Unit value is: if trialTerm
property is
• DAYS specified.
/connect/revenue-management/sales-transaction-contexts/resourceId/actions/ramp-deal-delete
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/revenue-management/sales-transaction-contexts/0QLxx0000004CfIGAU/actions/ramp-deal-delete
Available version
62.0
HTTP methods
POST
Path parameter for POST
822
Transaction Management Quote and Order Capture Business APIs
]
}
Properties
/connect/revenue-management/sales-transaction-contexts/resourceId/actions/ramp-deal-update
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/revenue-management/sales-transaction-contexts/4f23961a5c98806f89305e064c67b397e93f1bb8a2a7a3a80db506f1d4110ee9/actions/ramp-deal-update
Available version
62.0
HTTP methods
POST
Path parameter for POST
823
Transaction Management Quote and Order Capture Business APIs
824
Transaction Management Quote and Order Capture Business APIs
Properties
/connect/revenue-management/sales-transaction-contexts/resourceId/actions/ramp-deal-view
Resource example
https://yourInstance.salesforce.com/services/data/v63.0/connect/revenue-management/sales-transaction-contexts/0QLxx0000004CSOGA2/actions/ramp-deal-view?transactionId=0Q0xx0000004CDxCAM&transactionLineId=0QLxx0000004CSOGA2
Available version
62.0
HTTP methods
GET
Path parameter for GET
825
Transaction Management Quote and Order Capture Business APIs
Request Bodies
Learn more about the available API request bodies.
826
Transaction Management Quote and Order Capture Business APIs
Properties
execute Boolean Indicates whether the order must adhere Optional 60.0
Configuration to configuration rules during processing
Rules (true) or bypass them (false).
827
Transaction Management Quote and Order Capture Business APIs
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
}
}
}
Properties
Context Input
Input representation of the context that's associated with a sales transaction for a quote or an order.
JSON example
{
"contextDetails": {
"contextId": "e055bb18-d4e8-41c3-881e-0132b9561708"
}
}
Properties
828
Transaction Management Quote and Order Capture Business APIs
Properties
829
Transaction Management Quote and Order Capture Business APIs
Properties
830
Transaction Management Quote and Order Capture Business APIs
"Product2Id": "01txx0000006jmWAAQ",
"Quantity": 2,
"UnitPrice": 25,
"StartDate": "2022-09-28",
"EndDate": "2028-09-27",
"PeriodBoundary": "ANNIVERSARY",
"BillingFrequency": "ANNUAL"
}
}
]
}
This example shows a sample request to specify grouping of lines based on criteria.
{
"contextId": "",
"correlationId": "",
"records": [
{
"referenceId": "0Q0xx0000004DOSCA2",
"record": {
"attributes": {
"type": "Quote",
"method": "PUT"
}
}
},
{
"referenceId": "0QLxx0000004F3gGAE",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PUT"
},
"Quantity": 5
}
}, {
"referenceId": "0QLxx0000004F3hGAE",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PUT"
},
"Quantity": 2
}
},
{
"referenceId": "GroupId1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"Quantity": 5
831
Transaction Management Quote and Order Capture Business APIs
}
},
"Name": "record"
}
}, {
"referenceId": "GroupId2",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"Quantity": 2
}
},
"Name": "record1",
}
}
]
}
This example shows a sample request for the initial grouping of the quote with the quote lines assigned to the first group.
{
"contextId": "",
"correlationId": "",
"records": [
{
"referenceId": "0Q0xx0000004CAgCAM",
"record": {
"attributes": {
"type": "Quote",
"method": "PUT"
}
}
},
{
"referenceId": "GroupId1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupAll"
},
"Name": "sample"
}
}
]
}
This example shows a sample request to ungroup a quote but retain the quote lines.
{
"contextId": "",
"correlationId": "",
832
Transaction Management Quote and Order Capture Business APIs
"records": [
{
"referenceId": "0Q0xx0000004CAgCAM",
"record": {
"attributes": {
"type": "Quote",
"method": "PUT"
}
}
},
{
"referenceId": "0QLxx0000004CBYGA2",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PUT"
},
"Quantity": 2,
"QuoteLineGroupId": null
}
},
{
"referenceId": "GroupId1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "DELETE",
"action": "Ungroup"
}
}
}
]
}
833
Transaction Management Quote and Order Capture Business APIs
},
"Name": "sample"
}
}
]
}
834
Transaction Management Quote and Order Capture Business APIs
"type": "QuoteLineItem",
"method": "PUT"
},
"Quantity": 2
"QuoteLineGroupId": "{@GroupId2}"
}
},
]
}
Properties
Properties
835
Transaction Management Quote and Order Capture Business APIs
Properties
836
Transaction Management Quote and Order Capture Business APIs
837
Transaction Management Quote and Order Capture Business APIs
"UnitPrice": 800
}
}
Properties
838
Transaction Management Quote and Order Capture Business APIs
"Quantity":3,
"PricebookEntryId":"01uxx0000008yXPAAY",
"Product2Id":"01txx0000006i2UAAQ",
"UnitPrice":"199.49"
}
}
]
}
}
839
Transaction Management Quote and Order Capture Business APIs
"id": "refOrder"
}
}
},
{
"referenceId": "refOlg1",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "DELETE",
"id": "refOlg1",
"action": "Ungroup"
}
}
}
]
}
}
840
Transaction Management Quote and Order Capture Business APIs
"correlationId": "",
"records": [
{
"referenceId": "refOrder",
"record": {
"attributes": {
"type": "Order",
"method": "PATCH",
"id": "refOrder"
}
}
},
{
"referenceId": "refOlg",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "DELETE",
"id": "refOlg",
"action": "DeleteGroup"
}
}
}
]
}
This example shows a sample request to group order items based on criteria.
{
"pricingPref": "system",
"graph": {
"graphId": "placeOrder",
"records": [
{
"referenceId": "refOrder",
"record": {
"attributes": {
"type": "Order",
"method": "PATCH",
"id": "refOrder"
}
}
},
{
"referenceId": "g0",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"BillingFrequency2": null
}
},
"Name": "Billing Frequency: ",
841
Transaction Management Quote and Order Capture Business APIs
"OrderId": "@{refOrder.id}"
}
},
{
"referenceId": "g1",
"record": {
"attributes": {
"type": "OrderItemGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"BillingFrequency2": "Monthly"
}
},
"Name": "Billing Frequency: Monthly",
"OrderId": "@{refOrder.id}"
}
}
]
}
}
Properties
configuration String Configuration input for the place order Optional 60.0
Input process. Valid values are:
• RunAndAllowErrors—Specifies
to run the configuration and to
proceed order ingestion upon
encountering any configuration errors.
• RunAndBlockErrors—Specifies
to run configuration and to block order
842
Transaction Management Quote and Order Capture Business APIs
graph Object Graph Input The sObject graph of the order payload to Required 60.0
be ingested. You can perform create,
update, or delete operations on objects
from the Sales Transaction context
definition by using this property.
Additionally, perform create, update, or
delete operations on custom objects and
fields in your extended context definition.
pricingPref String Pricing preference during the create order Optional 60.0
process. Valid values are:
• Force—Specifies to force pricing
during the order ingestion process.
• Skip—Specifies to skip pricing
during the order ingestion process.
• System—Specifies the system to
determine whether a pricing
calculation is required.
The default value is System.
843
Transaction Management Quote and Order Capture Business APIs
"records": [{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "POST"
},
"opportunityId": "---",
"quoteProp1": "value1",
"quoteProp2": "value2"
}
},
{
"referenceId": "refQuoteLineItem1",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "POST"
},
"QuoteLineItemProp1": "value1",
"QuoteLineItemProp2": "value2"
}
},
{
"referenceId": "refQuoteLineItemAttribute",
"record": {
"attributes": {
"type": "QuoteLineItemAttribute",
"method": "POST"
},
"QuoteLineItemId": "@{refQuoteItem1.id}",
"AttributeDefinitionId": "0tjxx0000000001AAA"
}
}
]
}
}
This example shows a sample request to insert, update, or delete a quote line item.
{
"pricingPref": "System",
"configurationInput": "skip",
"graph": {
"graphId": "updateQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id": "0Q0xx0000004E2mCAE"
},
"Name": "Quote_Acme"
844
Transaction Management Quote and Order Capture Business APIs
}
},
{
"referenceId": "refQuoteLineItemToCreate1",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "POST"
},
"QuoteId": "0Q0xx0000004E2mCAE",
"PricebookEntryId": "01uxx0000008yXPAAY",
"Product2Id": "01txx0000006i2UAAQ",
"Quantity": 2.0,
"UnitPrice": 800.0,
"PeriodBoundary": "Anniversary",
"BillingFrequency": "Monthly",
"StartDate": "2024-03-11"
}
},
{
"referenceId": "refQuoteLineItemToPatch2",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PATCH",
"id": "0Q0xx0000004E2mCAE"
},
"Quantity": 2.0,
"UnitPrice": 600.0
}
},
{
"referenceId": "refQuoteLineItemToDelete3",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "DELETE",
"id": "0Q0xx0000004E2mYLK"
}
}
}
]
}
}
This example shows a sample request to define grouping of quote line items.
{
"pricingPref": "Force",
"configurationInput": "skip",
"graph": {
"graphId": "groupLines",
"records": [
{
"referenceId": "refQuote",
845
Transaction Management Quote and Order Capture Business APIs
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id":"0Q0xx0000004C99CAE"
},
"Name": "From Place Quote API"
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupBy",
"criteria": {
"Quantity": 1
}
},
"Name": "From Place Quote API Group",
"QuoteId": "@{refQuote.id}"
}
},
{
"referenceId": "refQuoteItem1",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PATCH",
"id":"0QLxx0000004DJcGAM"
},
"QuoteLineGroupId": "@{refQlg1.id}",
"Quantity": 1
}
}
]
}
}
This example shows a sample request for the initial grouping of the quote with the quote lines assigned to the first group.
{
"pricingPref": "Force",
"graph": {
"graphId": "test",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id": "0Q0xx0000004CAmCAM"
}
846
Transaction Management Quote and Order Capture Business APIs
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupAll"
},
"Name": "From PQ API Group",
"QuoteId": "@{refQuote.id}"
}
}
]
}
}
This example shows a sample request to ungroup a quote but retain the quote lines.
{
"pricingPref": "Force",
"configurationInput": "skip",
"graph": {
"graphId": "test",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id":"0Q0xx0000004C99CAE"
},
"Name": "From Place Quote API"
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "DELETE",
"id": "{GroupId}",
"action": "Ungroup"
}
}
}
]
}
}
847
Transaction Management Quote and Order Capture Business APIs
848
Transaction Management Quote and Order Capture Business APIs
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "DELETE",
"id": "{GroupId}",
"action": "DeleteGroup"
}
}
}
]
}
}
Properties
849
Transaction Management Quote and Order Capture Business APIs
configuration String Configuration input for the place quote Optional 60.0
Input process. Valid values are:
• RunAndAllowErrors
• RunAndBlockErrors
• Skip
The default value is
RunAndBlockErrors.
graph Object Graph Input The sObject graph representing the quote Required 60.0
structure. You can perform create, update,
or delete operations on objects from the
Sales Transaction context definition by
using this property. Additionally, perform
create, update, or delete operations on
custom objects and fields in your extended
context definition.
850
Transaction Management Quote and Order Capture Business APIs
JSON example
This is a sample request to create a sales transaction for a quote.
{
"pricingPref": "system",
"catalogRatesPref" "skip",
"configurationPref": {
"configurationMethod": "Skip",
"configurationOptions": {
"validateProductCatalog": true,
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
}
},
"contextDetails": {
"contextId": "e055bb18-d4e8-41c3-881e-0132b9561708"
},
"graph": {
"graphId": "createQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"method": "POST",
"type": "Quote"
},
"Name": "Quote_Acme",
"Pricebook2Id": "01sDU000000JvhbYAC"
}
},
{
"referenceId": "refQuoteLine0",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "POST"
},
"QuoteId": "@{refQuote.id}",
"Product2Id": "01tDU000000F7b8YAC",
"PricebookEntryId": "01uDU000000fxt2YAA",
"UnitPrice": 100,
"Quantity": "1",
"StartDate": "2024-10-29",
"EndDate": "2025-03-01",
"PeriodBoundary": "Anniversary"
}
}
]
}
}
851
Transaction Management Quote and Order Capture Business APIs
852
Transaction Management Quote and Order Capture Business APIs
"validateAmendRenewCancel": true,
"executeConfigurationRules": true,
"addDefaultConfiguration": true
}
},
"contextDetails": {
"contextId": "e055bb18-d4e8-41c3-881e-0132b9561708"
},
"graph": {
"graphId": "groupQuoteLines",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"method": "PATCH",
"type": "Quote",
"id": "801xx000003GZ9bAAG"
}
}
},
{
"referenceId": "refQuoteLine0",
"record": {
"attributes": {
"type": "QuoteLineItem",
"method": "PATCH",
"id": "402xx000003KY5vJGH"
},
"QuoteLineGroupId": "@{refQuote.id}"
}
}
]
}
}
This is s a sample request for the initial grouping of the quote with all the quote lines assigned to the first group.
{
"pricingPref": "Force",
"catalogRatesPref" "skip",
"graph": {
"graphId": "groupQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id": "0Q0xx0000004CAmCAM"
}
}
},
{
853
Transaction Management Quote and Order Capture Business APIs
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST",
"action": "GroupAll"
},
"Name": "From PST API Group",
"QuoteId": "@{refQuote.id}"
}
}
]
}
}
This is a sample request to ungroup a quote but retain the quote lines.
{
"catalogRatesPref" "skip",
"pricingPref": "Force",
"graph": {
"graphId": "ungroupQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id":"0Q0xx0000004C99CAE"
},
"Name": "Grouped Quote with PST API"
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "DELETE",
"id": "402xx000003KY5vJGH",
"action": "Ungroup"
}
}
}
]
}
}
854
Transaction Management Quote and Order Capture Business APIs
"graphId": "createGroup",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id":"0Q0xx0000004C99CAE"
},
"Name": "Grouped Quote with PST API"
}
},
{
"referenceId": "refQlg1",
"record": {
"attributes": {
"type": "QuoteLineGroup",
"method": "POST"
},
"Name": "From PQ API Group",
"QuoteId": "@{refQuote.id}"
}
}
]
}
}
855
Transaction Management Quote and Order Capture Business APIs
}
}
}
]
}
}
856
Transaction Management Quote and Order Capture Business APIs
]
}
}
This is a sample request to save changes to a ramp deal by using context ID. The context ID is returned by the Ramp Deal APIs. See
Create Ramp Deal (POST).
{
"pricingPref": "force",
"contextDetails": {
"contextId": "f1c9e3e1c335f7959a88de09d3a867cc2b95e08709b99de8e2edeb8f5039e8ed",
"scope": "Session"
},
"graph": {
"graphId": "updateQuote",
"records": [
{
"referenceId": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "PATCH",
"id": "0Q0xx0000004DQ4CAM"
}
}
}
]
}
}
Properties
857
Transaction Management Quote and Order Capture Business APIs
contextDetails Context Input Context details that are created for a sales Required if the 63.0
transaction. graph property
isn’t specified.
graph Object Graph Input The sObject graph of the sales transaction Required if the 63.0
to be ingested. You can perform create, contextDetails
update, or delete operations on objects property isn’t
from the Sales Transaction context specified.
definition by using this property.
Additionally, perform create, update, or
delete operations on custom objects and
fields in your extended context definition.
858
Transaction Management Quote and Order Capture Business APIs
}
}
Properties
segmentType String Type of segment that the user wants to Required 62.0
create. Valid values are:
• FREE_TRIAL
• CUSTOM
• YEARLY
subscription String Unit of time for the subscription length. Required 62.0
TermUnit Valid value is:
• MONTHS
transaction String Quote line item ID or order item ID that Required 62.0
LineId the price ramp is created for.
trialTermUnit String Unit of time for the trial period. Valid value Optional. Required 62.0
is: if trialTerm
property is specified.
• DAYS
859
Transaction Management Quote and Order Capture Business APIs
Properties
860
Transaction Management Quote and Order Capture Business APIs
"0Q0xx0000004CPACA2",
"0QLxx0000004CfIGAU" // Quote Line Item ID to delete
]
}
]
}
Properties
execution Execution Settings Settings to run the pricing or configuration Optional 62.0
Settings Input[] rules.
Response Bodies
Learn more about the available response bodies.
Instant Pricing
Output representation containing the results of the instant pricing request.
Object Reference
Output representation of an sObject with a reference ID along with any potential error.
Place Order Error Response
Output representation of the error response for the place order request.
Place Order Response
Output representation of the request to create or update an order.
Place Quote Error Response
Output representation of the error responses of a place quote request.
Place Quote
Output representation of the request to create or update a quote.
Place Sales Transaction
Output representation of the request to create a sales transaction.
Place Sales Transaction Context
Output representation of the context details that are associated with a sales transaction.
Sales Transaction Error Response
Output representation of the error details associated with the Place Sales Transaction API.
861
Transaction Management Quote and Order Capture Business APIs
Instant Pricing
Output representation containing the results of the instant pricing request.
Sample Response
{
"correlationid": "123",
"contextid": "abcl23",
"records": [
{
"referenceid": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "POST"
},
"quantity": "2"
},
"error": {
"errorCode": "INVALID_API_INPUT",
"message": "Reference Id format is irrelevant."
}
}
],
"success": true
}
records Object Reference[] List of records related to pricing results. Small, 59.0 59.0
success Boolean Indicates whether the fetching of instant Small, 59.0 59.0
pricing is successful (true) or not
(false).
Object Reference
Output representation of an sObject with a reference ID along with any potential error.
862
Transaction Management Quote and Order Capture Business APIs
Sample Response
{
"referenceid": "refQuote",
"record": {
"attributes": {
"type": "Quote",
"method": "POST"
},
"quantity": "2"
},
"error": {
"errorCode": "INVALID_API_INPUT",
"message": "Reference Id format is irrelevant."
}
}
record Map<String, The sObject record data represented as a Small, 59.0 59.0
Object> map of attribute names to their values.
error hpt/ds:evoelpesaoslf.creo.m/doceas/n.ltu-chs.aetm
rp.ieat/chaetrp/coinnec_tersponses_eor_rersponhsem
.t ][ Detailed information about any error Small, 59.0 59.0
associated with the sObject in the response.
message String Message stating the reason for the error, if Small, 60.0 60.0
any.
referenceId String Reference ID associated with the specific Small, 60.0 60.0
error instance for tracking and reference
purposes.
863
Transaction Management Quote and Order Capture Business APIs
JSON example
{
"requestId": "16PRM0000004DBq",
"orderId": "801S70000001VKgIAM",
"success": true,
"errors": [],
"statusURL": "/services/data/vXX.X/sobjects/AsyncOperationTracker/16PRM0000004DBq"
}
orderId String ID of the order created after a successful Small, 60.0 60.0
request.
statusURL String Asynchronous status URL of the request, if Small, 60.0 60.0
available.
success Boolean Indicates whether the synchronous part of Small, 60.0 60.0
the processing is successful (true) or not
(false).
message String Message stating the reason for the error, if Small, 60.0 60.0
any.
864
Transaction Management Quote and Order Capture Business APIs
Place Quote
Output representation of the request to create or update a quote.
JSON Example
This example shows a sample response of the place quote request.
{
"quoteId": "0Q0xx0000004E2mCAE",
"requestIdentifier": "95Txx0000004Cx2",
"responseError": [],
"statusURL": "/services/data/v60.0/sobjects/RevenueAsyncOperation/95Txx0000004Cx2EAE",
"success": true
}
request String Unique request identifier that can be used Big, 60.0 60.0
Identifier to poll the async request.
responseError Place Quote Error List of errors encountered during the Small, 60.0 60.0
Response [] synchronous processing.
statusURL String Asynchronous status URL to track the Big, 60.0 60.0
operation, if available.
success Boolean Indicates whether the synchronous part of Small, 60.0 60.0
the processing is successful (true) or not
(false).
865
Transaction Management Quote and Order Capture Business APIs
"errorCode": "INVALID_API_INPUT",
"message": "Include record type and method in the request and try again.",
"referenceId": "refQuoteItem2"
},
"isSuccess": true,
"salesTransactionId": "0Q0xx0000004CNYCA2",
"statusUrl": null,
"trackerId": null
}
errorResponse Sales Transaction Details of the error if the operation fails. Small, 63.0 63.0
Error Response[]
salesTransactionId String ID of the sales transaction, such as a quote Small, 63.0 63.0
or an order.
statusUrl String URL to check the status of the operation. Small, 63.0 63.0
866
Transaction Management Quote and Order Capture Business APIs
message String Error message for the resultant error. Small, 63.0 63.0
referenceId String Unique ID that’s associated with the specific Small, 63.0 63.0
error for tracking and reference purposes.
message String Error message from the API request. Small, 62.0 62.0
867
Transaction Management Quote and Order Capture Business APIs
JSON Example
This example shows the sample response for the create, update, or view ramp deal requests.
{
"correlationId": "0QLDU0000002t0Z4AQ",
"errors": [],
"salesTransactionContext": {
"SalesTransaction": [
{
"LegalEntity": null,
"Account": null,
"HeaderDistributionType": null,
"BillingCity": null,
"AccountBusinessType": null,
"HeaderDiscountType": null,
"businessObjectType": "Quote",
"QuoteAccount": null,
"EmployeeCount": null,
"SalesTransactionName": "WarrantyPriceRampAR",
"StartDate": null,
"HeaderDiscountValue": null,
"SalesTransactionType": null,
"Pricebook": "01sDU000000JGf4YAG",
"Opportunity": null,
"ShippingCountry": null,
"ShippingCity": null,
"BillingPostalCode": null,
"id": "0Q0DU0000002f3d0AA",
"BillToContact": null,
"CalculationStatus": "CompletedWithTax",
"Status": "Draft",
"LastPricedDate": null,
"Subtotal": 108.47145205479453,
"OriginalActionType": null,
"TotalAmount": 99.98,
"CurrencyIsoCode": null,
"ShippingStreet": null,
"SalesTransactionItem": [
{
"LegalEntity": null,
"ProductName": "Warranty",
"businessObjectType": "QuoteLineItem",
"Product": "01tDU000000EsWSYA0",
"ItemIsPrimarySegment": true,
"ListPrice": 49.99,
"ValidationResult": null,
"StartDate": "2024-08-23T00:00:00.000Z",
"ContractVolumePasId": null,
"BillingTreatment": null,
"PeriodBoundaryStartMonth": null,
"SalesTransactionSourceAsset": null,
"id": "0QLDU0000002t0Z4AQ",
"PartnerDiscountPercent": null,
"PriceWaterFall": "0QLDU0000002t0Z4AQ:548201414593252",
868
Transaction Management Quote and Order Capture Business APIs
"ItemProductRecipient": null,
"BillingFrequency": "Annual",
"ProductCode": "W001",
"DerivedPricingAttribute": null,
"TaxTreatment": "1ttDU0000001oGKYAY",
"Subtotal": 8.491452054794523,
"ItemRampIdentifier": "RDI5b5ce52b2db4484",
"ItemSegmentName": "Trial",
"PricebookEntry": "01uDU000000f4LSYAY",
"DiscountAmount": null,
"PricingTermCount": 0.0849315068493151,
"NetUnitPrice": 0,
"ItemEffectiveGrantDate": null,
"ProductCategory": null,
"SalesTransactionAction": null,
"SalesTransactionActionType": null,
"SalesTransactionItemGroup": null,
"PeriodBoundaryDay": null,
"LineItemDistributionType": null,
"ProrationPolicy": "0muDU00000029ryYAA",
"ContractDiscountType": null,
"TransactionType": null,
"ParentReference": null,
"Discount": 100,
"ProductSellingModel": "0jPDU00000029zb2AA",
"PricingTermUnit": "Annual",
"PricingSource": null,
"StockKeepingUnit": null,
"PartnerUnitPrice": null,
"ItemTotalAdjustmentAmount": -8.491452054794523,
"SalesTransactionItemSource": "0QLDU0000002t0Z4AQ",
"ContractAttributePasId": null,
"SubscriptionTerm": 1,
"SellingModelType": "TermDefined",
"EndQuantity": 2,
"NetTotalPrice": 0,
"TotalLineAmount": 8.491452054794523,
"ItemSegmentType": "FreeTrial",
"ProductBasedOn": null,
"Deleted": null,
"BillingReference": null,
"ArePartialPeriodsAllowed": true,
"ItemRecordedPrice": null,
"CustomProductName": "Warranty",
"ItemSegmentIdentifier": "SEG4380006a1c2b416",
"SalesTransactionItemParent": "0Q0DU0000002f3d0AA",
"Quantity": 2,
"PeriodBoundary": "Anniversary",
"ContractDiscountValue": null,
"LineItemDiscountValue": null,
"ContractId": null,
"EndDate": "2024-09-22T00:00:00.000Z",
"ItemGroupSummarySubtotal": null,
"IsContracted": null,
869
Transaction Management Quote and Order Capture Business APIs
"UnitPrice": 49.99,
"StartQuantity": 0,
"ContractPrice": null,
"TotalPrice": 0,
"ItemPath": null,
"LineItemDiscountType": null
},
{
"LegalEntity": null,
"ProductName": "Warranty",
"businessObjectType": "QuoteLineItem",
"Product": "01tDU000000EsWSYA0",
"ItemIsPrimarySegment": false,
"ListPrice": 49.99,
"ValidationResult": null,
"StartDate": "2024-09-23T00:00:00.000Z",
"ContractVolumePasId": null,
"BillingTreatment": null,
"PeriodBoundaryStartMonth": null,
"SalesTransactionSourceAsset": null,
"id": "0QLDU0000003CZ94AM",
"PartnerDiscountPercent": null,
"PriceWaterFall": "0QLDU0000003CZ94AM:548201414593252",
"ItemProductRecipient": null,
"BillingFrequency": "Annual",
"ProductCode": "W001",
"DerivedPricingAttribute": null,
"TaxTreatment": "1ttDU0000001oGKYAY",
"Subtotal": 99.98,
"ItemRampIdentifier": "RDI5b5ce52b2db4484",
"ItemSegmentName": "Year-1",
"PricebookEntry": "01uDU000000f4LSYAY",
"DiscountAmount": null,
"PricingTermCount": 1,
"NetUnitPrice": 49.99,
"ItemEffectiveGrantDate": null,
"ProductCategory": null,
"SalesTransactionAction": null,
"SalesTransactionActionType": null,
"SalesTransactionItemGroup": null,
"PeriodBoundaryDay": null,
"LineItemDistributionType": null,
"ProrationPolicy": "0muDU00000029ryYAA",
"ContractDiscountType": null,
"TransactionType": null,
"ParentReference": null,
"Discount": null,
"ProductSellingModel": "0jPDU00000029zb2AA",
"PricingTermUnit": "Annual",
"PricingSource": null,
"StockKeepingUnit": null,
"PartnerUnitPrice": null,
"ItemTotalAdjustmentAmount": 0,
"SalesTransactionItemSource": "0QLDU0000003CZ94AM",
870
Transaction Management Quote and Order Capture Business APIs
"ContractAttributePasId": null,
"SubscriptionTerm": 1,
"SellingModelType": "TermDefined",
"EndQuantity": 2,
"NetTotalPrice": 99.98,
"TotalLineAmount": 99.98,
"ItemSegmentType": "Yearly",
"ProductBasedOn": null,
"Deleted": null,
"BillingReference": null,
"ArePartialPeriodsAllowed": true,
"ItemRecordedPrice": null,
"CustomProductName": "Warranty",
"ItemSegmentIdentifier": "SEG73ad7378e1ed4c5",
"SalesTransactionItemParent": "0Q0DU0000002f3d0AA",
"Quantity": 2,
"PeriodBoundary": "Anniversary",
"ContractDiscountValue": null,
"LineItemDiscountValue": null,
"ContractId": null,
"EndDate": "2025-08-22T00:00:00.000Z",
"ItemGroupSummarySubtotal": null,
"IsContracted": null,
"UnitPrice": 49.99,
"StartQuantity": 0,
"ContractPrice": null,
"TotalPrice": 99.98,
"ItemPath": null,
"LineItemDiscountType": null
}
],
"AppUsageAssignment": [
{
"businessObjectType": "AppUsageAssignment",
"ParentReference": null,
"Record": "0Q0DU0000002f3d0AA",
"id": "0j8DU0000002VKiYAM",
"AppUsageType": "RevenueLifecycleManagement"
}
],
"BillingCountry": null,
"BillingStreet": null,
"ShippingPostalCode": null,
"SalesTransactionSource": "0Q0DU0000002f3d0AA",
"PrimaryIndustry": null,
"ShippingState": null,
"HeaderDistributionLogic": null,
"Contract": null,
"BillingState": null,
"AnnualRevenue": null,
"EffectiveDate": null
}
]
},
871
Transaction Management Quote and Order Capture Apex Reference
"success": true,
"transactionContextId":
"d3fd83b007418ce4980340313b40fd45665b194973486ebac3674c2b8002336f"
}
errors Ramp Deal Service List of errors encountered during the Small, 62.0 62.0
Error Response[] processing of the API request.
sales Map<String, Context object for the sales transaction with Small, 62.0 62.0
Transaction Object> updated segment details.
Context
success Boolean Indicates whether the API request is Small, 62.0 62.0
successful (true) or not (false).
transaction String ID of the sales transaction context record Small, 62.0 62.0
ContextId instance.
CommerceOrders Namespace
The CommerceOrders namespace provides classes and methods to place orders with integrated pricing, configuration, and
validation.
CommerceTax Namespace
Manage the communication between Salesforce and an external tax engine.
PlaceQuote Namespace
The PlaceQuote namespace provides classes and methods to create or update quotes with pricing preferences and configuration
options.
RevSalesTrxn Namespace
Create a sales transaction, such as a quote or an order, with integrated pricing and configuration. Additionally, update an order or a
quote, and insert and delete order or quote line items to calculate the estimated tax.
CommerceOrders Namespace
The CommerceOrders namespace provides classes and methods to place orders with integrated pricing, configuration, and validation.
The CommerceOrders namespace includes these classes.
872
Transaction Management Quote and Order Capture Apex Reference
CatalogRatesPreferenceEnum Enum
Specifies the rate card entries defined in the catalog that must be fetched for order items, with usage-based selling during the order
creation process.
ConfigurationInputEnum Enum
Specifies the configuration input for the request to place an order.
ConfigurationOptionsInput Class
Contains methods and properties to set the configuration options for the input to the product configurator.
GraphRequest Class
Contains constructors and properties to set the graph ID and a list of records to be ingested. The list of records is specified in a
key-value map format that contains the field values of an order.
PlaceOrderExecutor Class
Contains methods to place an order with details of the graph request, pricing preferences, and configuration options.
PlaceOrderResult Class
Contains properties to hold the response to the place order request.
PricingPreferenceEnum Enum
Specifies the pricing preference during the create order process.
RecordResource Class
Contains constructors and properties to create a record object from field values of an order.
RecordWithReferenceRequest Class
Contains constructors and properties to associate a record object with a reference identifier.
CatalogRatesPreferenceEnum Enum
Specifies the rate card entries defined in the catalog that must be fetched for order items, with usage-based selling during the order
creation process.
Usage
This enum is available when the Usage-Based Selling feature is enabled.
Enum Values
The commerceorders.CatalogRatesPreferenceEnum enum includes these values.
Value Description
Fetch Retrieves the rate card entries defined in the catalog for order items during the order
creation process.
Skip Skips the retrieval of rate card entries for order items during the order creation
process. The default value is Skip.
ConfigurationInputEnum Enum
Specifies the configuration input for the request to place an order.
873
Transaction Management Quote and Order Capture Apex Reference
Usage
Use these enum values for the configurationInputEnum property in the PlaceOrderExecutor Class
Enum Values
The commerceorders.ConfigurationInputEnum enum has these values.
Value Description
RunAndAllowErrors Run the configuration and proceed with order ingestion upon encountering any
configuration errors.
RunAndBlockErrors Run the configuration and block order ingestion upon encountering any
configuration errors.
ConfigurationOptionsInput Class
Contains methods and properties to set the configuration options for the input to the product configurator.
Namespace
CommerceOrders
Usage
This class holds the required details of the product configuration input. Set the class properties to enable default configuration, execution
of configuration rules, and validation of the product catalog. Use these class properties as an input to the PlaceOrderExecutor Class
method.
Example
CommerceOrders.ConfigurationOptionsInput configurationInput = new
CommerceOrders.ConfigurationOptionsInput();
configurationInput.validateProductCatalog = true;
configurationInput.validateAmendRenewCancel = true;
configurationInput.executeConfigurationRules = true;
configurationInput.addDefaultConfiguration = true;
ConfigurationOptionsInput Properties
Set the ConfigurationOptionsInput class properties to add default configuration, execute configuration rules, and validate
the product catalog.
ConfigurationOptionsInput Methods
Learn more about the methods available with the ConfigurationOptionsInput class.
874
Transaction Management Quote and Order Capture Apex Reference
ConfigurationOptionsInput Properties
Set the ConfigurationOptionsInput class properties to add default configuration, execute configuration rules, and validate
the product catalog.
The ConfigurationOptionsInput class includes these properties.
addDefaultConfiguration
Sets the default product configuration, such as bundle and product attributes, for an order request.
executeConfigurationRules
Sets the requirement for an order to adhere to the configuration rules.
validateAmendRenewCancel
Sets the requirement to run validations related to amend, renew, or cancel processes.
validateProductCatalog
Sets the requirement to validate an order against the product catalog.
addDefaultConfiguration
Sets the default product configuration, such as bundle and product attributes, for an order request.
Signature
public Boolean addDefaultConfiguration {get; set;}
Property Value
Type: Boolean
Indicates whether to automatically add default configuration to the order (true) or not (false).
executeConfigurationRules
Sets the requirement for an order to adhere to the configuration rules.
Signature
public Boolean executeConfigurationRules {get; set;}
Property Value
Type: Boolean
Indicates whether the order must adhere to configuration rules during processing (true) or bypass them (false).
validateAmendRenewCancel
Sets the requirement to run validations related to amend, renew, or cancel processes.
Signature
public Boolean validateAmendRenewCancel {get; set;}
875
Transaction Management Quote and Order Capture Apex Reference
Property Value
Type: Boolean
Indicates whether to run validations related to amend, renew, or cancel processes (true) or not (false).
validateProductCatalog
Sets the requirement to validate an order against the product catalog.
Signature
public Boolean validateProductCatalog {get; set;}
Property Value
Type: Boolean
Indicates whether the order must be validated against the product catalog (true) or not (false).
ConfigurationOptionsInput Methods
Learn more about the methods available with the ConfigurationOptionsInput class.
The ConfigurationOptionsInput class includes these methods.
equals(obj)
Determines the equality of external objects in a list. This method is dynamic and is based on the equals() method in Java.
hashCode()
Determines the uniqueness of the external object records in a list.
toString()
Converts a value to a string.
equals(obj)
Determines the equality of external objects in a list. This method is dynamic and is based on the equals() method in Java.
Signature
public Boolean equals(Object obj)
Parameters
obj
Type: Object
Reference object that’s used to compare with the class object.
Return Value
Type: Boolean
Indicates if the class object is same as the reference object (true) or not (false).
876
Transaction Management Quote and Order Capture Apex Reference
hashCode()
Determines the uniqueness of the external object records in a list.
Signature
public Integer hashCode()
Return Value
Type: Integer
Integer hash code that represents the value of the object. Equal objects as per the equals() method must return the same hash
code.
toString()
Converts a value to a string.
Signature
public String toString()
Return Value
Type: String
GraphRequest Class
Contains constructors and properties to set the graph ID and a list of records to be ingested. The list of records is specified in a key-value
map format that contains the field values of an order.
Namespace
CommerceOrders
Example
Create the list of records to be ingested by using these steps.
• Create the list of records by constructing the Map<String, Object> map of field values of an order.
List<CommerceOrders.RecordWithReferenceRequest> recordNodes = new
List<CommerceOrders.RecordWithReferenceRequest>();
877
Transaction Management Quote and Order Capture Apex Reference
• To create a record object from the field values, create an instance of the RecordResource class.
• To associate the Record object with a reference identifier, create an instance of the RecordWithReferenceRequest class.
Note: The CatalogRatesPreferenceEnum enum is available when the Usage-Based Selling feature is enabled.
878
Transaction Management Quote and Order Capture Apex Reference
CommerceOrders.ConfigurationInputEnum.RunAndAllowErrors;
CommerceOrders.ConfigurationOptionsInput configurationInput = new
CommerceOrders.ConfigurationOptionsInput();
configurationInput.validateProductCatalog = true;
configurationInput.validateAmendRenewCancel = true;
configurationInput.executeConfigurationRules = true;
configurationInput.addDefaultConfiguration = true;
GraphRequest Constructors
Learn more about the available constructors with the GraphRequest class.
GraphRequest Properties
Learn more about the available properties with the GraphRequest class.
GraphRequest Constructors
Learn more about the available constructors with the GraphRequest class.
The GraphRequest class includes these constructors.
GraphRequest(graphId, records)
Creates an instance of the GraphRequest class to assign the graph ID and a list of records to be ingested.
GraphRequest(graphId, records)
Creates an instance of the GraphRequest class to assign the graph ID and a list of records to be ingested.
Signature
public GraphRequest(String graphId, List<commerceorders.RecordWithReferenceRequest>
records)
Parameters
graphId
Type: String
879
Transaction Management Quote and Order Capture Apex Reference
ID of the graph.
records
Type: List<commerceorders.RecordWithReferenceRequest>
List of records to be ingested.
GraphRequest Properties
Learn more about the available properties with the GraphRequest class.
The GraphRequest class includes these properties.
graphId
Set the graphId property to assign the ID value of the graph.
graphId
Set the graphId property to assign the ID value of the graph.
Signature
public String graphId {get; set;}
Property Value
Type: String
PlaceOrderExecutor Class
Contains methods to place an order with details of the graph request, pricing preferences, and configuration options.
Namespace
CommerceOrders
Example
CommerceOrders.PlaceOrderResult resp =
CommerceOrders.PlaceOrderExecutor.execute(graph,internalEnum,cEnum,cInput,catalogRatesPreference);
PlaceOrderExecutor Methods
Learn more about the methods available with the PlaceOrderExecutor class.
PlaceOrderExecutor Example Implementation
Place orders with integrated pricing, configuration, and validation, and manage them throughout their entire lifecycle. To place an
order from Apex, refer to the example implementation of the PlaceOrderExecutor class.
PlaceOrderExecutor Methods
Learn more about the methods available with the PlaceOrderExecutor class.
880
Transaction Management Quote and Order Capture Apex Reference
Signature
public static commerceorders.PlaceOrderResult execute(commerceorders.GraphRequest
graphRequest, commerceorders.PricingPreferenceEnum pricingPreferenceEnum,
commerceorders.ConfigurationInputEnum configurationInputEnum,
commerceorders.ConfigurationOptionsInput configurationOptionsInput)
Parameters
graphRequest
Type: commerceorders.GraphRequest
The sObject graph values of the order payload to be ingested.
pricingPreferenceEnum
Type: commerceorders.PricingPreferenceEnum
Pricing preference during the order process.
configurationInputEnum
Type: commerceorders.ConfigurationInputEnum
Configuration input for the place order process.
configurationOptionsInput
Type: commerceorders.ConfigurationOptionsInput on page 874
Configuration options during the ingestion process.
Return Value
Type: commerceorders.PlaceOrderResult
881
Transaction Management Quote and Order Capture Apex Reference
Signature
public static commerceorders.PlaceOrderResult execute(commerceorders.GraphRequest
graphRequest, commerceorders.PricingPreferenceEnum pricingPreferenceEnum,
commerceorders.CatalogRatesPreferenceEnum catalogRatesPreferenceEnum,
commerceorders.ConfigurationInputEnum configurationInputEnum,
commerceorders.ConfigurationOptionsInput configurationOptionsInput)
Parameters
graphRequest
Type: commerceorders.GraphRequest
The sObject graph values of the order payload to be ingested.
pricingPreferenceEnum
Type: commerceorders.PricingPreferenceEnum
Pricing preference during the order process.
catalogRatesPreference
Type: commerceorders.CatalogRatesPreferenceEnum
The rate card entries defined in the catalog that must be fetched for order items, with usage-based pricing during the order creation
process. The CatalogRatesPreferenceEnum enum is available when the Usage-Based Selling feature is enabled.
configurationInputEnum
Type: commerceorders.ConfigurationInputEnum
Configuration input for the place order process.
configurationOptionsInput
Type: commerceorders.ConfigurationOptionsInput on page 874
Configuration options during the ingestion process.
Return Value
Type: commerceorders.PlaceOrderResult
execute(graphRequest)
Use the method in the PlaceOrderExecutor class to execute the Place Order Apex API request by assigning the properties for
graph request.
Signature
public static commerceorders.PlaceOrderResult execute(commerceorders.GraphRequest
graphRequest)
882
Transaction Management Quote and Order Capture Apex Reference
Parameters
graphRequest
Type: commerceorders.GraphRequest
The sObject graph values of the order payload to be ingested.
Return Value
Type: commerceorders.PlaceOrderResult
Namespace
commerceorders
Usage
Customize this example to suit your requirements. Create the list of records to be ingested by using these steps. Replace the respective
IDs with the values that are present in your org. For example, replace the value of ${Pricebook2Id} field with the price book ID
that’s present in the org.
Example:
• Create the list of records by constructing the Map<String, Object> map of field values of an order.
List<CommerceOrders.RecordWithReferenceRequest> recordNodes = new
List<CommerceOrders.RecordWithReferenceRequest>();
• To create a record object from the field values, create an instance of the RecordResource class.
• To associate the Record object with a reference identifier, create an instance of the RecordWithReferenceRequest
class.
883
Transaction Management Quote and Order Capture Apex Reference
Note: The CatalogRatesPreferenceEnum enum is available when the Usage-Based Selling feature is enabled.
884
Transaction Management Quote and Order Capture Apex Reference
CommerceOrders.PlaceOrderExecutor.execute(graph, pricingPreference,
catalogRatesPreference, configurationPreference, configurationInput);
PlaceOrderResult Class
Contains properties to hold the response to the place order request.
Namespace
CommerceOrders
Example
CommerceOrders.PlaceOrderResult resp =
CommerceOrders.PlaceOrderExecutor.execute(graph,internalEnum,cEnum,cInput,catalogRatesPreference);
PlaceOrderResult Properties
Learn more about the available properties with the PlaceOrderResult class.
PlaceOrderResult Properties
Learn more about the available properties with the PlaceOrderResult class.
The PlaceOrderResult class includes these properties.
orderId
Get the ID of the order that’s created after a successful request.
requestIdentifier
Get the request ID of the process to query the asynchronous status of the Place Order Apex API.
responseError
Get the list of errors encountered during the synchronous processing of the API request.
statusURL
Get the asynchronous status URL of the request, if available.
success
Get the request status of the synchronous part of the processing.
885
Transaction Management Quote and Order Capture Apex Reference
orderId
Get the ID of the order that’s created after a successful request.
Signature
public String orderId {get; set;}
Property Value
Type: String
requestIdentifier
Get the request ID of the process to query the asynchronous status of the Place Order Apex API.
Signature
public String requestIdentifier {get; set;}
Property Value
Type: String
responseError
Get the list of errors encountered during the synchronous processing of the API request.
Signature
public List<commerceorders.PlaceOrderErrorResponse> responseError {get; set;}
Property Value
Type: List<ConnectApi.PlaceOrderErrorResponse>
statusURL
Get the asynchronous status URL of the request, if available.
Signature
public String statusURL {get; set;}
Property Value
Type: String
success
Get the request status of the synchronous part of the processing.
886
Transaction Management Quote and Order Capture Apex Reference
Signature
public Boolean success {get; set;}
Property Value
Type: Boolean
Indicates whether the synchronous part of the processing is successful (true) or not (false).
PricingPreferenceEnum Enum
Specifies the pricing preference during the create order process.
Usage
Used by the PlaceOrderExecutor class.
Enum Values
The commerceorders.PricingPreferenceEnum enum includes these values.
Value Description
Force Enforce pricing during the order ingestion process.
RecordResource Class
Contains constructors and properties to create a record object from field values of an order.
Namespace
CommerceOrders
Example
CommerceOrders.RecordResource orderRecord = new
CommerceOrders.RecordResource(Order.getSobjectType(), 'POST');
orderRecord.fieldValues = orderFieldValues;
RecordResource Constructors
Learn more about the available constructors with the RecordResource class.
RecordResource Properties
Learn more about the available properties with the RecordResource class.
887
Transaction Management Quote and Order Capture Apex Reference
RecordResource Constructors
Learn more about the available constructors with the RecordResource class.
The RecordResource class includes these constructors.
Signature
public RecordResource(Schema.SObjectType type, String method, Id id)
Parameters
type
Type: Schema.SObjectType
Object that’s returned from the field describe result using the getReferenceTo() method or from the sObject describe result
using the getSObjectType() method.
method
Type: String
Method for the API request, such as POST or PATCH.
id
Type: Id
ID of the order.
RecordResource(type, method)
Creates an instance of the RecordResource class to assign the values to the fields of an order item by using the sObject type and
API method properties.
Signature
public RecordResource(Schema.SObjectType type, String method)
Parameters
type
Type: Schema.SObjectType
888
Transaction Management Quote and Order Capture Apex Reference
Object that’s returned from the field describe result using the getReferenceTo() method or from the sObject describe result
using the getSObjectType() method.
method
Type: String
Method for the API request, such as POST or PATCH.
RecordResource Properties
Learn more about the available properties with the RecordResource class.
The RecordResource class includes these properties.
fieldValues
Set the fieldValues property to assign values to the fields to update the order record.
id
Set the id property to assign the ID of the order record.
method
Set the method property to specify the API request method, such as POST or PATCH.
type
Set the type property to assign the object type that’s returned from the field describe result using
the getReferenceTo() method or from the sObject describe result using the getSObjectType() method.
fieldValues
Set the fieldValues property to assign values to the fields to update the order record.
Signature
public Map<String,ANY> fieldValues {get; set;}
Property Value
Type: List<Map<String,ANY>>
id
Set the id property to assign the ID of the order record.
Signature
public String id {get; set;}
Property Value
Type: String
method
Set the method property to specify the API request method, such as POST or PATCH.
889
Transaction Management Quote and Order Capture Apex Reference
Signature
public String method {get; set;}
Property Value
Type: String
type
Set the type property to assign the object type that’s returned from the field describe result using the getReferenceTo() method
or from the sObject describe result using the getSObjectType() method.
Signature
public Schema.SObjectType type {get; set;}
Property Value
Type: Schema.SObjectType
RecordWithReferenceRequest Class
Contains constructors and properties to associate a record object with a reference identifier.
Namespace
CommerceOrders
Example
CommerceOrders.RecordWithReferenceRequest orderRecordNode = new
CommerceOrders.RecordWithReferenceRequest('refOrder', orderRecord);
RecordWithReferenceRequest Constructors
Learn more about the available constructors with the RecordWithReferenceRequest class.
RecordWithReferenceRequest Properties
Learn more about the available properties with the RecordWithReferenceRequest class.
RecordWithReferenceRequest Constructors
Learn more about the available constructors with the RecordWithReferenceRequest class.
The RecordWithReferenceRequest class includes these constructors.
RecordWithReferenceRequest(referenceId, record)
Creates an instance of the RecordWithReferenceRequest class to associate a record object with a reference identifier by
using the referenceId and record object properties.
890
Transaction Management Quote and Order Capture Apex Reference
RecordWithReferenceRequest(referenceId, record)
Creates an instance of the RecordWithReferenceRequest class to associate a record object with a reference identifier by using
the referenceId and record object properties.
Signature
public RecordWithReferenceRequest(String referenceId, commerceorders.RecordResource
record)
Parameters
referenceId
Type: String
Reference ID that maps to the subrequest response and can be used to reference the response in subsequent subrequests. You can
reference the referenceId in either the body or URL of a subrequest. Use this syntax to include a reference:
@{referenceId.FieldName}. See referenceId property of a composite subrequest.
record
Type: commerceorders.RecordResource
Record object that’s defined using the RecordResource class.
RecordWithReferenceRequest Properties
Learn more about the available properties with the RecordWithReferenceRequest class.
The RecordWithReferenceRequest class includes these properties.
record
Set the record property to specify the record object that’s defined by using the RecordResource class.
referenceId
Set the referenceId property to specify the reference ID that maps to the subrequest response. This reference ID can be used
to reference the response in subsequent subrequests.
record
Set the record property to specify the record object that’s defined by using the RecordResource class.
Signature
public commerceorders.RecordResource record {get; set;}
Property Value
Type: commerceorders.RecordResource
referenceId
Set the referenceId property to specify the reference ID that maps to the subrequest response. This reference ID can be used to
reference the response in subsequent subrequests.
891
Transaction Management Quote and Order Capture Apex Reference
Signature
public String referenceId {get; set;}
Property Value
Type: String
CommerceTax Namespace
Manage the communication between Salesforce and an external tax engine.
The CommerceTax namespace includes these classes.
AbstractTransactionResponse Class
Abstract class that contains methods for setting tax fields based on the external tax provider's response. Response classes that extend
AbstractTransactionResponse inherit these methods.
AddressesResponse Class
Sets the tax address fields based on a response from the external tax engine. Contains setter methods for the Ship From, Ship To,
and Sold To addresses.
AddressResponse Class
Contains a location code sent from the external tax engine.
AmountDetailsResponse Class
Sets tax amount fields based on a response from the external tax engine.
CalculateTaxRequest Class
Represents a request to an external tax engine to calculate tax. Extends the TaxTransactionRequest class and is the top-level request
class.
CalculateTaxResponse Class
Sets the values of the tax transaction following a response from the external tax engine. Extends the AbstractTransactionResponse
class and is the top-level response class.
CalculateTaxType Enum
Shows whether a tax calculation request is for estimated or actual tax.
ErrorResponse Class
Use to respond with an error after receiving errors from the PaymentGatewayAdapter methods of the CommercePayments namespace,
such as request-forbidden responses, custom validation errors, or expired API tokens.
HeaderTaxAddressesRequest Class
Captures the address values that are applicable for the quote or order transaction.
ImpositionResponse Class
Stores details of tax impositions from the external tax engine.
JurisdictionResponse Class
Stores details from the external tax engine about the tax jurisdiction used in the tax calculation process. A tax jurisdiction represents
a government entity that collects tax.
LineItemResponse Class
Response class that stores details of a list of one or more line items on which the tax engine has calculated tax.
892
Transaction Management Quote and Order Capture Apex Reference
LineTaxAddressesRequest Class
Stores details of the addresses applied per line item in a tax calculation request.
RequestType Enum
Shows the type of tax request made to the tax engine.
ResultCode Enum
Code that represents the results of a tax request made to the tax engine.
RuleDetailsResponse Class
Contains details about the tax rules used for tax calculation.
TaxAddressesRequest Class
Contains methods to get and set tax address values.
TaxAddressRequest Class
Contains address details used for tax calculation.
TaxApiException Class
Contains details about any exceptions during the tax calculation process. Extends the ApexBaseException class.
TaxCustomerDetailsRequest Class
Contains customer details used in tax calculation.
TaxDetailsResponse Class
Stores details of the tax values that an external tax engine calculates in response to a tax calculation request.
TaxEngineAdapter Interface
Retrieves information from the tax engine and evaluates the information to define tax details.
TaxEngineContext Class
Wrapper class that stores details about the type of a tax calculation request.
TaxLineItemRequest Class
Contains line item details of a tax request.
TaxSellerDetailsRequest Class
Contains tax code details used in the tax calculation request.
TaxTransactionRequest Class
Abstract class for storing customer details used in tax calculation and estimation requests.
TaxTransactionStatus Enum
Shows whether the tax transaction has been committed or uncommitted.
TaxTransactionType Enum
Shows whether the tax transaction is for a credit or debit transaction.
AbstractTransactionResponse Class
Abstract class that contains methods for setting tax fields based on the external tax provider's response. Response classes that extend
AbstractTransactionResponse inherit these methods.
Namespace
CommerceTax
893
Transaction Management Quote and Order Capture Apex Reference
AbstractTransactionResponse Methods
Learn more about the methods for AbstractTransactionResponse class.
AbstractTransactionResponse Methods
Learn more about the methods for AbstractTransactionResponse class.
The AbstractTransactionResponse class includes these methods.
setAddresses(addresses)
Uses an instance of AddressesResponse to set the values of tax address fields.
setAmountDetails(amountDetails)
Uses an instance of AmountDetailsResponse to set tax amount fields such as exemption amount and tax amount.
setCurrencyIsoCode(currencyIsoCode)
Sets the currencyIsoCode field.
setDescription(dscptn)
Sets the Description field.
setDocumentCode(documentCode)
Sets the DocumentCode field. Document codes are often used to reference tax documents that the external tax engine uses in the
tax calculation process. Document code acts as a unique link to chain-related transactions, such as amendment or refunds.
setEffectiveDate(effectiveDate)
Sets the EffectiveDate field. Effective Date fields are optional fields that store the date that a transaction takes effect. We provide
these fields only for recordkeeping purposes – for example, if you must report an effective date to an external general ledger system.
Salesforce doesn't use them to calculate any tax or payment values.
setLineItems(lineItems)
Uses an instance of the LineItemResponse class to set a list of line items. Each line item represents an item sent to an external
tax engine for tax calculation.
setReferenceDocumentCode(referenceDocumentCode)
Sets the ReferenceDocumentCode field. Use this field to store the code of an additional document used in the tax calculation process.
For example, use this field in case of a refund for a previously taxed purchase.
setReferenceEntityId(referenceEntityId)
Sets the ID of a reference entity. In Commerce Tax, a reference entity represents a record related to the items sent to the external
tax engine for tax calculation. For example, if you sent order items for tax calculation, you could define the parent order as the
reference entity.
setTaxTransactionId(taxTrxnId)
Sets the TaxTransactionId field using the ID of a tax transaction record. In Commerce Tax, a tax transaction record stores information
about a specific tax calculation process.
setTransactionDate(transactionDate)
Sets the TransactionDate field.
setAddresses(addresses)
Uses an instance of AddressesResponse to set the values of tax address fields.
894
Transaction Management Quote and Order Capture Apex Reference
Signature
global void setAddresses(commercetax.AddressesResponse addresses)
Parameters
addresses
Type: AddressesResponse
Class that contains methods to set the Ship To, Ship From, and Sold To address information.
Return Value
Type: void
setAmountDetails(amountDetails)
Uses an instance of AmountDetailsResponse to set tax amount fields such as exemption amount and tax amount.
Signature
global void setAmountDetails(commercetax.AmountDetailsResponse amountDetails)
Parameters
amountDetails
Type: AmountDetailsResponse
Class that contains methods to set the tax exemption amount, tax amount, total amount, and total amount with tax.
Return Value
Type: void
setCurrencyIsoCode(currencyIsoCode)
Sets the currencyIsoCode field.
Signature
global void setCurrencyIsoCode(String currencyIsoCode)
Parameters
currencyIsoCode
Type: String
Three-letter ISO 4217 currency code associated with a tax object.
Return Value
Type: void
895
Transaction Management Quote and Order Capture Apex Reference
setDescription(dscptn)
Sets the Description field.
Signature
global void setDescription(String dscptn)
Parameters
dscptn
Type: String
Optional field for providing additional information about a record.
Return Value
Type: void
setDocumentCode(documentCode)
Sets the DocumentCode field. Document codes are often used to reference tax documents that the external tax engine uses in the tax
calculation process. Document code acts as a unique link to chain-related transactions, such as amendment or refunds.
Signature
global void setDocumentCode(String documentCode)
Parameters
documentCode
Type: String
Code for a tax document used in the tax calculation process.
Return Value
Type: void
setEffectiveDate(effectiveDate)
Sets the EffectiveDate field. Effective Date fields are optional fields that store the date that a transaction takes effect. We provide these
fields only for recordkeeping purposes – for example, if you must report an effective date to an external general ledger system. Salesforce
doesn't use them to calculate any tax or payment values.
Signature
global void setEffectiveDate(Datetime effectiveDate)
Parameters
effectiveDate
Type: Datetime
896
Transaction Management Quote and Order Capture Apex Reference
Optional field that stores the date that a transaction takes effect.
Return Value
Type: void
setLineItems(lineItems)
Uses an instance of the LineItemResponse class to set a list of line items. Each line item represents an item sent to an external
tax engine for tax calculation.
Signature
global void setLineItems(List<commercetax.LineItemResponse> lineItems)
Parameters
lineItems
Type: List<LineItemResponse>
A list of line items sent to an external tax engine for tax calculation.
Return Value
Type: void
setReferenceDocumentCode(referenceDocumentCode)
Sets the ReferenceDocumentCode field. Use this field to store the code of an additional document used in the tax calculation process.
For example, use this field in case of a refund for a previously taxed purchase.
Signature
global void setReferenceDocumentCode(String referenceDocumentCode)
Parameters
referenceDocumentCode
Type: String
The code for a document used in the tax calculation process.
Return Value
Type: void
setReferenceEntityId(referenceEntityId)
Sets the ID of a reference entity. In Commerce Tax, a reference entity represents a record related to the items sent to the external tax
engine for tax calculation. For example, if you sent order items for tax calculation, you could define the parent order as the reference
entity.
897
Transaction Management Quote and Order Capture Apex Reference
Signature
global void setReferenceEntityId(String referenceEntityId)
Parameters
referenceEntityId
Type: String
ID of a record related to the items sent for tax calculation.
Return Value
Type: void
setTaxTransactionId(taxTrxnId)
Sets the TaxTransactionId field using the ID of a tax transaction record. In Commerce Tax, a tax transaction record stores information
about a specific tax calculation process.
Signature
global void setTaxTransactionId(String taxTrxnId)
Parameters
taxTrxnId
Type: String
The ID of a tax transaction record in Commerce Tax.
Return Value
Type: void
setTransactionDate(transactionDate)
Sets the TransactionDate field.
Signature
global void setTransactionDate(Datetime transactionDate)
Parameters
transactionDate
Type: Datetime
Date that a tax transaction occurred.
Return Value
Type: void
898
Transaction Management Quote and Order Capture Apex Reference
AddressesResponse Class
Sets the tax address fields based on a response from the external tax engine. Contains setter methods for the Ship From, Ship To, and
Sold To addresses.
Namespace
CommerceTax
Usage
Because AddressesResponse contains multiple addresses, we recommend using multiple instances of AddressResponse
to set unique values for each address.
Example
This code sample represents a portion of the code used in a mock tax adapter. In this example, you create three AddressResponse
classes, set their location codes, and pass them to the Ship To, Ship From, and Sold To setter methods in
AddressesResponse. In an actual implementation, your AddressResponse classes already have a location code based on
the response from the external tax engine.
commercetax.AddressesResponse addressesRes = new commercetax.AddressesResponse();
AddressesResponse Methods
Learn more about the methods for AddressesResponse class.
AddressesResponse Methods
Learn more about the methods for AddressesResponse class.
The AddressesResponse class includes these methods.
setShipFrom(shipFrom)
Sets the value of a ShipFrom address field.
899
Transaction Management Quote and Order Capture Apex Reference
setShipTo(shipTo)
Sets the value of a ShipTo address field.
setSoldTo(soldTo)
Sets the value of a SoldTo address field.
setShipFrom(shipFrom)
Sets the value of a ShipFrom address field.
Signature
global void setShipFrom(commercetax.AddressResponse shipFrom)
Parameters
shipFrom
Type: AddressResponse
A single address. Use this generic address parameter to store any type of address, such as Ship From, Ship To, and Sold To details.
Users set the specific address in an AddressResponse instance and then pass that instance to the AddressesResponse’s
setShipTo(), setShipFrom(), and setSoldTo() methods as needed.
Return Value
Type: void
setShipTo(shipTo)
Sets the value of a ShipTo address field.
Signature
global void setShipTo(commercetax.AddressResponse shipTo)
Parameters
shipTo
Type: AddressResponse
Stores a single address. This is a generic address parameter and can be used to store any type of address, such as Ship From, Ship
To, and Sold To details. Users set the specific address in an AddressResponse instance and then pass that instance to the
AddressesResponse’s setShipTo(), setShipFrom(), and setSoldTo() methods as needed.
Return Value
Type: void
setSoldTo(soldTo)
Sets the value of a SoldTo address field.
900
Transaction Management Quote and Order Capture Apex Reference
Signature
global void setSoldTo(commercetax.AddressResponse soldTo)
Parameters
soldTo
Type: AddressResponse
Stores a single address. This is a generic address parameter and can be used to store any type of address, such as Ship From, Ship
To, Sold To details. Users set the specific address in an AddressResponse instance and then pass that instance to the
AddressesResponse’s setShipTo(), setShipFrom(), and setSoldTo() methods as needed.
Return Value
Type: void
AddressResponse Class
Contains a location code sent from the external tax engine.
Namespace
CommerceTax
Usage
Use the AddressResponse class to set unique values for each address.
commercetax.AddressesResponse addressesRes = new commercetax.AddressesResponse();
AddressResponse Methods
Learn more about the available methods with the AddressResponse class.
901
Transaction Management Quote and Order Capture Apex Reference
AddressResponse Methods
Learn more about the available methods with the AddressResponse class.
The AddressResponse class includes these methods.
setLocationCode(locationCode)
Sets the value of a LocationCode field.
setLocationCode(locationCode)
Sets the value of a LocationCode field.
Signature
global void setLocationCode(String locationCode)
Parameters
locationCode
Type: String
A code that contains address information. This value can be passed to a method that sets the value of an address field.
Return Value
Type: void
AmountDetailsResponse Class
Sets tax amount fields based on a response from the external tax engine.
Namespace
CommerceTax
Example
In this example, an instance of AmountDetailsResponse class in a mock adapter calculates several tax amount fields. The
totalTax and totalAmount parameters were defined in an instance of LineItemResponse class. The adapter then assigns
the instance to lineItemResponse.
commercetax.AmountDetailsResponse amountResponse = new commercetax.AmountDetailsResponse();
amountResponse.setTotalAmountWithTax(totalTax+totalAmount);
amountResponse.setExemptAmount(0);
amountResponse.setTotalAmount(totalAmount);
amountResponse.setTaxAmount(totalTax);
lineItemResponse.setAmountDetails(amountResponse);
AmountDetailsResponse Methods
Learn more about the methods available from the AmountDetailsResponse class.
902
Transaction Management Quote and Order Capture Apex Reference
AmountDetailsResponse Methods
Learn more about the methods available from the AmountDetailsResponse class.
The following are methods for AmountDetailsResponse.
setExemptAmount(exemptAmount)
Sets the value of the ExemptAmount field.
setTaxAmount(taxAmount)
Sets the value of the TaxAmount field.
setTotalAmount(totalAmount)
Sets the value of the TotalAmount field.
setTotalAmountWithTax(totalAmtWithTax)
Sets the value of the TotalAmountWithTax field.
setExemptAmount(exemptAmount)
Sets the value of the ExemptAmount field.
Signature
global void setExemptAmount(Double exemptAmount)
Parameters
exemptAmount
Type: Double
The amount of a line item's total amount that's exempt from tax calculation.
Return Value
Type: void
setTaxAmount(taxAmount)
Sets the value of the TaxAmount field.
Signature
global void setTaxAmount(Double taxAmount)
Parameters
taxAmount
Type: Double
The calculated amount of tax for a line item.
903
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: void
setTotalAmount(totalAmount)
Sets the value of the TotalAmount field.
Signature
global void setTotalAmount(Double totalAmount)
Parameters
totalAmount
Type: Double
The total amount of a line item, excluding tax.
Return Value
Type: void
setTotalAmountWithTax(totalAmtWithTax)
Sets the value of the TotalAmountWithTax field.
Signature
global void setTotalAmountWithTax(Double totalAmtWithTax)
Parameters
totalAmtWithTax
Type: Double
The total amount of a line item combined with the calculated tax for that line item.
Return Value
Type: void
CalculateTaxRequest Class
Represents a request to an external tax engine to calculate tax. Extends the TaxTransactionRequest class and is the top-level request
class.
Namespace
CommerceTax
904
Transaction Management Quote and Order Capture Apex Reference
Example
See TaxEngineAdapter Example Implementation for more details on how to access information from the CalculateTaxRequest
class.
CalculateTaxRequest Constructors
Learn more about the constructors that are available with the CalculateTaxRequest class. This constructor is intended for
test usage and throws an exception if used outside of the Apex test context.
CalculateTaxRequest Properties
Learn more about the available properties with the CalculateTaxRequest class.
CalculateTaxRequest Methods
Learn more about the available methods with the CalculateTaxRequest class.
CalculateTaxRequest Constructors
Learn more about the constructors that are available with the CalculateTaxRequest class. This constructor is intended for test
usage and throws an exception if used outside of the Apex test context.
The CalculateTaxRequest class includes these constructors.
CalculateTaxRequest(taxType)
This constructor is intended for test usage only and throws an exception if used outside of the Apex test context.
CalculateTaxRequest(taxType)
This constructor is intended for test usage only and throws an exception if used outside of the Apex test context.
Signature
global CalculateTaxRequest(commercetax.CalculateTaxType taxType)
Parameters
taxType
Type: CalculateTaxType
Indicates whether the tax calculation is for estimated tax or actual tax.
CalculateTaxRequest Properties
Learn more about the available properties with the CalculateTaxRequest class.
The CalculateTaxRequest class includes these properties.
isCommit
Indicates whether the tax calculation has to be committed or reported to government authorities.
taxTransactionType
Shows whether the tax transaction is for a credit or debit transaction.
905
Transaction Management Quote and Order Capture Apex Reference
taxType
Shows whether the tax calculation is for estimated or actual tax wherein only actual tax can be submitted.
isCommit
Indicates whether the tax calculation has to be committed or reported to government authorities.
Signature
global Boolean isCommit {get; set;}
Property Value
Type: Boolean
taxTransactionType
Shows whether the tax transaction is for a credit or debit transaction.
Signature
global commercetax.TaxTransactionType taxTransactionType {get; set;}
Property Value
Type: TaxTransactionType
taxType
Shows whether the tax calculation is for estimated or actual tax wherein only actual tax can be submitted.
Signature
global commercetax.CalculateTaxType taxType {get; set;}
Property Value
Type: CalculateTaxType
CalculateTaxRequest Methods
Learn more about the available methods with the CalculateTaxRequest class.
The CalculateTaxRequest class includes these methods.
equals(obj)
Maintains the integrity of lists of type CalculateTaxRequest by determining the equality of external objects in a list. This
method is dynamic and is based on the equals() method in Java.
906
Transaction Management Quote and Order Capture Apex Reference
hashCode()
Maintains the integrity of lists of type CalculateTaxRequest by determining the uniqueness of the external object records
in a list.
toString()
Converts a value to a string.
equals(obj)
Maintains the integrity of lists of type CalculateTaxRequest by determining the equality of external objects in a list. This method
is dynamic and is based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
Parameters
obj
Type: Object
External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Maintains the integrity of lists of type CalculateTaxRequest by determining the uniqueness of the external object records in a
list.
Signature
global Integer hashCode()
Return Value
Type: Integer
toString()
Converts a value to a string.
Signature
global String toString()
Return Value
Type: String
907
Transaction Management Quote and Order Capture Apex Reference
CalculateTaxResponse Class
Sets the values of the tax transaction following a response from the external tax engine. Extends the AbstractTransactionResponse class
and is the top-level response class.
Namespace
CommerceTax
Example
if(requestType == commercetax.RequestType.CalculateTax){
commercetax.calculatetaxtype type = request.taxtype;
String docCode='';
if(request.DocumentCode == 'simulateEmptyDocumentCode')
docCode = '';
else if(request.DocumentCode != null)
docCode =request.DocumentCode;
else if(request.ReferenceEntityId != null) docCode = request.ReferenceEntityId;
908
Transaction Management Quote and Order Capture Apex Reference
response.setReferenceEntityId(request.ReferenceEntityId);
}
CalculateTaxResponse Methods
Learn more about the available methods with the CalculateTaxResponse class.
CalculateTaxResponse Methods
Learn more about the available methods with the CalculateTaxResponse class.
The CalculateTaxResponse class includes these methods.
setAddresses(addresses)
Sets the value of the Addresses field using the addresses contained in an instance of the AddressesResponse class.
setAmountDetails(amountDetails)
Sets the value of the AmountDetails field using an instance of AmountDetailsResponse.
setCurrencyIsoCode(currencyIsoCode)
Sets the value of the CurrencyIsoCode field of the CalculateTaxResponse object.
setDescription(dscptn)
Sets the value of the Description field of the CalculateTaxResponse object.
setDocumentCode(documentCode)
Sets the value of the DocumentCode field of the CalculateTaxResponse object.
setEffectiveDate(effectiveDate)
Sets the value of the EffectiveDate field of the CalculateTaxResponse object.
setLineItems(lineItems)
Sets the value of the LineItems field of the CalculateTaxResponse object.
setReferenceDocumentCode(referenceDocumentCode)
Sets the value of the ReferenceDocumentCode field of the CalculateTaxResponse object.
setReferenceEntityId(referenceEntityId)
Sets the value of the ReferenceEntityId field of the CalculateTaxResponse object.
setStatus(status)
Sets the value of the Status field of the CalculateTaxResponse object.
setStatusDescription(statusDescription)
Sets the value of the StatusDescription field of the CalculateTaxResponse object.
setTaxTransactionId(taxTrxnId)
Sets the value of the TaxTransactionId field of the CalculateTaxResponse object.
setTaxTransactionType(taxTransactionType)
Sets the value of the TaxTransactionType field of the CalculateTaxResponse object.
setTaxType(taxType)
Sets the value of the TaxType field of the CalculateTaxResponse object.
setTransactionDate(transactionDate)
Sets the value of the TransactionDate field of the CalculateTaxResponse object.
909
Transaction Management Quote and Order Capture Apex Reference
setAddresses(addresses)
Sets the value of the Addresses field using the addresses contained in an instance of the AddressesResponse class.
Signature
global void setAddresses(commercetax.AddressesResponse addresses)
Parameters
addresses
Type: AddressesResponse
Contains Ship To, Ship From, and Sold To addresses.
Return Value
Type: void
setAmountDetails(amountDetails)
Sets the value of the AmountDetails field using an instance of AmountDetailsResponse.
Signature
global void setAmountDetails(commercetax.AmountDetailsResponse amountDetails)
Parameters
amountDetails
Type: AmountDetailsResponse
The tax amount details for a line item on which tax was calculated.
Return Value
Type: void
setCurrencyIsoCode(currencyIsoCode)
Sets the value of the CurrencyIsoCode field of the CalculateTaxResponse object.
Signature
global void setCurrencyIsoCode(String currencyIsoCode)
Parameters
currencyIsoCode
Type: String
Three-letter ISO 4217 currency code associated with a tax object.
910
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: void
setDescription(dscptn)
Sets the value of the Description field of the CalculateTaxResponse object.
Signature
global void setDescription(String dscptn)
Parameters
dscptn
Type: String
Optional description for providing more information about the calculate tax response.
Return Value
Type: void
setDocumentCode(documentCode)
Sets the value of the DocumentCode field of the CalculateTaxResponse object.
Signature
global void setDocumentCode(String documentCode)
Parameters
documentCode
Type: String
Code for a tax document that’s created by the tax engine for the calculation process.
Return Value
Type: void
setEffectiveDate(effectiveDate)
Sets the value of the EffectiveDate field of the CalculateTaxResponse object.
Signature
global void setEffectiveDate(Datetime effectiveDate)
911
Transaction Management Quote and Order Capture Apex Reference
Parameters
effectiveDate
Type: Datetime
The date a tax calculation action takes effect. This parameter is optional and is provided only for recordkeeping purpose. Additionally,
this parameter is used to determine the tax rates or rules and overrides the transaction date. For example, if the tax calculation
request is placed on January 3 and the transaction date is January 1, you can set the effective date as January 1.
Return Value
Type: void
setLineItems(lineItems)
Sets the value of the LineItems field of the CalculateTaxResponse object.
Signature
global void setLineItems(List<commercetax.LineItemResponse> lineItems)
Parameters
lineItems
Type: List<LineItemResponse>
Response object that the tax adapter populates from the response of the external tax engine.
Return Value
Type: void
setReferenceDocumentCode(referenceDocumentCode)
Sets the value of the ReferenceDocumentCode field of the CalculateTaxResponse object.
Signature
global void setReferenceDocumentCode(String referenceDocumentCode)
Parameters
referenceDocumentCode
Type: String
Code for a reference document used in the tax calculation process.
Return Value
Type: void
912
Transaction Management Quote and Order Capture Apex Reference
setReferenceEntityId(referenceEntityId)
Sets the value of the ReferenceEntityId field of the CalculateTaxResponse object.
Signature
global void setReferenceEntityId(String referenceEntityId)
Parameters
referenceEntityId
Type: String
ID of an entity related to the line items submitted for tax calculation. For example, if order items were sent for tax calculation, you
could use the ID of their parent order.
Return Value
Type: void
setStatus(status)
Sets the value of the Status field of the CalculateTaxResponse object.
Signature
global void setStatus(commercetax.TaxTransactionStatus status)
Parameters
status
Type: TaxTransactionStatus
Indicates whether a tax transaction has been committed.
Return Value
Type: void
setStatusDescription(statusDescription)
Sets the value of the StatusDescription field of the CalculateTaxResponse object.
Signature
global void setStatusDescription(String statusDescription)
Parameters
statusDescription
Type: String
Optional value for providing more information about a tax transaction's status.
913
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: void
setTaxTransactionId(taxTrxnId)
Sets the value of the TaxTransactionId field of the CalculateTaxResponse object.
Signature
public void setTaxTransactionId(String taxTrxnId)
Parameters
taxTrxnId
Type: String
The ID of the Salesforce tax transaction entity that stores information about the tax calculation transaction.
Return Value
Type: void
setTaxTransactionType(taxTransactionType)
Sets the value of the TaxTransactionType field of the CalculateTaxResponse object.
Signature
global void setTaxTransactionType(commercetax.TaxTransactionType taxTransactionType)
Parameters
taxTransactionType
Type: TaxTransactionType
Whether the tax transaction was for a credit or debit transacation.
Return Value
Type: void
setTaxType(taxType)
Sets the value of the TaxType field of the CalculateTaxResponse object.
Signature
global void setTaxType(commercetax.CalculateTaxType taxType)
914
Transaction Management Quote and Order Capture Apex Reference
Parameters
taxType
Type: CalculateTaxType
Indicates whether a tax calculation request is for estimated or actual tax.
Return Value
Type: void
setTransactionDate(transactionDate)
Sets the value of the TransactionDate field of the CalculateTaxResponse object.
Signature
global void setTransactionDate(Datetime transactionDate)
Parameters
transactionDate
Type: Datetime
The date that the tax transaction occurred.
Return Value
Type: void
CalculateTaxType Enum
Shows whether a tax calculation request is for estimated or actual tax.
Usage
Used by the CalculateTaxRequest and CalculateTaxResponse class methods.
Enum Values
The commercetax.CalculateTaxType enum includes these values.
Value Description
Actual Specifies that the tax calculation service should calculate the finalized (actual) tax
for the requested line items.
Estimated Specifies that the tax calculation service should estimate the tax for the requested
line items.
915
Transaction Management Quote and Order Capture Apex Reference
ErrorResponse Class
Use to respond with an error after receiving errors from the PaymentGatewayAdapter methods of the CommercePayments namespace,
such as request-forbidden responses, custom validation errors, or expired API tokens.
Namespace
CommerceTax
Example
This example snippet of a mock tax adapter shows a hypothetical scenario to demo an error response. The adapter receives request
information from TaxEngineContext and stores it in an instance of CalculateTaxRequest. If the request's documentCode
property is null or indicates an error, the adapter returns an error response with information about the error.
if(request.documentCode == null) {
return new commercetax.ErrorResponse(commercetax.resultcode.TaxEngineError,
'404', 'documentCode is mandatory');
}
if(request.documentCode == 'TaxEngineError') {
return new commercetax.ErrorResponse(commercetax.resultcode.TaxEngineError,
'504', 'documentCode - not supported');
}
if(request.documentCode == 'simulateValidationFailureInAdapter') {
return new commercetax.ErrorResponse(commercetax.resultcode.TaxEngineError,
'400', 'validations for documentCode failed in adapter');
}
if(request.documentCode == 'simulateMalformedErrorInAdapter') {
return new
commercetax.ErrorResponse(commercetax.resultcode.TaxEngineError, null, 'malformed adapter
error response');
}
if(request.documentCode == 'simulateTaxEngineProcessFailure') {
return new commercetax.ErrorResponse(commercetax.resultcode.TaxEngineError,
'500', 'Tax Engine couldnt process your request');
}
ErrorResponse Constructors
Learn more about the available constructors with the ErrorResponse class.
ErrorResponse Constructors
Learn more about the available constructors with the ErrorResponse class.
916
Transaction Management Quote and Order Capture Apex Reference
Signature
global ErrorResponse(commercetax.ResultCode resultCode, String errorCode, String
errorMessage)
Parameters
resultCode
Type: ResultCode
Code for the type of result sent by the tax engine.
errorCode
Type: String
Code for the type of error sent by the tax engine.
Codes must match the HTTP status codes to be returned to the user. Here are a few examples:
• If the status code is for a bad request, set errorCode to 400.
• If the status code is for a forbidden request, set errorCode to 403.
• If errorCode isn't a valid HTTP status code, a 500 internal server error is returned.
errorMessage
Type: String
The error message sent by the tax engine.
HeaderTaxAddressesRequest Class
Captures the address values that are applicable for the quote or order transaction.
Namespace
CommerceTax
HeaderTaxAddressesRequest Constructors
Learn more about the constructors available with the HeaderTaxAddressesRequest class.
HeaderTaxAddressesRequest Properties
Learn more about the available properties with the HeaderTaxAddressesRequest class.
HeaderTaxAddressesRequest Methods
Learn more about the available methods with the HeaderTaxAddressesRequest class.
917
Transaction Management Quote and Order Capture Apex Reference
HeaderTaxAddressesRequest Constructors
Learn more about the constructors available with the HeaderTaxAddressesRequest class.
The HeaderTaxAddressesRequest class includes these constructors.
Signature
global HeaderTaxAddressesRequest(commercetax.TaxAddressRequest shipFrom,
commercetax.TaxAddressRequest shipTo, commercetax.TaxAddressRequest soldTo,
commercetax.TaxAddressRequest billTo, commercetax.TaxAddressRequest taxEngineAddress)
Parameters
shipFrom
Type: TaxAddressRequest
Address where a line item was shipped from.
shipTo
Type: TaxAddressRequest
Address where a line item was shipped to.
soldTo
Type: TaxAddressRequest
Address of the line item's buyer.
billTo
Type: TaxAddressRequest
Person or group who was billed for the line item.
taxEngineAddress
Type: TaxAddressRequest
Address that the tax engine uses to calculate tax.
HeaderTaxAddressesRequest Properties
Learn more about the available properties with the HeaderTaxAddressesRequest class.
The HeaderTaxAddressesRequest class includes these properties.
billTo
Specifies the billTo address for a line item on which tax was calculated.
918
Transaction Management Quote and Order Capture Apex Reference
shipFrom
Specifies the shipFrom address for a line item on which tax was calculated.
shipTo
Specifies the shipTo address for a line item on which tax was calculated.
soldTo
Specifies the soldTo address for a line item on which tax was calculated.
taxEngineAddress
Address used by the tax engine when calculating tax for a line item.
billTo
Specifies the billTo address for a line item on which tax was calculated.
Signature
global commercetax.TaxAddressRequest billTo {get; set;}
Property Value
Type: TaxAddressRequest
shipFrom
Specifies the shipFrom address for a line item on which tax was calculated.
Signature
global commercetax.TaxAddressRequest shipFrom {get; set;}
Property Value
Type: TaxAddressRequest
shipTo
Specifies the shipTo address for a line item on which tax was calculated.
Signature
global commercetax.TaxAddressRequest shipTo {get; set;}
Property Value
Type: TaxAddressRequest
soldTo
Specifies the soldTo address for a line item on which tax was calculated.
919
Transaction Management Quote and Order Capture Apex Reference
Signature
global commercetax.TaxAddressRequest soldTo {get; set;}
Property Value
Type: TaxAddressRequest
taxEngineAddress
Address used by the tax engine when calculating tax for a line item.
Signature
global commercetax.TaxAddressRequest taxEngineAddress {get; set;}
Property Value
Type: TaxAddressRequest
HeaderTaxAddressesRequest Methods
Learn more about the available methods with the HeaderTaxAddressesRequest class.
The HeaderTaxAddressesRequest class includes these methods.
equals(obj)
Maintains the integrity of lists of type HeaderTaxAddressesRequest by determining the equality of external objects in a
list. This method is dynamic and is based on the equals() method in Java.
hashCode()
Maintains the integrity of lists of type TaxAddressesRequest by determining the uniqueness of the external objects in a list.
toString()
Converts a value to a string.
equals(obj)
Maintains the integrity of lists of type HeaderTaxAddressesRequest by determining the equality of external objects in a list.
This method is dynamic and is based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
Parameters
obj
Type: Object
External object whose key is to be validated.
920
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: Boolean
hashCode()
Maintains the integrity of lists of type TaxAddressesRequest by determining the uniqueness of the external objects in a list.
Signature
global Integer hashCode()
Return Value
Type: Integer
toString()
Converts a value to a string.
Signature
global String toString()
Return Value
Type: String
ImpositionResponse Class
Stores details of tax impositions from the external tax engine.
Namespace
CommerceTax
Example
In this mock adapter example, the adapter sets the TaxDetailsResponse.setImposition() method parameter to null if
the request's document code indicates that the tax calculation didn't require any exceptions. Otherwise, it creates an instance of
ImpositionResponse and sets its SubType and Type values, and then assigns it to TaxDetailsResponse.
if(request.DocumentCode == 'SetsNullForResponseWithoutException'){
taxDetailsResponse.setImposition(null);
}else{
commercetax.ImpositionResponse imposition = new
commercetax.ImpositionResponse();
imposition.setSubType('subtype');
imposition.setType('type');
taxDetailsResponse.setImposition(imposition);
}
921
Transaction Management Quote and Order Capture Apex Reference
ImpositionResponse Methods
Learn more about the available methods with the ImpositionResponse class.
ImpositionResponse Methods
Learn more about the available methods with the ImpositionResponse class.
The ImpositionResponse class includes these methods.
setId(id)
Sets the ID field of the ImpositionResponse class.
setName(name)
Sets the Name field of the ImpositionResponse class.
setSubType(subType)
Sets the SubType field of the ImpositionResponse class.
setType(type)
Sets the Type field of the ImpositionResponse class.
setId(id)
Sets the ID field of the ImpositionResponse class.
Signature
global void setId(String id)
Parameters
id
Type: String
User-defined ID value used for referencing the tax imposition.
Return Value
Type: void
setName(name)
Sets the Name field of the ImpositionResponse class.
Signature
global void setName(String name)
Parameters
name
Type: String
922
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: void
setSubType(subType)
Sets the SubType field of the ImpositionResponse class.
Signature
global void setSubType(String subType)
Parameters
subType
Type: String
Many tax calculation organizations use types and subtypes to categorize their tax imposition procedures. If the tax engine you use
follows this process, set the subtype with this parameter.
Return Value
Type: void
setType(type)
Sets the Type field of the ImpositionResponse class.
Signature
public void setType(String type)
Parameters
type
Type: String
Many tax calculation organizations use types and subtypes to categorize their tax imposition procedures. If the tax engine you use
follows this process, set the type with this parameter.
Return Value
Type: void
JurisdictionResponse Class
Stores details from the external tax engine about the tax jurisdiction used in the tax calculation process. A tax jurisdiction represents a
government entity that collects tax.
923
Transaction Management Quote and Order Capture Apex Reference
Namespace
CommerceTax
Example
In this mock adapter example, the adapter sets the TaxDetailsResponse.setJurisdiction() method parameter to null
if the request's document code indicates that the tax calculation didn't require any exceptions. Otherwise, it creates an instance of
JurisdictionResponse and sets its address values. Because this code represents a mock adapter, the example defines the
address parameters directly. In a standard implementation, the jurisdiction's setters receive values passed from the eternal tax engine.
if(request.DocumentCode == 'SetsNullForResponseWithoutException'){
taxDetailsResponse.setJurisdiction(null);
}else{
commercetax.JurisdictionResponse jurisdiction = new
commercetax.JurisdictionResponse();
jurisdiction.setCountry('country');
jurisdiction.setRegion('region');
jurisdiction.setName('name');
jurisdiction.setStateAssignedNumber('stateAssignedNo');
jurisdiction.setId('id');
jurisdiction.setLevel('level');
taxDetailsResponse.setJurisdiction(jurisdiction);
JurisdictionResponse Methods
Learn more about the available methods with the JurisdictionResponse class.
JurisdictionResponse Methods
Learn more about the available methods with the JurisdictionResponse class.
The JurisdictionResponse class includes these methods.
setCountry(country)
Sets the Country field of the JurisdictionResponse class.
setId(id)
Sets the ID field of the JurisdictionResponse class.
setLevel(level)
Sets the Level field of the JurisdictionResponse class.
setName(name)
Sets the Name field of the JurisdictionResponse class.
setRegion(region)
Sets the Region value of the JurisdictionResponse class.
setStateAssignedNumber(stateAssignedNo)
Sets the StateAssignedNumber field of the JurisdictionResponse class.
924
Transaction Management Quote and Order Capture Apex Reference
setCountry(country)
Sets the Country field of the JurisdictionResponse class.
Signature
global void setCountry(String country)
Parameters
country
Type: String
The country of the tax jurisdiction entity's address.
Return Value
Type: void
setId(id)
Sets the ID field of the JurisdictionResponse class.
Signature
global void setId(String id)
Parameters
id
Type: String
User-defined Id value used to reference the jurisdiction response.
Return Value
Type: void
setLevel(level)
Sets the Level field of the JurisdictionResponse class.
Signature
global void setLevel(String level)
Parameters
level
Type: String
Level value used in the jurisdiction entity's address.
925
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: void
setName(name)
Sets the Name field of the JurisdictionResponse class.
Signature
global void setName(String name)
Parameters
name
Type: String
Optional user-defined name field for referencing the jurisdiction response.
Return Value
Type: void
setRegion(region)
Sets the Region value of the JurisdictionResponse class.
Signature
global void setRegion(String region)
Parameters
region
Type: String
Region value used in the tax jurisdiction entity's address.
Return Value
Type: void
setStateAssignedNumber(stateAssignedNo)
Sets the StateAssignedNumber field of the JurisdictionResponse class.
Signature
global void setStateAssignedNumber(String stateAssignedNo)
926
Transaction Management Quote and Order Capture Apex Reference
Parameters
stateAssignedNo
Type: String
State assigned number value of the tax jurisdiction entity's address.
Return Value
Type: void
LineItemResponse Class
Response class that stores details of a list of one or more line items on which the tax engine has calculated tax.
Namespace
CommerceTax
Example
This example uses a LineItemResponse list to store information about each line item that was processed as part of the request.
For simplicity, the sample code uses a static value of 1 for the tax rate. However, most integrations typically have a more complex process
for determining a tax rate. Most integrations also build a TaxDetailsResponse list to store the actual tax value information that
they assign to each line item in the LineItemResponse list.
Double totalTax = 0.0;
Double totalAmount = 0.0;
List<commercetax.LineItemResponse> lineItemResponses = new
List<commercetax.LineItemResponse>();
for(Commercetax.TaxLineItemRequest lineItem : request.lineItems){
commercetax.AddressesResponse addressesRes = new
commercetax.AddressesResponse();
if(request.DocumentCode == 'SetsNullForResponseWithoutException'){
addressesRes.setShipFrom(null);
addressesRes.setShipTO(null);
addressesRes.setSoldTo(null);
}else{
commercetax.AddressResponse addRes = new commercetax.AddressResponse();
addRes.setLocationCode('locationCode');
addressesRes.setShipFrom(addRes);
addressesRes.setShipTO(addRes);
addressesRes.setSoldTo(addRes);
}
commercetax.LineItemResponse lineItemResponse = new
commercetax.LineItemResponse();
Double totalLineTax = 0;
List<commercetax.TaxDetailsResponse> taxDetailsResponses = new
List<commercetax.TaxDetailsResponse>();
for(integer i =0;i<1;i++){
Integer rate = 1;
Double taxableAmount = lineItem.amount;
commercetax.TaxDetailsResponse taxDetailsResponse = new
927
Transaction Management Quote and Order Capture Apex Reference
commercetax.TaxDetailsResponse();
taxDetailsResponse.setRate(Double.valueOf(rate));
taxDetailsResponse.setTaxableAmount(taxableAmount);
Double tax = taxableAmount*rate;
totalLineTax+=tax;
taxDetailsResponse.setTax(taxableAmount*rate);
taxDetailsResponse.setExemptAmount(0);
taxDetailsResponse.setExemptReason('exemptReason');
taxDetailsResponse.setTaxRegionId('taxRegionId');
taxDetailsResponse.setTaxId(String.valueOf(getRandomInteger(0,2323233)));
taxDetailsResponse.setSerCode('serCode');
taxDetailsResponse.setTaxAuthorityTypeId('taxAuthorityTypeId');
if(request.DocumentCode == 'SetsNullForResponseWithoutException'){
taxDetailsResponse.setImposition(null);
}else{
commercetax.ImpositionResponse imposition = new
commercetax.ImpositionResponse();
imposition.setSubType('subtype');
imposition.setType('type');
taxDetailsResponse.setImposition(imposition);
}
if(request.DocumentCode == 'SetsNullForResponseWithoutException'){
taxDetailsResponse.setJurisdiction(null);
}else{
commercetax.JurisdictionResponse jurisdiction = new
commercetax.JurisdictionResponse();
jurisdiction.setCountry('country');
jurisdiction.setRegion('region');
jurisdiction.setName('name');
jurisdiction.setStateAssignedNumber('stateAssignedNo');
jurisdiction.setId('id');
jurisdiction.setLevel('level');
taxDetailsResponse.setJurisdiction(jurisdiction);
}
taxDetailsResponses.add(taxDetailsResponse);
}
lineItemResponse.setTaxes(taxDetailsResponses);
totalTax +=totalLineTax;
totalAmount+=lineItem.amount;
LineItemResponse Methods
Learn more about the available methods with the LineItemResponse class.
LineItemResponse Methods
Learn more about the available methods with the LineItemResponse class.
The LineItemResponse class includes these methods.
928
Transaction Management Quote and Order Capture Apex Reference
setAddresses(addresses)
Sets the Addresses field on the LineItemResponse using an instance of AddressesResponse class.
setAmountDetails(amountDetails)
Sets the Amount Details field on the LineItemResponse using an instance of AmountDetails.
setEffectiveDate(effectiveDate)
Sets the EffectiveDate field on the LineItemResponse class. Effective Date fields are optional fields that store the date that a
transaction takes effect. We provide these fields only for recordkeeping purposes – for example, if you must report an effective date
to an external general ledger system. Salesforce doesn't use them to calculate any tax or payment values.
setIsTaxable(isTaxable)
Sets the IsTaxable field on the LineItemResponse class.
setLineNumber(lineNumber)
Sets the LineNumber field on the LineItemResponse class.
setProductCode(productCode)
Sets the ProductCode field on the LineItemResponse class.
setQuantity(quantity)
Sets the Quantity field on the LineItemResponse class.
setTaxCode(taxCode)
Sets the TaxCode field on the LineItemResponse.
setTaxes(taxes)
Sets the Taxes field on a LineItemResponse.
setAddresses(addresses)
Sets the Addresses field on the LineItemResponse using an instance of AddressesResponse class.
Signature
global void setAddresses(commercetax.AddressesResponse addresses)
Parameters
addresses
Type: AddressesResponse
Class that contains methods to set the Ship To, Ship From, and Sold To address information.
Return Value
Type: void
setAmountDetails(amountDetails)
Sets the Amount Details field on the LineItemResponse using an instance of AmountDetails.
Signature
global void setAmountDetails(commercetax.AmountDetailsResponse amountDetails)
929
Transaction Management Quote and Order Capture Apex Reference
Parameters
amountDetails
Type: AmountDetailsResponse
Class that contains methods to set the tax amount, total amount with tax, total amount, and exempt amount.
Return Value
Type: void
setEffectiveDate(effectiveDate)
Sets the EffectiveDate field on the LineItemResponse class. Effective Date fields are optional fields that store the date that a
transaction takes effect. We provide these fields only for recordkeeping purposes – for example, if you must report an effective date to
an external general ledger system. Salesforce doesn't use them to calculate any tax or payment values.
Signature
global void setEffectiveDate(Datetime effectiveDate)
Parameters
effectiveDate
Type: Datetime
Optional field that stores the date that a transaction takes effect.
Return Value
Type: void
setIsTaxable(isTaxable)
Sets the IsTaxable field on the LineItemResponse class.
Signature
global void setIsTaxable(Boolean isTaxable)
Parameters
isTaxable
Type: Boolean
Whether line items were taxed as part of the tax calculation request.
Return Value
Type: void
930
Transaction Management Quote and Order Capture Apex Reference
setLineNumber(lineNumber)
Sets the LineNumber field on the LineItemResponse class.
Signature
global void setLineNumber(String lineNumber)
Parameters
lineNumber
Type: String
User-defined number used to identify a line item.
Return Value
Type: void
setProductCode(productCode)
Sets the ProductCode field on the LineItemResponse class.
Signature
global void setProductCode(String productCode)
Parameters
productCode
Type: String
Code for the product that a line item represents.
Return Value
Type: void
setQuantity(quantity)
Sets the Quantity field on the LineItemResponse class.
Signature
global void setQuantity(Double quantity)
Parameters
quantity
Type: Double
Quantity of a line item.
931
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: void
setTaxCode(taxCode)
Sets the TaxCode field on the LineItemResponse.
Signature
global void setTaxCode(String taxCode)
Parameters
taxCode
Type: String
Federal code that an individual or business uses to pay their taxes to a federal or state government. The tax engine uses this code
during the tax calculation process.
Return Value
Type: void
setTaxes(taxes)
Sets the Taxes field on a LineItemResponse.
Signature
global void setTaxes(List<commercetax.TaxDetailsResponse> taxes)
Parameters
taxes
Type: List<TaxDetailsResponse>
Tax values applied to a line item in the LineItemResponse list. This information is stored in a list of TaxDetailsResponses,
which contains values such as tax, taxable amount, and tax rate.
Return Value
Type: void
LineTaxAddressesRequest Class
Stores details of the addresses applied per line item in a tax calculation request.
Namespace
CommerceTax
932
Transaction Management Quote and Order Capture Apex Reference
LineTaxAddressesRequest Constructors
Learn more about the constructors available with the LineTaxAddressesRequest class.
LineTaxAddressesRequest Properties
Learn more about the available properties with the LineTaxAddressesRequest class.
LineTaxAddressesRequest Methods
Learn more about the available methods with the LineTaxAddressesRequest class.
LineTaxAddressesRequest Constructors
Learn more about the constructors available with the LineTaxAddressesRequest class.
The LineTaxAddressesRequest class includes these constructors.
Signature
global LineTaxAddressesRequest(commercetax.TaxAddressRequest shipFrom,
commercetax.TaxAddressRequest shipTo, commercetax.TaxAddressRequest soldTo,
commercetax.TaxAddressRequest billTo, commercetax.TaxAddressRequest taxEngineAddress)
Parameters
shipFrom
TaxAddressRequest
Address where a line item was shipped from.
shipTo
TaxAddressRequest
Address where a line item is shipped to.
soldTo
TaxAddressRequest
Address of the line item's buyer.
billTo
TaxAddressRequest
Person or group who was billed for the line item.
taxEngineAddress
TaxAddressRequest
Address that the tax engine uses to calculate tax.
933
Transaction Management Quote and Order Capture Apex Reference
LineTaxAddressesRequest Properties
Learn more about the available properties with the LineTaxAddressesRequest class.
The LineTaxAddressesRequest class includes these properties.
billTo
The Bill To address for a line item.
shipFrom
The Ship From address for a line item.
shipTo
The Ship To address for a line item.
soldTo
The Sold To address for a line item.
billTo
The Bill To address for a line item.
Signature
global commercetax.TaxAddressRequest billTo {get; set;}
Property Value
Type: TaxAddressRequest
shipFrom
The Ship From address for a line item.
Signature
global commercetax.TaxAddressRequest shipFrom {get; set;}
Property Value
Type: TaxAddressRequest
shipTo
The Ship To address for a line item.
Signature
global commercetax.TaxAddressRequest shipTo {get; set;}
Property Value
Type: TaxAddressRequest
934
Transaction Management Quote and Order Capture Apex Reference
soldTo
The Sold To address for a line item.
Signature
global commercetax.TaxAddressRequest soldTo {get; set;}
Property Value
Type: TaxAddressRequest
LineTaxAddressesRequest Methods
Learn more about the available methods with the LineTaxAddressesRequest class.
The LineTaxAddressesRequest class includes these methods.
equals(obj)
Maintains the integrity of lists of type LineTaxAddressesRequest by determining the equality of external objects in a list.
This method is dynamic and is based on the equals() method in Java.
hashCode()
Maintains the integrity of lists of type LineTaxAddressesRequest by determining the uniquness of the external object
records in a list.
toString()
Converts a value to a string.
equals(obj)
Maintains the integrity of lists of type LineTaxAddressesRequest by determining the equality of external objects in a list. This
method is dynamic and is based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
Parameters
obj
Type: Object
External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Maintains the integrity of lists of type LineTaxAddressesRequest by determining the uniquness of the external object records
in a list.
935
Transaction Management Quote and Order Capture Apex Reference
Signature
global Integer hashCode()
Return Value
Type: Integer
toString()
Converts a value to a string.
Signature
global String toString()
Return Value
Type: String
RequestType Enum
Shows the type of tax request made to the tax engine.
Usage
Used by the TaxEngineContext class method.
Enum Values
The commercetax.RequestType enum includes these values.
Value Description
CalculateTax Represents a request to calculate tax on a list of taxable line items.
ResultCode Enum
Code that represents the results of a tax request made to the tax engine.
Usage
Used by the ErrorResponse class method.
Enum Values
The commercetax.ResultCode enum includes these values.
Value Description
TaxEngineError Represents an error that occurred during the tax request process.
936
Transaction Management Quote and Order Capture Apex Reference
RuleDetailsResponse Class
Contains details about the tax rules used for tax calculation.
Namespace
CommerceTax
RuleDetailsResponse Methods
Learn more about the available methods with the RuleDetailsResponse class.
RuleDetailsResponse Methods
Learn more about the available methods with the RuleDetailsResponse class.
The RuleDetailsResponse includes these methods.
RuleDetailsResponse()
Contains information about the tax rules used when calculating tax for line items.
setNonTaxableRuleId(nonTaxableRuleId)
Sets the NonTaxableRuleId field of the RuleDetailsResponse.
setNonTaxableType(nonTaxableType)
Sets the NonTaxableType field of the RuleDetailsResponse.
setRateRuleId(rateRuleId)
Sets the RateRuleId field of the RuleDetailsResponse.
setRateSourceId(rateSourceId)
Sets the RateSourceId field on the RuleDetailsResponse.
RuleDetailsResponse()
Contains information about the tax rules used when calculating tax for line items.
Signature
global void RuleDetailsResponse()
Return Value
Type: void
setNonTaxableRuleId(nonTaxableRuleId)
Sets the NonTaxableRuleId field of the RuleDetailsResponse.
Signature
global void setNonTaxableRuleId(String nonTaxableRuleId)
937
Transaction Management Quote and Order Capture Apex Reference
Parameters
nonTaxableRuleId
Type: String
ID of the tax rule applied to non-taxable line items.
Return Value
Type: void
setNonTaxableType(nonTaxableType)
Sets the NonTaxableType field of the RuleDetailsResponse.
Signature
global void setNonTaxableType(String nonTaxableType)
Parameters
nonTaxableType
Type: String
Reason (from several possible types) that a line item is non-taxable.
Return Value
Type: void
setRateRuleId(rateRuleId)
Sets the RateRuleId field of the RuleDetailsResponse.
Signature
global void setRateRuleId(String rateRuleId)
Parameters
rateRuleId
Type: String
ID of the tax rule used to determine a tax rate.
Return Value
Type: void
setRateSourceId(rateSourceId)
Sets the RateSourceId field on the RuleDetailsResponse.
938
Transaction Management Quote and Order Capture Apex Reference
Signature
global void setRateSourceId(String rateSourceId)
Parameters
rateSourceId
Type: String
ID of the source object used for calculating tax rate.
Return Value
Type: void
TaxAddressesRequest Class
Contains methods to get and set tax address values.
Namespace
CommerceTax
TaxAddressesRequest Constructors
Learn more about the available constructors with the TaxAddressesRequest class.
TaxAddressesRequest Properties
Learn more about the available properties with the TaxAddressesRequest class.
TaxAddressesRequest Methods
Learn more about the available methods with the TaxAddressesRequest class.
TaxAddressesRequest Constructors
Learn more about the available constructors with the TaxAddressesRequest class.
The TaxAddressesRequest class includes these constructors.
Signature
global TaxAddressesRequest(commercetax.TaxAddressRequest shipFrom,
commercetax.TaxAddressRequest shipTo, commercetax.TaxAddressRequest soldTo,
commercetax.TaxAddressRequest billTo, commercetax.TaxAddressRequest taxEngineAddress)
939
Transaction Management Quote and Order Capture Apex Reference
Parameters
shipFrom
TaxAddressRequest
The address where a line item was shipped from.
shipTo
TaxAddressRequest
The address where a line item is shipped to.
soldTo
TaxAddressRequest
The address of the line item's buyer.
billTo
TaxAddressRequest
The person or group who was billed for the line item.
taxEngineAddress
TaxAddressRequest
The address that the tax engine uses to calculate tax.
TaxAddressesRequest Properties
Learn more about the available properties with the TaxAddressesRequest class.
The TaxAddressesRequest class includes these properties.
billTo
The Bill To address for a line item.
shipFrom
The Ship From address for a line item.
shipTo
The Ship To address for a line item.
soldTo
The Sold To address for a line item.
taxEngineAddress
The Tax Engine Address for a line item.
billTo
The Bill To address for a line item.
Signature
global commercetax.TaxAddressRequest billTo {get; set;}
Property Value
TaxAddressRequest
940
Transaction Management Quote and Order Capture Apex Reference
shipFrom
The Ship From address for a line item.
Signature
global commercetax.TaxAddressRequest shipFrom {get; set;}
Property Value
TaxAddressRequest
shipTo
The Ship To address for a line item.
Signature
public commercetax.TaxAddressRequest shipTo {get; set;}
Property Value
TaxAddressRequest
soldTo
The Sold To address for a line item.
Signature
global commercetax.TaxAddressRequest soldTo {get; set;}
Property Value
TaxAddressRequest
taxEngineAddress
The Tax Engine Address for a line item.
Signature
global commercetax.TaxAddressRequest taxEngineAddress {get; set;}
Property Value
TaxAddressRequest
TaxAddressesRequest Methods
Learn more about the available methods with the TaxAddressesRequest class.
The TaxAddressesRequest class includes these methods.
941
Transaction Management Quote and Order Capture Apex Reference
equals(obj)
Maintains the integrity of lists of type TaxAddressesRequest by determining the equality of external objects in a list. This
method is dynamic and is based on the equals() method in Java.
hashCode()
Maintains the integrity of lists of type TaxAddressesRequest by determining the uniqueness of the external object records
in a list.
toString()
Converts a value to a string.
equals(obj)
Maintains the integrity of lists of type TaxAddressesRequest by determining the equality of external objects in a list. This method
is dynamic and is based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
Parameters
obj
Type: Object
External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Maintains the integrity of lists of type TaxAddressesRequest by determining the uniqueness of the external object records in a
list.
Signature
global Integer hashCode()
Return Value
Type: Integer
toString()
Converts a value to a string.
Signature
global String toString()
942
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: String
TaxAddressRequest Class
Contains address details used for tax calculation.
Namespace
CommerceTax
TaxAddressRequest Constructors
Learn more about the available constructors with the TaxAddressRequest class.
TaxAddressRequest Properties
Learn more about the available properties with the TaxAddressRequest class.
TaxAddressRequest Methods
Learn more about the available methods with the TaxAddressRequest class.
TaxAddressRequest Constructors
Learn more about the available constructors with the TaxAddressRequest class.
The TaxAddressRequest class includes these constructors.
Signature
global TaxAddressRequest(String city, String country, Double latitude, Double longitude,
String postalCode, String state, String street, String locationCode)
Parameters
city
Type: String
City used in an address required for tax calculation.
country
Type: String
Country used in an address required for tax calculation.
943
Transaction Management Quote and Order Capture Apex Reference
latitude
Type: Double
Latitude used in an address required for tax calculation.
longitude
Type: Double
Longitude used in an address required for tax calculation.
postalCode
Type: String
Postal code used in an address required for tax calculation.
state
Type: String
State used in an address required for tax calculation.
street
Type: String
Street used in an address required for tax calculation.
locationCode
Type: String
Location code used in an address required for tax calculation.
TaxAddressRequest Properties
Learn more about the available properties with the TaxAddressRequest class.
The TaxAddressRequest class includes these properties.
city
City used in an address required for tax calculation.
country
Country used in an address required for tax calculation.
latitude
Latitude used in an address required for tax calculation.
locationCode
Location code used in an address required for tax calculation.
longitude
Longitude used in an address required for tax calculation.
postalCode
Postal code used in an address required for tax calculation.
state
State used in an address required for tax calculation.
street
Street used in an address required for tax calculation.
944
Transaction Management Quote and Order Capture Apex Reference
city
City used in an address required for tax calculation.
Signature
global String city {get; set;}
Property Value
Type: String
country
Country used in an address required for tax calculation.
Signature
global String country {get; set;}
Property Value
Type: String
latitude
Latitude used in an address required for tax calculation.
Signature
global Double latitude {get; set;}
Property Value
Type: Double
locationCode
Location code used in an address required for tax calculation.
Signature
global String locationCode {get; set;}
Property Value
Type: String
longitude
Longitude used in an address required for tax calculation.
945
Transaction Management Quote and Order Capture Apex Reference
Signature
global Double longitude {get; set;}
Property Value
Type: Double
postalCode
Postal code used in an address required for tax calculation.
Signature
global String postalCode {get; set;}
Property Value
Type: String
state
State used in an address required for tax calculation.
Signature
global String state {get; set;}
Property Value
Type: String
street
Street used in an address required for tax calculation.
Signature
global String street {get; set;}
Property Value
Type: String
TaxAddressRequest Methods
Learn more about the available methods with the TaxAddressRequest class.
The TaxAddressRequest class includes these methods.
946
Transaction Management Quote and Order Capture Apex Reference
equals(obj)
Maintains the integrity of lists of type TaxAddressRequest by determining the equality of external objects in a list. This method is
dynamic and based on the equals() method in Java.
hashCode()
Maintains the integrity of lists of type TaxAddressRequest by determining the uniqueness of the external object in a list.
toString()
Converts a date to a string.
equals(obj)
Maintains the integrity of lists of type TaxAddressRequest by determining the equality of external objects in a list. This method is dynamic
and based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
Parameters
obj
Type: Object
External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Maintains the integrity of lists of type TaxAddressRequest by determining the uniqueness of the external object in a list.
Signature
global Integer hashCode()
Return Value
Type: Integer
toString()
Converts a date to a string.
Signature
global String toString()
947
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: String
TaxApiException Class
Contains details about any exceptions during the tax calculation process. Extends the ApexBaseException class.
Namespace
CommerceTax
TaxApiException Constructors
Learn more about the available constructors with the TaxApiException class.
TaxApiException Constructors
Learn more about the available constructors with the TaxApiException class.
The TaxApiException class includes these constructors.
TaxApiException(var1, var2)
Initializes the TaxApiException class using an Exception and a string to provide more details about the exception. This
constructor is intended for test usage and throws an exception if used outside of the Apex test context.
TaxApiException(var1)
Initializes the TaxApiException class using an Exception. This constructor is intended for test usage and throws an
exception if used outside of the Apex test context.
TaxApiException()
Initializes the TaxApiException class without any initialized parameters. This constructor is intended for test usage and throws
an exception if used outside of the Apex test context.
TaxApiException(var1, var2)
Initializes the TaxApiException class using an Exception and a string to provide more details about the exception. This
constructor is intended for test usage and throws an exception if used outside of the Apex test context.
Signature
global TaxApiException(String var1, Exception var2)
Parameters
var1
Type: String
Text that provides more information about the returned exception.
var2
Type: Exception
948
Transaction Management Quote and Order Capture Apex Reference
An exception denotes an error that disrupts the normal flow of code execution. You can use Apex built-in exceptions or create
custom exceptions. All exceptions have common methods.
TaxApiException(var1)
Initializes the TaxApiException class using an Exception. This constructor is intended for test usage and throws an exception
if used outside of the Apex test context.
Signature
global TaxApiException(Exception var1)
Parameters
var1
Type: Exception
An exception denotes an error that disrupts the normal flow of code execution. You can use Apex built-in exceptions or create
custom exceptions. All exceptions have common methods.
TaxApiException()
Initializes the TaxApiException class without any initialized parameters. This constructor is intended for test usage and throws an
exception if used outside of the Apex test context.
Signature
global TaxApiException()
TaxCustomerDetailsRequest Class
Contains customer details used in tax calculation.
Namespace
CommerceTax
TaxCustomerDetailsRequest Constructors
Learn more about the available constructors with the TaxCustomerDetailsRequest class.
TaxCustomerDetailsRequest Properties
Learn more about the available properties with the TaxCustomerDetailsRequest class.
TaxCustomerDetailsRequest Methods
Learn more about the available methods with the TaxCustomerDetailsRequest class.
TaxCustomerDetailsRequest Constructors
Learn more about the available constructors with the TaxCustomerDetailsRequest class.
The TaxCustomerDetailsRequest class includes these constructors.
949
Transaction Management Quote and Order Capture Apex Reference
Signature
global TaxCustomerDetailsRequest(String accountId, String code, String exemptionNo,
String exemptionReason)
Parameters
accountId
Type: String
The customer account ID for the line items sent for tax calculation.
code
Type: String
The tax code used during tax calculation.
exemptionNo
Type: String
The exemption number applied to any tax exempt line items.
exemptionReason
Type: String
The reason that certain line items are tax exempt.
TaxCustomerDetailsRequest Properties
Learn more about the available properties with the TaxCustomerDetailsRequest class.
The TaxCustomerDetailsRequest class includes these properties.
accountId
Customer account that contains the line items sent for tax calculation.
code
Tax code used during tax calculation.
exemptionNo
Number used to qualify a line item for tax exemption.
exemptionReason
Reason why a line item qualifies for tax exemption.
taxCertificateId
ID of a tax certificate used for tax calculation.
950
Transaction Management Quote and Order Capture Apex Reference
accountId
Customer account that contains the line items sent for tax calculation.
Signature
global String accountId {get; set;}
Property Value
Type: String
code
Tax code used during tax calculation.
Signature
global String code {get; set;}
Property Value
Type: String
exemptionNo
Number used to qualify a line item for tax exemption.
Signature
global String exemptionNo {get; set;}
Property Value
Type: String
exemptionReason
Reason why a line item qualifies for tax exemption.
Signature
global String exemptionReason {get; set;}
Property Value
Type: String
taxCertificateId
ID of a tax certificate used for tax calculation.
951
Transaction Management Quote and Order Capture Apex Reference
Signature
global String taxCertificateId {get; set;}
Property Value
Type: String
TaxCustomerDetailsRequest Methods
Learn more about the available methods with the TaxCustomerDetailsRequest class.
The TaxCustomerDetailsRequest class includes these methods.
equals(obj)
Maintains the integrity of lists of type TaxCustomerDetailsRequest by determining the equality of external objects in a
list. This method is dynamic and based on the equals() method in Java.
hashCode()
Maintains the integrity of lists of type TaxCustomerDetailsRequest by determining the uniqueness of the external objects
in a list.
toString()
Converts a value to a string.
equals(obj)
Maintains the integrity of lists of type TaxCustomerDetailsRequest by determining the equality of external objects in a list.
This method is dynamic and based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
Parameters
obj
Type: Object
External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Maintains the integrity of lists of type TaxCustomerDetailsRequest by determining the uniqueness of the external objects in
a list.
Signature
global Integer hashCode()
952
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: Integer
toString()
Converts a value to a string.
Signature
global String toString()
Return Value
Type: String
TaxDetailsResponse Class
Stores details of the tax values that an external tax engine calculates in response to a tax calculation request.
Namespace
CommerceTax
Usage
If your tax calculation request contains multiple line items, we recommend building your adapter using a list of TaxDetailsResponse
instances. Each instance represents the tax details calculated for a given line item.
Example
List<commercetax.TaxDetailsResponse> taxDetailsResponses = new
List<commercetax.TaxDetailsResponse>();
for(integer i =0;i<1;i++){
Integer rate = 1;
Double taxableAmount = lineItem.amount;
commercetax.TaxDetailsResponse taxDetailsResponse = new
commercetax.TaxDetailsResponse();
taxDetailsResponse.setRate(Double.valueOf(rate));
taxDetailsResponse.setTaxableAmount(taxableAmount);
Double tax = taxableAmount*rate;
totalLineTax+=tax;
taxDetailsResponse.setTax(taxableAmount*rate);
taxDetailsResponse.setExemptAmount(0);
taxDetailsResponse.setExemptReason('exemptReason');
taxDetailsResponse.setTaxRegionId('taxRegionId');
taxDetailsResponse.setTaxId(String.valueOf(getRandomInteger(0,2323233)));
taxDetailsResponse.setSerCode('serCode');
taxDetailsResponse.setTaxAuthorityTypeId('taxAuthorityTypeId');
if(request.DocumentCode == 'SetsNullForResponseWithoutException'){
taxDetailsResponse.setImposition(null);
}else{
953
Transaction Management Quote and Order Capture Apex Reference
if(request.DocumentCode == 'SetsNullForResponseWithoutException'){
taxDetailsResponse.setJurisdiction(null);
}else{
commercetax.JurisdictionResponse jurisdiction = new
commercetax.JurisdictionResponse();
jurisdiction.setCountry('country');
jurisdiction.setRegion('region');
jurisdiction.setName('name');
jurisdiction.setStateAssignedNumber('stateAssignedNo');
jurisdiction.setId('id');
jurisdiction.setLevel('level');
taxDetailsResponse.setJurisdiction(jurisdiction);
}
taxDetailsResponses.add(taxDetailsResponse);
}
lineItemResponse.setTaxes(taxDetailsResponses);
totalTax +=totalLineTax;
totalAmount+=lineItem.amount;
TaxDetailsResponse Methods
Learn more about the available methods with the TaxDetailsResponse class.
TaxDetailsResponse Methods
Learn more about the available methods with the TaxDetailsResponse class.
The TaxDetailsResponse class includes these methods.
setExemptAmount(exemptAmount)
Sets the ExemptAmount field of the TaxDetailsResponse class.
setExemptReason(reason)
Sets the ExemptReason field of the TaxDetailsResponse class.
setImposition(imposition)
Sets the Imposition field of the TaxDetailsResponse class using an instance of the ImpositionResponse class.
setJurisdiction(jurisdiction)
Sets the Jurisdiction field of the TaxDetailsResponse using an instance of the JurisdictionResponse class.
setRate(rate)
Sets the Rate field of the TaxDetailsResponse class.
setSerCode(serCode)
Sets the Service Code field of the TaxDetailsResponse class.
954
Transaction Management Quote and Order Capture Apex Reference
setTax(tax)
Sets the Tax field of the TaxDetailsResponse class.
setTaxAuthorityTypeId(taxAuthorityTypeId)
Sets the TaxAuthorityTypeId field of the TaxDetailsResponse class.
setTaxId(taxId)
Sets the TaxId field of the TaxDetailsResponse class.
setTaxRegionId(taxRegionId)
Sets the TaxRegionId field on the TaxDetailsResponse class.
setTaxRuleDetails(taxRuleDetails)
Sets the TaxRuleDetails field of the TaxDetailsResponse class.
setTaxableAmount(taxableAmount)
Sets the TaxableAmount field of the TaxDetailsResponse class.
setExemptAmount(exemptAmount)
Sets the ExemptAmount field of the TaxDetailsResponse class.
Signature
global void setExemptAmount(Double exemptAmount)
Parameters
exemptAmount
Type: Double
Amount of tax on a line item that is exempt from tax calculation.
Return Value
Type: void
setExemptReason(reason)
Sets the ExemptReason field of the TaxDetailsResponse class.
Signature
global void setExemptReason(String reason)
Parameters
reason
Type: String
Optional user-defined information on why a tax exemption applies to a line item.
955
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: void
setImposition(imposition)
Sets the Imposition field of the TaxDetailsResponse class using an instance of the ImpositionResponse class.
Signature
global void setImposition(commercetax.ImpositionResponse imposition)
Parameters
imposition
Type: ImpositionResponse
Contains information about why tax was imposed on a line item.
Return Value
Type: void
setJurisdiction(jurisdiction)
Sets the Jurisdiction field of the TaxDetailsResponse using an instance of the JurisdictionResponse class.
Signature
global void setJurisdiction(commercetax.JurisdictionResponse jurisdiction)
Parameters
jurisdiction
Type: JurisdictionResponse
Contains address information about the tax jurisdiction used in the tax calculation process.
Return Value
Type: void
setRate(rate)
Sets the Rate field of the TaxDetailsResponse class.
Signature
global void setRate(Double rate)
956
Transaction Management Quote and Order Capture Apex Reference
Parameters
rate
Type: Double
Tax used during tax calculation. This value is often a decimal amount, such as 0.1 or 0.06, based on the applied tax percentage.
Return Value
Type: void
setSerCode(serCode)
Sets the Service Code field of the TaxDetailsResponse class.
Signature
global void setSerCode(String serCode)
Parameters
serCode
Type: String
Service code used in tax calculation.
Return Value
Type: void
setTax(tax)
Sets the Tax field of the TaxDetailsResponse class.
Signature
global void setTax(Double tax)
Parameters
tax
Type: Double
Amount of tax for a line item.
Return Value
Type: void
setTaxAuthorityTypeId(taxAuthorityTypeId)
Sets the TaxAuthorityTypeId field of the TaxDetailsResponse class.
957
Transaction Management Quote and Order Capture Apex Reference
Signature
global void setTaxAuthorityTypeId(String taxAuthorityTypeId)
Parameters
taxAuthorityTypeId
Type: String
ID of the organization that oversees tax collection.
Return Value
Type: void
setTaxId(taxId)
Sets the TaxId field of the TaxDetailsResponse class.
Signature
global void setTaxId(String taxId)
Parameters
taxId
Type: String
ID value used to determine the tax for an individual or business.
Return Value
Type: void
setTaxRegionId(taxRegionId)
Sets the TaxRegionId field on the TaxDetailsResponse class.
Signature
global void setTaxRegionId(String taxRegionId)
Parameters
taxRegionId
Type: String
ID of the tax region used in tax calculation. A tax region represents a geographical area where tax is applied.
Return Value
Type: void
958
Transaction Management Quote and Order Capture Apex Reference
setTaxRuleDetails(taxRuleDetails)
Sets the TaxRuleDetails field of the TaxDetailsResponse class.
Signature
global void setTaxRuleDetails(commercetax.RuleDetailsResponse taxRuleDetails)
Parameters
taxRuleDetails
Type: RuleDetailsResponse
Information about the Salesforce tax rules used during tax calculation.
Return Value
Type: void
setTaxableAmount(taxableAmount)
Sets the TaxableAmount field of the TaxDetailsResponse class.
Signature
global void setTaxableAmount(Double taxableAmount)
Parameters
taxableAmount
Type: Double
Amount that can be taxed on a line item.
Return Value
Type: void
TaxEngineAdapter Interface
Retrieves information from the tax engine and evaluates the information to define tax details.
Namespace
CommerceTax
TaxEngineAdapter Methods
Learn more about the available methods with the TaxEngineAdapter class.
TaxEngineAdapter Example Implementation
Refer to the example implementation of the TaxEngineAdapter interface to accept information from a tax engine and evaluate
the information to define tax details.
959
Transaction Management Quote and Order Capture Apex Reference
TaxEngineAdapter Methods
Learn more about the available methods with the TaxEngineAdapter class.
The TaxEngineAdapter class includes these methods.
processRequest(requestType)
The processRequest method takes an instance of TaxEngineContext class and returns a response with the calculated
tax details through the TaxDetailsResponse class or an error response through the ErrorResponse class.
processRequest(requestType)
The processRequest method takes an instance of TaxEngineContext class and returns a response with the calculated tax
details through the TaxDetailsResponse class or an error response through the ErrorResponse class.
Signature
global commercetax.TaxEngineResponse processRequest(commercetax.TaxEngineContext var1)
Parameters
var1
Type: TaxEngineContext
Wrapper class that stores information about the type of a tax calculation request.
Return Value
Type: TaxEngineResponse
Generic interface representing a response from a tax engine.
Namespace
commercetax
Usage
The TaxEngineAdapter interface accepts information from the tax engine through the TaxEngineContext class. The
interface evaluates the information to define tax in the response with details, such as tax amount and addresses. The response is used
to update and create entities in the Salesforce org.
Use these steps to build a sample tax adapter implementation. Each tax adapter implementation varies based on your implementation
requirements. Customize this example to suit your business requirements.
960
Transaction Management Quote and Order Capture Apex Reference
Example:
• The custom adapter class implements the TaxEngineAdapter interface. The processRequest method takes an
instance of TaxEngineContext class and returns a response with the calculated tax details through the
TaxDetailsResponse class or an error response through the ErrorResponse class.
// CONSTANT
// ============================================================================
961
Transaction Management Quote and Order Capture Apex Reference
'"modifiedUserId": 53894',
'"taxDate": "2020-07-15T00:00:00"',
'"lines": [{"id": 0,"transactionId":
0,"lineNumber": "1","discountAmount": 0,"exemptAmount": 0,"exemptCertId":
0,"isItemTaxable": true,"itemCode": "","lineAmount": 232,"quantity":
1,"reportingDate": "2020-07-15","tax": 23.43,"taxableAmount": 232,"taxCalculated":
23.43,"taxCode": "P0000000","taxCodeId": 8087,"taxDate":
"2020-07-15","taxOverrideType": "None","taxOverrideAmount": 0,"taxIncluded":
false,"details": [{"id": 0,"transactionLineId": 0,"transactionId": 0,"country":
"US","region": "WA","exemptAmount": 0,"jurisCode": "53","jurisName":
"WASHINGTON","stateAssignedNo": "","jurisType": "STA","jurisdictionType":
"State","nonTaxableAmount": 0,"rate": 0.065,"tax": 15.08,"taxableAmount":
232,"taxType": "Sales","taxSubTypeId": "S","taxName": "WA STATE
TAX","taxAuthorityTypeId": 45,"taxCalculated": 15.08,"rateType":
"General","rateTypeCode": "G","unitOfBasis": "PerCurrencyUnit","isNonPassThru":
false,"isFee": false},{"id": 0,"transactionLineId": 0,"transactionId": 0,"country":
962
Transaction Management Quote and Order Capture Apex Reference
if(!responseString.contains('error'))
{
commercetax.CalculateTaxResponse response = new
963
Transaction Management Quote and Order Capture Apex Reference
commercetax.CalculateTaxResponse();
JsonSuccessParser jsonSuccessParserClass =
JsonSuccessParser.parse(responseString);
response.setTaxTransactionType(request.taxTransactionType);
response.setDocumentCode(jsonSuccessParserClass.code);
response.setReferenceDocumentCode(jsonSuccessParserClass.referenceCode);
if(jsonSuccessParserClass.status == 'Temporary') {
response.setStatus(commercetax.TaxTransactionStatus.Uncommitted);
}
if(jsonSuccessParserClass.status == 'Committed') {
response.setStatus(commercetax.TaxTransactionStatus.Committed);
}
response.setTaxType(requestType);
commercetax.AmountDetailsResponse headerAmountResponse = new
commercetax.AmountDetailsResponse();
headerAmountResponse.setTotalAmountWithTax(jsonSuccessParserClass.totalAmount +
jsonSuccessParserClass.totaltax);
headerAmountResponse.setExemptAmount(jsonSuccessParserClass.totalExempt);
headerAmountResponse.setTotalAmount(jsonSuccessParserClass.totalAmount);
headerAmountResponse.setTaxAmount(jsonSuccessParserClass.totalTax);
response.setAmountDetails(headerAmountResponse);
response.setStatusDescription(jsonSuccessParserClass.adjustmentReason);
response.setEffectiveDate(date.valueof(jsonSuccessParserClass.taxDate));
response.setTransactionDate(date.valueof(jsonSuccessParserClass.transactionDate));
response.setReferenceEntityId(referenceEntity);
response.setTaxTransactionId(jsonSuccessParserClass.id);
response.setCurrencyIsoCode(request.currencyIsoCode);
List<commercetax.LineItemResponse> lineItemResponses = new
List<commercetax.LineItemResponse>();
for(JsonSuccessParser.Lines linesToProcess:
jsonSuccessParserClass.lines)
{
commercetax.LineItemResponse lineItemResponse = new
commercetax.LineItemResponse();
Double rateCalculated = 0.0;
List<commercetax.TaxDetailsResponse> taxDetailsResponses =
new List<commercetax.TaxDetailsResponse>();
for(JsonSuccessParser.details linesDetails :
linesToProcess.details)
{
commercetax.TaxDetailsResponse taxDetailsResponse = new
commercetax.TaxDetailsResponse();
if(linesDetails.exemptAmount != 0){
964
Transaction Management Quote and Order Capture Apex Reference
taxDetailsResponse.setExemptAmount(linesDetails.exemptAmount);
taxDetailsResponse.setExemptReason('Some reason we
dont know');
}
commercetax.ImpositionResponse imposition = new
commercetax.ImpositionResponse();
imposition.setSubType(linesDetails.taxName);
imposition.setType(linesDetails.ratetype);
imposition.setSubType(linesDetails.taxName);
taxDetailsResponse.setImposition(imposition);
commercetax.JurisdictionResponse jurisdiction = new
commercetax.JurisdictionResponse();
jurisdiction.setCountry(linesDetails.country);
jurisdiction.setRegion(linesDetails.region);
jurisdiction.setName(linesDetails.jurisName);
jurisdiction.setStateAssignedNumber(linesDetails.stateAssignedNo);
jurisdiction.setId(linesDetails.jurisCode);
jurisdiction.setLevel(linesDetails.jurisType);
taxDetailsResponse.setJurisdiction(jurisdiction);
rateCalculated += linesDetails.rate;
taxDetailsResponse.setRate(rateCalculated);
taxDetailsResponse.setTax(linesDetails.taxCalculated);
taxDetailsResponse.setTaxableAmount(linesDetails.taxableAmount);
taxDetailsResponse.setTaxAuthorityTypeId(String.valueOf(linesDetails.taxAuthorityTypeId));
taxDetailsResponse.setTaxId(linesDetails.id);
taxDetailsResponse.setTaxRegionId(linesDetails.region);
taxDetailsResponses.add(taxDetailsResponse);
}
lineItemResponse.setTaxes(taxDetailsResponses);
lineItemResponse.setEffectiveDate(date.valueof(linesToProcess.taxDate));
lineItemResponse.setIsTaxable(true);
commercetax.AmountDetailsResponse amountResponse =
new commercetax.AmountDetailsResponse();
amountResponse.setTaxAmount(linesToProcess.taxCalculated);
amountResponse.setTotalAmount(linesToProcess.lineAmount);
amountResponse.setTotalAmountWithTax(linesToProcess.lineAmount+linesToProcess.taxCalculated);
amountResponse.setExemptAmount(linesToProcess.exemptAmount);
lineItemResponse.setAmountDetails(amountResponse);
lineItemResponse.setIsTaxable(linesToProcess.isItemTaxable);
965
Transaction Management Quote and Order Capture Apex Reference
lineItemResponse.setProductCode(linesToProcess.itemCode);
lineItemResponse.setTaxCode(linesToProcess.taxCode);
lineItemResponse.setLineNumber(linesToProcess.lineNumber);
lineItemResponse.setQuantity(linesToProcess.quantity);
lineItemResponses.add(lineItemResponse);
}
response.setLineItems(lineItemResponses);
return response;
}
else
{
JsonErrorParser jsonErrorParserClass =
JsonErrorParser.parse(responseString);
String message = null;
if(String.isNotBlank(jsonErrorParserClass.error.message))
{
message=jsonErrorParserClass.error.message;
}else{
String errorMessage = '';
for(JsonErrorParser.cls_details messageString :
jsonErrorParserClass.error.details)
{
if(String.isNotBlank(messageString.message) )
{
errorMessage = messageString.message;
}
}
message = errorMessage;
}
return new
commercetax.ErrorResponse(commercetax.resultcode.TaxEngineError, '501', message);
}
}else return null;
}
catch (Exception e)
{
throw e;
}
}
}
• In the HttpService class, replace the test value in the endpoint variable with the name of the
TaxTypedNamedCredential record. This class contains the credentials that are required to access your Avalara account
through Salesforce.
966
Transaction Management Quote and Order Capture Apex Reference
// VARIABLES
/**
* @name getInstance
* @description get an Instance of Service class
* @params NA
* @return Http Service Class Instance
*/
public static HttpService getInstance()
{
if (NULL == httpServiceInstance)
{
httpServiceInstance = new HttpService();
}
return httpServiceInstance;
}
/**
* @name get
* @description Get Method to get a HTTP request
*/
public void get(String endPoint)
{
send(newRequest(Method.GET, endPoint));
}
/**
* @name post
* @description Post Method to Post a HTTP request
*/
public void post(String path, String requestBody)
{
String endPoint = 'callout:commerce.tax.TaxTypedNamedCredential:test'+path;
send(newRequest(Method.POST, endPoint, requestBody));
}
/**
* @name addHeader
* @description addHeader Methods to add all the defualt Header's required fo
rthe request
*/
public void addHeader(String name, String value)
{
mapOfHeaderParameter.put(name, value);
}
/**
* @name setHeader
* @description setHeader Methods to set setHeader for the request
*/
967
Transaction Management Quote and Order Capture Apex Reference
/**
* @name newRequest
* @description newRequest Methods to make a new request
*/
private HttpRequest newRequest(Method method, String endPoint, String requestBody)
{
HttpRequest request = new HttpRequest();
request.setMethod(Method.name());
setHeader(request);
request.setEndpoint(endPoint);
if (String.isNotBlank(requestBody))
{
request.setBody(requestBody);
}
request.setTimeout(120000);
return request;
}
/**
* @name send
* @description send Methods to send a request
*/
private void send(HttpRequest request)
{
try
{
Http http = new Http();
httpResponse = http.send(request);
}
catch(System.CalloutException e)
{
system.debug('callout exception happened' + e.getMessage());
}
catch(Exception e)
{
system.debug('callout did not happen' + e.getMessage());
}
968
Transaction Management Quote and Order Capture Apex Reference
/**
* @name getResponse
* @description getResponse Method to get the Response
*/
public HttpResponse getResponse()
{
return httpResponse;
}
/**
* @name getResponseToString
* @description getResponse Method to get the Responses
*/
public String getResponseToString()
{
return getResponse().toString();
}
}
• Parse the JsonSuccessParser response object by using the AvalaraJSONBuilder class to build the response
for your adapter.
This example shows the JsonSuccessParser class.
global with sharing class JsonSuccessParser
{
public static void consumeObject(JSONParser parser)
{
Integer depth = 0;
do {
JSONToken curr = parser.getCurrentToken();
if (curr == JSONToken.START_OBJECT ||
curr == JSONToken.START_ARRAY) {
depth++;
} else if (curr == JSONToken.END_OBJECT ||
curr == JSONToken.END_ARRAY) {
depth--;
}
} while (depth > 0 && parser.nextToken() != null);
}
969
Transaction Management Quote and Order Capture Apex Reference
970
Transaction Management Quote and Order Capture Apex Reference
if (parser.getCurrentToken() == JSONToken.FIELD_NAME) {
String text = parser.getText();
if (parser.nextToken() != JSONToken.VALUE_NULL) {
if (text == 'id') {
id = parser.getText();
} else if (text == 'transactionLineId') {
transactionLineId = parser.getText();
} else if (text == 'transactionId') {
transactionId = parser.getText();
} else if (text == 'country') {
country = parser.getText();
} else if (text == 'region') {
region = parser.getText();
} else if (text == 'exemptAmount') {
exemptAmount = parser.getIntegerValue();
} else if (text == 'jurisCode') {
jurisCode = parser.getText();
} else if (text == 'jurisName') {
jurisName = parser.getText();
} else if (text == 'stateAssignedNo') {
stateAssignedNo = parser.getText();
} else if (text == 'jurisType') {
jurisType = parser.getText();
} else if (text == 'nonTaxableAmount') {
nonTaxableAmount = parser.getIntegerValue();
} else if (text == 'rate') {
rate = parser.getDoubleValue();
} else if (text == 'tax') {
tax = parser.getDoubleValue();
} else if (text == 'taxableAmount') {
taxableAmount = parser.getIntegerValue();
} else if (text == 'taxType') {
taxType = parser.getText();
} else if (text == 'taxName') {
taxName = parser.getText();
} else if (text == 'taxAuthorityTypeId') {
taxAuthorityTypeId = parser.getIntegerValue();
} else if (text == 'taxCalculated') {
taxCalculated = parser.getDoubleValue();
} else if (text == 'rateType') {
rateType = parser.getText();
} else {
consumeObject(parser);
}
}
}
}
}
}
971
Transaction Management Quote and Order Capture Apex Reference
972
Transaction Management Quote and Order Capture Apex Reference
973
Transaction Management Quote and Order Capture Apex Reference
}
} else if (text == 'messages') {
messages = new List<Messages>();
while (parser.nextToken() != JSONToken.END_ARRAY) {
messages.add(new Messages(parser));
}
} else {
consumeObject(parser);
}
}
}
}
}
974
Transaction Management Quote and Order Capture Apex Reference
975
Transaction Management Quote and Order Capture Apex Reference
transactionId = parser.getText();
}else if (text == 'itemCode') {
itemCode = parser.getText();
}else if (text == 'lineNumber') {
lineNumber = parser.getText();
} else if (text == 'discountAmount') {
discountAmount = parser.getIntegerValue();
} else if (text == 'exemptAmount') {
exemptAmount = parser.getIntegerValue();
} else if (text == 'exemptCertId') {
exemptCertId = parser.getIntegerValue();
} else if (text == 'isItemTaxable') {
isItemTaxable = parser.getBooleanValue();
} else if (text == 'lineAmount') {
lineAmount = parser.getIntegerValue();
} else if (text == 'quantity') {
quantity = parser.getDoubleValue();
} else if (text == 'reportingDate') {
reportingDate = parser.getText();
} else if (text == 'tax') {
tax = parser.getDoubleValue();
} else if (text == 'taxableAmount') {
taxableAmount = parser.getIntegerValue();
} else if (text == 'taxCalculated') {
taxCalculated = parser.getDoubleValue();
} else if (text == 'taxCode') {
taxCode = parser.getText();
} else if (text == 'taxDate') {
taxDate = parser.getText();
} else if (text == 'taxIncluded') {
taxIncluded = parser.getBooleanValue();
} else if (text == 'details') {
details = new List<Details>();
while (parser.nextToken() != JSONToken.END_ARRAY) {
details.add(new Details(parser));
}
} else {
consumeObject(parser);
}
}
}
}
}
}
976
Transaction Management Quote and Order Capture Apex Reference
Prepare your JSON request to call the Avalara endpoint by using the AvalaraJSONBuilder class.
public with sharing class AvalaraJSONBuilder
{
private static AvalaraJSONBuilder avalaraJSONBuilderInstance;
977
Transaction Management Quote and Order Capture Apex Reference
}
if(calculateTaxRequest.EffectiveDate == null)
jsonGeneratorInstance.writeDateField('date', system.today());
else
jsonGeneratorInstance.writeDateTimeField('date',
calculateTaxRequest.EffectiveDate);
jsonGeneratorInstance.writeFieldName('lines');
jsonGeneratorInstance.writeStartArray();
for(integer i=0;i<1;i++){
for(Commercetax.TaxLineItemRequest lineItem :
calculateTaxRequest.LineItems)
{
jsonGeneratorInstance.writeStartObject();
if(lineItem.linenumber != null){
jsonGeneratorInstance.writeStringField('number',
lineItem.linenumber);
}
jsonGeneratorInstance.writeNumberField('quantity',
lineItem.Quantity);
jsonGeneratorInstance.writeNumberField('amount',
(lineItem.Amount));
jsonGeneratorInstance.writeStringField('taxCode',lineItem.taxCode);
jsonGeneratorInstance.writeFieldName('addresses');
jsonGeneratorInstance.writeStartObject();
jsonGeneratorInstance.writeFieldName('ShipFrom');
jsonGeneratorInstance.writeStartObject();
jsonGeneratorInstance.writeStringField('line1',
lineItem.addresses.shipfrom.street);
jsonGeneratorInstance.writeStringField('line2',
lineItem.addresses.shipfrom.street);
jsonGeneratorInstance.writeStringField('city',
lineItem.addresses.shipfrom.city);
jsonGeneratorInstance.writeStringField('region',
lineItem.addresses.shipfrom.state);
jsonGeneratorInstance.writeStringField('country',
lineItem.addresses.shipfrom.country);
jsonGeneratorInstance.writeStringField('postalCode',lineItem.addresses.shipfrom.postalcode);
jsonGeneratorInstance.writeEndObject();
jsonGeneratorInstance.writeFieldName('ShipTo');
jsonGeneratorInstance.writeStartObject();
jsonGeneratorInstance.writeStringField('line1',
lineItem.addresses.shipto.street);
jsonGeneratorInstance.writeStringField('line2',
lineItem.addresses.shipto.street);
jsonGeneratorInstance.writeStringField('city',
lineItem.addresses.shipto.city);
jsonGeneratorInstance.writeStringField('region',
lineItem.addresses.shipto.state);
978
Transaction Management Quote and Order Capture Apex Reference
jsonGeneratorInstance.writeStringField('country',
lineItem.addresses.shipto.country);
jsonGeneratorInstance.writeStringField('postalCode',lineItem.addresses.shipto.postalcode);
jsonGeneratorInstance.writeEndObject();
jsonGeneratorInstance.writeFieldName('pointOfOrderOrigin');
jsonGeneratorInstance.writeStartObject();
jsonGeneratorInstance.writeStringField('line1',
lineItem.addresses.soldto.street);
jsonGeneratorInstance.writeStringField('line2',
lineItem.addresses.soldto.street);
jsonGeneratorInstance.writeStringField('city',
lineItem.addresses.soldto.city);
jsonGeneratorInstance.writeStringField('region',
lineItem.addresses.soldto.state);
jsonGeneratorInstance.writeStringField('country',
lineItem.addresses.soldto.country);
jsonGeneratorInstance.writeStringField('postalCode',lineItem.addresses.soldto.postalcode);
jsonGeneratorInstance.writeEndObject();
if(lineItem.effectiveDate != null)
{
jsonGeneratorInstance.writeFieldName('taxOverride');
jsonGeneratorInstance.writeStartObject();
jsonGeneratorInstance.writeDateTimeField('taxDate',
lineItem.effectiveDate);
jsonGeneratorInstance.writeEndObject();
}
jsonGeneratorInstance.writeEndObject();
jsonGeneratorInstance.writeEndObject();
}
}
jsonGeneratorInstance.writeEndArray();
jsonGeneratorInstance.writeEndObject();
return jsonGeneratorInstance.getAsString();
}
catch (Exception e)
{
throw e;
}
}
}
979
Transaction Management Quote and Order Capture Apex Reference
}
}
TaxEngineContext Class
Wrapper class that stores details about the type of a tax calculation request.
Namespace
CommerceTax
Example
At the beginning of a tax adapter, use TaxEngineContext class to pass the value of a request type to an instance of RequestType.
global virtual class MockAdapter implements commercetax.TaxEngineAdapter {
Build the rest of your adapter based on the type of request that you got from TaxEngineContext class.
if(requestType == commercetax.RequestType.CalculateTax){
commercetax.calculatetaxtype type = request.taxtype;
String docCode='';
if(request.DocumentCode == 'simulateEmptyDocumentCode')
docCode = '';
else if(request.DocumentCode != null)
docCode =request.DocumentCode;
980
Transaction Management Quote and Order Capture Apex Reference
TaxEngineContext Constructors
Learn more about the available constructors with the TaxEngineContext class.
TaxEngineContext Methods
Learn more about the available methods with the TaxEngineContext class.
TaxEngineContext Constructors
Learn more about the available constructors with the TaxEngineContext class.
The TaxEngineContext class includes these constructors.
Signature
TaxEngineContext(commercetax.TaxEngineRequest request, commercetax.RequestType
requestType, String namedUri)
Parameters
request
Type: TaxEngineRequest
Information about the request.
requestType
Type: RequestType
Whether the tax request is to calculate or estimate tax.
namedUri
Type: String
URI that was called as part of the tax calculation request.
981
Transaction Management Quote and Order Capture Apex Reference
TaxEngineContext Methods
Learn more about the available methods with the TaxEngineContext class.
The TaxEngineContext class includes these methods.
getNamedUri()
Retrieves the value of the NamedUri field of the TaxEngineContext class.
getRequest()
Gets the value of the TaxEngineContext's Request field.
getRequestType()
Gets the value of the RequestType field of the TaxEngineContext class.
getNamedUri()
Retrieves the value of the NamedUri field of the TaxEngineContext class.
Signature
global String getNamedUri()
Return Value
Type: String
getRequest()
Gets the value of the TaxEngineContext's Request field.
Signature
global commercetax.TaxEngineRequest getRequest()
Return Value
Type: TaxEngineRequest
An implemented instance of an external tax engine's interface for processing requests. We've provided the TaxEngineRequest
interface for you to test within mock adapters with classes that implement it, such as CalculateTaxRequest. However, don’t use it outside
of a testing context.
getRequestType()
Gets the value of the RequestType field of the TaxEngineContext class.
Signature
global commercetax.RequestType getRequestType()
982
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: RequestType
Indicates whether the calculation request was for actual or calculated tax.
TaxLineItemRequest Class
Contains line item details of a tax request.
Namespace
CommerceTax
TaxLineItemRequest Constructors
Learn more about the constructors available with the TaxLineItemRequest class.
TaxLineItemRequest Properties
Learn more about the available properties with the TaxLineItemRequest class.
TaxLineItemRequest Methods
Learn more about the available methods with the TaxLineItemRequest class.
TaxLineItemRequest Constructors
Learn more about the constructors available with the TaxLineItemRequest class.
The TaxLineItemRequest class includes these constructors.
Signature
global TaxLineItemRequest(commercetax.LineTaxAddressesRequest addresses, Double amount,
String description, String productCode, Double quantity, String lineNumber, String
taxCode, Datetime effectiveDate)
Parameters
addresses
Type: LineTaxAddressesRequest
Information about the addresses applied to each line item in a tax calculation request.
983
Transaction Management Quote and Order Capture Apex Reference
amount
Type: Double
Total amount (in a given currency) represented by a line item sent for tax calculation.
description
Type: String
User-defined description for a tax line item.
productCode
Type: String
Catalog code for the product represented by the tax line item.
quantity
Type: Double
The number of units of a given product that the tax line item represents.
lineNumber
Type: String
Unique number used to identify a tax line item.
taxCode
Type: String
Code used to identify how tax is calculated for a tax line item.
effectiveDate
Type: Datetime
This is a user-defined date used for reporting only.
TaxLineItemRequest Properties
Learn more about the available properties with the TaxLineItemRequest class.
The TaxLineItemRequest class includes these properties.
addresses
Contains the list of addresses of a line item.
amount
Total amount (in a given currency) represented by a line item sent for tax calculation.
description
User-defined description for a tax line item.
effectiveDate
The date that a tax transaction takes effect on a line item. This is a user-defined date used for reporting only.
lineNumber
Unique number used to identify a tax line item.
productCode
Catalog code for the product represented by the tax line item.
quantity
Number of units of a given product that the tax line item represents.
984
Transaction Management Quote and Order Capture Apex Reference
taxCode
Code used to identify how tax is calculated for a tax line item.
addresses
Contains the list of addresses of a line item.
Signature
public commercetax.LineTaxAddressesRequest addresses {get; set;}
Property Value
Type: commercetax.LineTaxAddressesRequest
amount
Total amount (in a given currency) represented by a line item sent for tax calculation.
Signature
global Double amount {get; set;}
Property Value
Type: Double
description
User-defined description for a tax line item.
Signature
global String description {get; set;}
Property Value
Type: String
effectiveDate
The date that a tax transaction takes effect on a line item. This is a user-defined date used for reporting only.
Signature
global Datetime effectiveDate {get; set;}
Property Value
Type: Datetime
985
Transaction Management Quote and Order Capture Apex Reference
lineNumber
Unique number used to identify a tax line item.
Signature
global String lineNumber {get; set;}
Property Value
Type: String
productCode
Catalog code for the product represented by the tax line item.
Signature
global String productCode {get; set;}
Property Value
Type: String
quantity
Number of units of a given product that the tax line item represents.
Signature
global Double quantity {get; set;}
Property Value
Type: Double
taxCode
Code used to identify how tax is calculated for a tax line item.
Signature
global String taxCode {get; set;}
Property Value
Type: String
TaxLineItemRequest Methods
Learn more about the available methods with the TaxLineItemRequest class.
The TaxLineItemRequest class includes these methods.
986
Transaction Management Quote and Order Capture Apex Reference
equals(obj)
Maintains the integrity of lists of type TaxLineItemRequest by determining the equality of external objects in a list. This
method is dynamic and is based on the equals() method in Java.
hashCode()
Maintains the integrity of lists of type TaxLineItemRequest by determining the uniqueness of the external object records in
a list.
toString()
Converts a value to a string.
equals(obj)
Maintains the integrity of lists of type TaxLineItemRequest by determining the equality of external objects in a list. This method
is dynamic and is based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
Parameters
obj
Type: Object
External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Maintains the integrity of lists of type TaxLineItemRequest by determining the uniqueness of the external object records in a
list.
Signature
global Integer hashCode()
Return Value
Type: Integer
toString()
Converts a value to a string.
Signature
global String toString()
987
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: String
TaxSellerDetailsRequest Class
Contains tax code details used in the tax calculation request.
Namespace
CommerceTax
TaxSellerDetailsRequest Constructors
Learn more about the available constructors with the TaxSellerDetailsRequest class.
TaxSellerDetailsRequest Properties
Learn more about the available properties with the TaxSellerDetailsRequest class.
TaxSellerDetailsRequest Methods
Learn more about the available methods with the TaxSellerDetailsRequest class.
TaxSellerDetailsRequest Constructors
Learn more about the available constructors with the TaxSellerDetailsRequest class.
The TaxSellerDetailsRequest class includes these constructors.
TaxSellerDetailsRequest(code)
Initializes the request for the tax seller details. This constructor is intended for test usage and throws an exception if used outside of
the Apex test context
TaxSellerDetailsRequest(code)
Initializes the request for the tax seller details. This constructor is intended for test usage and throws an exception if used outside of the
Apex test context
Signature
global TaxSellerDetailsRequest(String code)
Parameters
code
Type: String
Tax code used for tax calculation.
TaxSellerDetailsRequest Properties
Learn more about the available properties with the TaxSellerDetailsRequest class.
The TaxSellerDetailsRequest class includes these properties.
988
Transaction Management Quote and Order Capture Apex Reference
code
Tax code used for tax calculation.
code
Tax code used for tax calculation.
Signature
global String code {get; set;}
Property Value
Type: String
TaxSellerDetailsRequest Methods
Learn more about the available methods with the TaxSellerDetailsRequest class.
The TaxSellerDetailsRequest class includes these methods.
equals(obj)
Maintains the integrity of lists of type TaxSellerDetailsRequest by determining the equality of the external objects in a
list. This method is dynamic and based on the equals() method in Java.
hashCode()
Maintains the integrity of lists of type TaxSellerDetailsRequest by determining the uniqueness of the external objects
in a list.
toString()
Converts a value to a string.
equals(obj)
Maintains the integrity of lists of type TaxSellerDetailsRequest by determining the equality of the external objects in a list.
This method is dynamic and based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
Parameters
obj
Type: Object
External object whose key is to be validated.
Return Value
Type: Boolean
989
Transaction Management Quote and Order Capture Apex Reference
hashCode()
Maintains the integrity of lists of type TaxSellerDetailsRequest by determining the uniqueness of the external objects in a
list.
Signature
global Integer hashCode()
Return Value
Type: Integer
toString()
Converts a value to a string.
Signature
global String toString()
Return Value
Type: String
TaxTransactionRequest Class
Abstract class for storing customer details used in tax calculation and estimation requests.
Namespace
CommerceTax
Usage
Specify the CommerceTax namespace when creating an instance of this class. The constructor of this class takes no arguments. For
example, let's say you create an instance of CalculateTaxRequest class, which extends the TaxTransactionRequest
class.
TaxTransactionRequest Constructors
Learn more about the available constructors with the TaxTransactionRequest class.
TaxTransactionRequest Properties
Learn more about the available properties with the TaxTransactionRequest class.
TaxTransactionRequest Methods
TaxTransactionRequest Constructors
Learn more about the available constructors with the TaxTransactionRequest class.
The TaxTransactionRequest class includes these constructors.
990
Transaction Management Quote and Order Capture Apex Reference
Signature
global TaxTransactionRequest(commercetax.HeaderTaxAddressesRequest addresses, String
currencyIsoCode, commercetax.TaxCustomerDetailsRequest customerDetails, String
description, String documentCode, String referenceDocumentCode, Datetime transactionDate,
Datetime effectiveDate, List<commercetax.TaxLineItemRequest> lineItems, String
referenceEntityId, commercetax.TaxSellerDetailsRequest sellerDetails)
Parameters
addresses
Type: HeaderTaxAddressesRequest
Tax addresses, such as Ship To and Bill From.
currencyIsoCode
Type: String
Three-letter ISO 4217 currency code associated with the TaxTransactionRequest.
customerDetails
Type: TaxCustomerDetailsRequest
Customer information used in tax calculation.
description
Type: String
Optional user-defined description for providing more information about the tax transaction request.
documentCode
Type: String
Code for documents that are used to provide more information in the tax calculation process.
referenceDocumentCode
Type: String
Code for additional documents that are used in the tax calculation process.
transactionDate
Type: Datetime
The date that the tax transaction occurred.
991
Transaction Management Quote and Order Capture Apex Reference
effectiveDate
Type: Datetime
The date that the tax transaction takes effect. User-defined and used only for reporting purposes.
lineItems
Type: List<TaxLineItemRequest>
A list of line items on which tax is calculated.
referenceEntityId
Type: String
ID of an object related to the line items sent for tax calculation.
sellerDetails
Type: TaxSellerDetailsRequest
Contains tax code information used in a tax calculation request.
TaxTransactionRequest Properties
Learn more about the available properties with the TaxTransactionRequest class.
The TaxTransactionRequest class includes these properties.
addresses
A list of addresses (such as Ship To and Sold To) used as part of the tax transaction.
currencyIsoCode
Three-letter ISO 4217 currency code associated with the TaxTransactionRequest.
customerDetails
Customer information used in tax calculation.
description
Optional user-defined description for providing more information about the tax transaction request.
documentCode
Code for documents used to provide more information in the tax calculation process.
effectiveDate
The date that the tax transaction takes effect. User-defined and used only for reporting purposes.
lineItems
A list of line items on which tax will be calculated.
referenceDocumentCode
Code for documents used to provide more information in the tax calculation process.
referenceEntityId
ID of an object related to the line items sent for tax calculation.
sellerDetails
Contains tax code information used in a tax calculation request.
transactionDate
The date that the tax transaction occurred.
992
Transaction Management Quote and Order Capture Apex Reference
addresses
A list of addresses (such as Ship To and Sold To) used as part of the tax transaction.
Signature
global commercetax.HeaderTaxAddressesRequest addresses {get; set;}
Property Value
Type: HeaderTaxAddressesRequest
currencyIsoCode
Three-letter ISO 4217 currency code associated with the TaxTransactionRequest.
Signature
global String currencyIsoCode {get; set;}
Property Value
Type: String
customerDetails
Customer information used in tax calculation.
Signature
global CommerceTax.TaxCustomerDetailsRequest customerDetails {get; set;}
Property Value
Type: TaxCustomerDetailsRequest
description
Optional user-defined description for providing more information about the tax transaction request.
Signature
global String description {get; set;}
Property Value
Type: String
documentCode
Code for documents used to provide more information in the tax calculation process.
993
Transaction Management Quote and Order Capture Apex Reference
Signature
global String documentCode {get; set;}
Property Value
Type: String
effectiveDate
The date that the tax transaction takes effect. User-defined and used only for reporting purposes.
Signature
global Datetime effectiveDate {get; set;}
Property Value
Type: Datetime
lineItems
A list of line items on which tax will be calculated.
Signature
global List<CommerceTax.TaxLineItemRequest> lineItems {get; set;}
Property Value
Type: List<TaxLineItemRequest>
referenceDocumentCode
Code for documents used to provide more information in the tax calculation process.
Signature
global String referenceDocumentCode {get; set;}
Property Value
Type: String
referenceEntityId
ID of an object related to the line items sent for tax calculation.
Signature
global String referenceEntityId {get; set;}
994
Transaction Management Quote and Order Capture Apex Reference
Property Value
Type: String
sellerDetails
Contains tax code information used in a tax calculation request.
Signature
global commercetax.TaxSellerDetailsRequest sellerDetails {get; set;}
Property Value
Type: TaxSellerDetailsRequest
transactionDate
The date that the tax transaction occurred.
Signature
global Datetime transactionDate {get; set;}
Property Value
Type: Datetime
TaxTransactionRequest Methods
The following are methods for TaxTransactionRequest.
equals(obj)
Maintains the integrity of lists of type TaxTransactionRequest by determining the equality of external objects in a list. This
method is dynamic and based on the equals() method in Java.
hashCode()
Maintains the integrity of lists of type TaxTransactionRequest by determining the uniqueness of the external object records
in a list.
toString()
Converts a value to a string.
equals(obj)
Maintains the integrity of lists of type TaxTransactionRequest by determining the equality of external objects in a list. This
method is dynamic and based on the equals() method in Java.
Signature
global Boolean equals(Object obj)
995
Transaction Management Quote and Order Capture Apex Reference
Parameters
obj
Type: Object
Return Value
Type: Boolean
hashCode()
Maintains the integrity of lists of type TaxTransactionRequest by determining the uniqueness of the external object records
in a list.
Signature
global Integer hashCode()
Return Value
Type: Integer
toString()
Converts a value to a string.
Signature
global String toString()
Return Value
Type: String
TaxTransactionStatus Enum
Shows whether the tax transaction has been committed or uncommitted.
Usage
Used by the CalculateTaxResponse class method.
Enum Values
The commercetax.TaxTransactionStatus enum includes these values.
Value Description
Committed Tax has been calculated and committed.
996
Transaction Management Quote and Order Capture Apex Reference
TaxTransactionType Enum
Shows whether the tax transaction is for a credit or debit transaction.
Usage
Used by the CalculateTaxResponse and CalculateTaxRequest class methods.
Enum Values
The commercetax.TaxTransactionType enum includes these values.
Value Description
Credit Represents a credit transaction.
PlaceQuote Namespace
The PlaceQuote namespace provides classes and methods to create or update quotes with pricing preferences and configuration
options.
The PlaceQuote namespace includes these classes.
CatalogRatesPreferenceEnum Enum
Specifies the rate card entries defined in the catalog that must be fetched for quote line items, with usage-based selling during the
quote creation process.
ConfigurationInputEnum Enum
Specifies the configuration input for the request to place a quote.
ConfigurationOptionsInput Class
Contains methods and properties to set the configuration options for the input to the product configurator.
GraphRequest Class
Contains constructors and properties to set the graph ID and a list of records to be ingested. The list of records is specified in a
key-value map format that contains the field values of an order.
PlaceQuoteException Class
Contains methods to hold the exception details for the place quote request.
PlaceQuoteResponse Class
Contains properties to hold the response to the place quote request.
PlaceQuoteRLMApexProcessor Class
Contains methods to place a quote with details of the graph request, pricing preferences, and configuration options.
PricingPreferenceEnum Enum
Specifies the pricing preference during the create quote process.
RecordResource Class
Contains constructors and properties to create a record object from the field values of a quote.
997
Transaction Management Quote and Order Capture Apex Reference
RecordWithReferenceRequest Class
Contains constructors and properties to associate a record object with a reference identifier.
CatalogRatesPreferenceEnum Enum
Specifies the rate card entries defined in the catalog that must be fetched for quote line items, with usage-based selling during the quote
creation process.
Usage
This enum is available when the Usage-Based Selling feature is enabled.
Enum Values
The placequote.CatalogRatesPreferenceEnum enum includes these values.
Value Description
Fetch Retrieves the rate card entries defined in the catalog for quote line items during the
quote creation process.
Skip Skips the retrieval of rate card entries for quote line items during the quote creation
process. The default value is Skip.
ConfigurationInputEnum Enum
Specifies the configuration input for the request to place a quote.
Usage
Use these enum values for the configurationInputEnum property in the PlaceQuoteRLMApexProcessor class.
Enum Values
The placequote.ConfigurationInputEnum enum has these values.
Value Description
RunAndAllowErrors Run the configuration and proceed with order ingestion upon encountering any
configuration errors.
RunAndBlockErrors Run the configuration and block order ingestion upon encountering any
configuration errors.
ConfigurationOptionsInput Class
Contains methods and properties to set the configuration options for the input to the product configurator.
998
Transaction Management Quote and Order Capture Apex Reference
Namespace
PlaceQuote
Usage
This class holds the required details of the product configuration input. Set the class properties to enable default configuration, execution
of configuration rules, and validation of the product catalog. Use these class properties as an input to
the PlaceQuoteRLMApexProcessor class method.
Example
PlaceQuote.GraphRequest graph = new PlaceQuote.GraphRequest('test',listOfRecords);
PlaceQuote.PricingPreferenceEnum pricingPreference =
PlaceQuote.PricingPreferenceEnum.System;
PlaceQuote.ConfigurationInputEnum configurationPreference =
PlaceQuote.ConfigurationInputEnum.RunAndAllowErrors;
PlaceQuote.ConfigurationOptionsInput cInput = new PlaceQuote.ConfigurationOptionsInput();
cInput.addDefaultConfiguration = true;
cInput.executeConfigurationRules = true;
cInput.validateAmendRenewCancel = true;
cInput.validateProductCatalog = true;
//Place Quote Call
PlaceQuote.PlaceQuoteResponse resp =
PlaceQuote.PlaceQuoteRLMApexProcessor.execute(pricingPreference,graph,configurationPreference,cInput);
ConfigurationOptionsInput Properties
Set the ConfigurationOptionsInput class properties to add default configuration, execute configuration rules, and validate
the product catalog.
ConfigurationOptionsInput Methods
Learn more about the methods available with the ConfigurationOptionsInput class.
ConfigurationOptionsInput Properties
Set the ConfigurationOptionsInput class properties to add default configuration, execute configuration rules, and validate
the product catalog.
The ConfigurationOptionsInput class includes these properties.
addDefaultConfiguration
Sets the default product configuration, such as bundle and product attributes, for a quote request.
executeConfigurationRules
Sets the requirement for a quote to adhere to the configuration rules.
validateAmendRenewCancel
Sets the requirement to run validations related to amend, renew, or cancel processes.
validateProductCatalog
Sets the requirement to validate a quote against the product catalog.
999
Transaction Management Quote and Order Capture Apex Reference
addDefaultConfiguration
Sets the default product configuration, such as bundle and product attributes, for a quote request.
Signature
public Boolean addDefaultConfiguration {get; set;}
Property Value
Type: Boolean
Indicates whether to automatically add default configuration to the order (true) or not (false).
executeConfigurationRules
Sets the requirement for a quote to adhere to the configuration rules.
Signature
public Boolean executeConfigurationRules {get; set;}
Property Value
Type: Boolean
Indicates whether the order must adhere to configuration rules during processing (true) or bypass them (false).
validateAmendRenewCancel
Sets the requirement to run validations related to amend, renew, or cancel processes.
Signature
public Boolean validateAmendRenewCancel {get; set;}
Property Value
Type: Boolean
Indicates whether to run validations related to amend, renew, or cancel processes (true) or not (false).
validateProductCatalog
Sets the requirement to validate a quote against the product catalog.
Signature
public Boolean validateProductCatalog {get; set;}
Property Value
Type: Boolean
1000
Transaction Management Quote and Order Capture Apex Reference
Indicates whether the quote must be validated against the product catalog (true) or not (false).
ConfigurationOptionsInput Methods
Learn more about the methods available with the ConfigurationOptionsInput class.
The ConfigurationOptionsInput class includes these methods.
equals(obj)
Determines the equality of external objects in a list. This method is dynamic and is based on the equals() method in Java.
hashCode()
Determines the uniqueness of the external object records in a list.
toString()
Converts a value to a string.
equals(obj)
Determines the equality of external objects in a list. This method is dynamic and is based on the equals() method in Java.
Signature
public Boolean equals(Object obj)
Parameters
obj
Type: Object
Reference object that’s used to compare with the class object.
Return Value
Type: Boolean
Indicates if the class object is same as the reference object (true) or not (false).
hashCode()
Determines the uniqueness of the external object records in a list.
Signature
public Integer hashCode()
Return Value
Type: Integer
Integer hash code that represents the value of the object. Equal objects as per the equals() method must return the same hash
code.
1001
Transaction Management Quote and Order Capture Apex Reference
toString()
Converts a value to a string.
Signature
public String toString()
Return Value
Type: String
GraphRequest Class
Contains constructors and properties to set the graph ID and a list of records to be ingested. The list of records is specified in a key-value
map format that contains the field values of an order.
Namespace
PlaceQuote
Example
Invoke the Place Quote Apex API by using these steps.
• Set up a quote and quote line item. To associate the Record object with a reference identifier, create an instance of the
RecordWithReferenceRequest class.
//Quote Setup
PlaceQuote.RecordResource quoteRecord = new
PlaceQuote.RecordResource(Quote.getSobjectType(),'POST');
Map<String,Object> quoteFieldValues = new Map<String,Object>();
quoteFieldValues.put('Name','q-ap12');
quoteFieldValues.put('OpportunityId','006xx000001aBFcAAM');
quoteFieldValues.put('Pricebook2Id','01sxx0000005pvRAAQ');
quoteRecord.fieldValues = quoteFieldValues;
1002
Transaction Management Quote and Order Capture Apex Reference
quoteLineRelationship1.fieldValues = quoteLineRelationshipValues;
Note: The CatalogRatesPreferenceEnum enum is available when the Usage-Based Selling feature is enabled.
GraphRequest Constructors
Learn more about the available constructors with the GraphRequest class.
GraphRequest Properties
GraphRequest Constructors
Learn more about the available constructors with the GraphRequest class.
1003
Transaction Management Quote and Order Capture Apex Reference
GraphRequest(graphId, records)
Creates an instance of the GraphRequest class to assign the graph ID and a list of records to be ingested.
GraphRequest(graphId, records)
Creates an instance of the GraphRequest class to assign the graph ID and a list of records to be ingested.
Signature
public GraphRequest(String graphId, List<placequote.RecordWithReferenceRequest> records)
Parameters
graphId
Type: String
ID of the graph.
records
Type: List<placequote.RecordWithReferenceRequest on page 1014>
List of records to be ingested.
GraphRequest Properties
The following are properties for GraphRequest.
graphId
Set the graphId property to assign the ID value of the graph.
graphId
Set the graphId property to assign the ID value of the graph.
Signature
public String graphId {get; set;}
Property Value
Type: String
PlaceQuoteException Class
Contains methods to hold the exception details for the place quote request.
Namespace
PlaceQuote
1004
Transaction Management Quote and Order Capture Apex Reference
PlaceQuoteException Methods
Learn more about the methods available with the PlaceQuoteException class.
PlaceQuoteException Methods
Learn more about the methods available with the PlaceQuoteException class.
The PlaceQuoteException class includes these methods.
getErrorCode()
Gets the error code that’s associated to the place quote request.
getErrorCode()
Gets the error code that’s associated to the place quote request.
Signature
public String getErrorCode()
Return Value
Type: String
PlaceQuoteResponse Class
Contains properties to hold the response to the place quote request.
Namespace
PlaceQuote
Example
PlaceQuote.PlaceQuoteResponse resp =
PlaceQuote.PlaceQuoteExecutor.execute(internalEnum,graph);
PlaceQuoteResponse Properties
Learn more about the available properties with the PlaceQuoteResponse class.
PlaceQuoteResponse Properties
Learn more about the available properties with the PlaceQuoteResponse class.
The PlaceQuoteResponse class includes these properties.
quoteId
Get the ID of the quote that’s created after a successful request.
1005
Transaction Management Quote and Order Capture Apex Reference
requestIdentifier
Get the request ID of the process to query the asynchronous status of the Place Quote Apex API.
responseError
Get the list of errors encountered during the synchronous processing of the API request.
statusURL
Get the asynchronous status URL of the request, if available.
success
Get the request status of the synchronous part of the processing.
quoteId
Get the ID of the quote that’s created after a successful request.
Signature
public String quoteId {get; set;}
Property Value
Type: String
requestIdentifier
Get the request ID of the process to query the asynchronous status of the Place Quote Apex API.
Signature
public String requestIdentifier {get; set;}
Property Value
Type: String
responseError
Get the list of errors encountered during the synchronous processing of the API request.
Signature
public List<ConnectApi.PlaceQuoteErrorResponse> responseError {get; set;}
Property Value
Type: List<ConnectApi.PlaceQuoteErrorResponse>
statusURL
Get the asynchronous status URL of the request, if available.
1006
Transaction Management Quote and Order Capture Apex Reference
Signature
public String statusURL {get; set;}
Property Value
Type: String
success
Get the request status of the synchronous part of the processing.
Signature
public Boolean success {get; set;}
Property Value
Type: Boolean
Indicates whether the synchronous part of the processing is successful (true) or not (false).
PlaceQuoteRLMApexProcessor Class
Contains methods to place a quote with details of the graph request, pricing preferences, and configuration options.
Namespace
PlaceQuote
PlaceQuoteRLMApexProcessor Methods
Learn more about the methods available with the PlaceQuoteRLMApexProcessor class.
PlaceQuoteRLMApexProcessor Example Implementation
To place a quote from Apex, refer to the example implementation of the PlaceQuoteRLMApexProcessor class.
PlaceQuoteRLMApexProcessor Methods
Learn more about the methods available with the PlaceQuoteRLMApexProcessor class.
The PlaceQuoteRLMApexProcessor class includes these methods.
1007
Transaction Management Quote and Order Capture Apex Reference
Signature
public static placequote.PlaceQuoteResponse execute(placequote.PricingPreferenceEnum
pricingPreferenceEnum, placequote.GraphRequest graphRequest,
placequote.ConfigurationInputEnum configurationInputEnum,
placequote.ConfigurationOptionsInput configurationOptionsInput)
Parameters
pricingPreferenceEnum
Type: placequote.PricingPreferenceEnum
Pricing preference during the quote process.
graphRequest
Type: placequote.GraphRequest
The sObject graph values of the quote payload to be ingested.
configurationInputEnum
Type: placequote.ConfigurationInputEnum
Configuration input for the quote process.
configurationOptionsInput
Type: placequote.ConfigurationOptionsInput
Configuration options during the ingestion process.
Return Value
Type: placequote.PlaceQuoteResponse
Signature
public static placequote.PlaceQuoteResponse execute(placequote.PricingPreferenceEnum
pricingPreferenceEnum, placequote.CatalogRatesPreferenceEnum catalogRatesPreference,
placequote.GraphRequest graphRequest, placequote.ConfigurationInputEnum
configurationInputEnum, placequote.ConfigurationOptionsInput configurationOptionsInput)
1008
Transaction Management Quote and Order Capture Apex Reference
Parameters
pricingPreferenceEnum
Type: placequote.PricingPreferenceEnum
Pricing preference during the quote process.
catalogRatesPreference
Type: placequote.CatalogRatesPreferenceEnum
The rate card entries defined in the catalog that must be fetched for quote line items, with usage-based pricing during the quote
creation process. The CatalogRatesPreferenceEnum enum is available when the Usage-Based Selling feature is enabled.
graphRequest
Type: placequote.GraphRequest
The sObject graph values of the quote payload to be ingested.
configurationInputEnum
Type: placequote.ConfigurationInputEnum
Configuration input for the quote process.
configurationOptionsInput
Type: placequote.ConfigurationOptionsInput
Configuration options during the ingestion process.
Return Value
Type: placequote.PlaceQuoteResponse
Namespace
PlaceQuote
Usage
Customize this example to suit your requirements. Create the list of records to be ingested by using these steps. Replace the respective
IDs with the values that are present in your org. For example, replace the value of ${Pricebook2Id} field with the price book ID
that’s present in the org.
Example:
• Set up a quote and quote line item. To associate the Record object with a reference identifier, create an instance of the
RecordWithReferenceRequest class.
//Quote Setup
PlaceQuote.RecordResource quoteRecord = new
PlaceQuote.RecordResource(Quote.getSobjectType(),'POST');
Map<String,Object> quoteFieldValues = new Map<String,Object>();
quoteFieldValues.put('Name','q-ap12');
quoteFieldValues.put('OpportunityId','006xx000001aBFcAAM');
1009
Transaction Management Quote and Order Capture Apex Reference
quoteFieldValues.put('Pricebook2Id','01sxx0000005pvRAAQ');
quoteRecord.fieldValues = quoteFieldValues;
quoteLineRelationshipValues.put('MainQuoteLineId','@{refQuoteItem2.id}');
quoteLineRelationshipValues.put('AssociatedQuoteLineId','@{refQuoteItem1.id}');
quoteLineRelationshipValues.put('AssociatedQuoteLinePricing','IncludedInBundlePrice');
quoteLineRelationship1.fieldValues = quoteLineRelationshipValues;
Note: The CatalogRatesPreferenceEnum enum is available when the Usage-Based Selling feature is enabled.
1010
Transaction Management Quote and Order Capture Apex Reference
PricingPreferenceEnum Enum
Specifies the pricing preference during the create quote process.
Usage
Used by the PlaceQuoteRLMApexProcessor class.
Enum Values
The placequote.PricingPreferenceEnum enum class includes these values.
Value Description
Force Enforce pricing during the quote ingestion process.
RecordResource Class
Contains constructors and properties to create a record object from the field values of a quote.
Namespace
PlaceQuote
Example
PlaceQuote.RecordResource quoteLineRelationship1 = new
PlaceQuote.RecordResource(QuoteLineRelationship.getSobjectType(),'POST');
1011
Transaction Management Quote and Order Capture Apex Reference
RecordResource Constructors
Learn more about the available constructors with the RecordResource class.
RecordResource Properties
Learn more about the available properties with the RecordResource class.
RecordResource Constructors
Learn more about the available constructors with the RecordResource class.
The RecordResource class includes these constructors.
Signature
public RecordResource(Schema.SObjectType type, String method, Id id)
Parameters
type
Type: Schema.SObjectType
Object that’s returned from the field describe result using the getReferenceTo() method or from the sObject describe result
using the getSObjectType() method.
method
Type: String
Method for the API request, such as POST or PATCH.
id
Type: Id
ID of the quote.
RecordResource(type, method)
Creates an instance of the RecordResource class to assign the values to the fields of a quote item by using the sObject type and
API method properties.
1012
Transaction Management Quote and Order Capture Apex Reference
Signature
public RecordResource(Schema.SObjectType type, String method)
Parameters
type
Type: Schema.SObjectType
Object that’s returned from the field describe result using the getReferenceTo() method or from the sObject describe result
using the getSObjectType() method.
method
Type: String
Method for the API request, such as POST or PATCH.
RecordResource Properties
Learn more about the available properties with the RecordResource class.
The RecordResource class includes these properties.
fieldValues
Set the fieldValues property to assign values to the fields to update the quote record.
id
Set the id property to assign the ID of the quote record.
method
Set the method property to specify the API request method, such as POST or PATCH.
type
Set the type property to assign the object type that’s returned from the field describe result by using
the getReferenceTo() method or from the sObject describe result by using the getSObjectType() method.
fieldValues
Set the fieldValues property to assign values to the fields to update the quote record.
Signature
public Map<String,ANY> fieldValues {get; set;}
Property Value
Type: List <Map<String,ANY>>
id
Set the id property to assign the ID of the quote record.
Signature
public String id {get; set;}
1013
Transaction Management Quote and Order Capture Apex Reference
Property Value
Type: String
method
Set the method property to specify the API request method, such as POST or PATCH.
Signature
public String method {get; set;}
Property Value
Type: String
type
Set the type property to assign the object type that’s returned from the field describe result by using the getReferenceTo() method
or from the sObject describe result by using the getSObjectType() method.
Signature
public Schema.SObjectType type {get; set;}
Property Value
Type: Schema.SObjectType
RecordWithReferenceRequest Class
Contains constructors and properties to associate a record object with a reference identifier.
Namespace
PlaceQuote
Example
PlaceQuote.RecordWithReferenceRequest quoteLineRelationship = new
PlaceQuote.RecordWithReferenceRequest('QuoteLineRelationship',quoteLineRelationship1);
RecordWithReferenceRequest Constructors
Learn more about the available constructors with the RecordWithReferenceRequest class.
RecordWithReferenceRequest Properties
Learn more about the available properties with the RecordWithReferenceRequest class.
1014
Transaction Management Quote and Order Capture Apex Reference
RecordWithReferenceRequest Constructors
Learn more about the available constructors with the RecordWithReferenceRequest class.
The RecordWithReferenceRequest class includes these constructors.
RecordWithReferenceRequest(referenceId, record)
Creates an instance of the RecordWithReferenceRequest class to associate a record object with a reference identifier by
using the referenceId and record object properties.
RecordWithReferenceRequest(referenceId, record)
Creates an instance of the RecordWithReferenceRequest class to associate a record object with a reference identifier by using
the referenceId and record object properties.
Signature
public RecordWithReferenceRequest(String referenceId, placequote.RecordResource record)
Parameters
referenceId
Type: String
Reference ID that maps to the subrequest response and can be used to reference the response in subsequent subrequests. You can
reference the referenceId in either the body or URL of a subrequest. Use this syntax to include a reference: @{referenceId.FieldName}.
See referenceId property of a composite subrequest.
record
Type: placequote.RecordResource
Record object that’s defined using the RecordResource class.
RecordWithReferenceRequest Properties
Learn more about the available properties with the RecordWithReferenceRequest class.
The RecordWithReferenceRequest class includes these properties.
record
Set the record property to specify the record object that’s defined by using the RecordResource class.
referenceId
Set the referenceId property to specify the reference ID that maps to the subrequest response. This reference ID can be used
to reference the response in subsequent subrequests.
record
Set the record property to specify the record object that’s defined by using the RecordResource class.
Signature
public placequote.RecordResource record {get; set;}
1015
Transaction Management Quote and Order Capture Apex Reference
Property Value
Type: placequote.RecordResource
referenceId
Set the referenceId property to specify the reference ID that maps to the subrequest response. This reference ID can be used to
reference the response in subsequent subrequests.
Signature
public String referenceId {get; set;}
Property Value
Type: String
RevSalesTrxn Namespace
Create a sales transaction, such as a quote or an order, with integrated pricing and configuration. Additionally, update an order or a
quote, and insert and delete order or quote line items to calculate the estimated tax.
The RevSalesTrxn namespace includes these classes.
CatalogRatesPreferenceEnum Enum
Specifies the rate card entries defined in the catalog that must be fetched for quote line items, with usage-based selling during the
place sales transaction process.
ConfigurationExecutionEnum Enum
Specifies the configuration method for the place sales transaction request.
ConfigurationOptionsInput Class
Contains methods and properties to set the configuration options for the input to the product configurator.
GraphRequest Class
Contains constructors and properties to set the graph ID and a list of records to be ingested. The list of records is specified in a
key-value map format that contains the field values of an order.
PlaceSalesTransactionException Class
Contains methods to hold the exception details for the place sales transaction request.
PlaceSalesTransactionExecutor Class
Contains methods to place a sales transaction with details of the graph request, pricing preferences, and configuration options.
PlaceSalesTransactionResponse Class
Contains properties to hold the response to the place sales transaction request.
PricingPreferenceEnum Enum
Specifies the pricing preference during the creation of a sales transaction.
RecordResource Class
Contains constructors and properties to create a record object from the field values of a sales transaction.
RecordWithReferenceRequest Class
Contains constructors and properties to associate a record object with a reference identifier.
1016
Transaction Management Quote and Order Capture Apex Reference
CatalogRatesPreferenceEnum Enum
Specifies the rate card entries defined in the catalog that must be fetched for quote line items, with usage-based selling during the place
sales transaction process.
Usage
This enum is available when the Usage-Based Selling feature is enabled.
Enum Values
The RevSalesTrxn.CatalogRatesPreferenceEnum enum includes these values.
Value Description
Fetch Retrieves the rate card entries defined in the catalog for quote line items during the
quote creation process.
Skip Skips the retrieval of rate card entries for quote line items during the quote creation
process. The default value is Skip.
ConfigurationExecutionEnum Enum
Specifies the configuration method for the place sales transaction request.
Usage
Use these enum values for the configurationExecutionEnum property in the PlaceSalesTransactionExecutor class.
Enum Values
The RevSalesTrxn.ConfigurationExecutionEnum enum has these values.
Value Description
Force Specifies to enforce the predefined configuration process during the sales transaction
process.
Skip Specifies to skip the configuration process during the quote creation process. The
default value is Skip.
System Specifies the system to determine whether the configuration process is required.
ConfigurationOptionsInput Class
Contains methods and properties to set the configuration options for the input to the product configurator.
Namespace
RevSalesTrxn
1017
Transaction Management Quote and Order Capture Apex Reference
Usage
This class holds the required details of the product configuration input. Set the class properties to enable default configuration, execution
of configuration rules, and validation of the product catalog. Use these class properties as an input to
the PlaceSalesTransactionExecutor class method.
Example
RevSalesTrxn.GraphRequest graph = new RevSalesTrxn.GraphRequest('test',
listOfRecords);
RevSalesTrxn.PricingPreferenceEnum pricingPrefEnum =
RevSalesTrxn.PricingPreferenceEnum.SYSTEM;
RevSalesTrxn.ConfigurationExecutionEnum configurationExecutionEnum =
RevSalesTrxn.ConfigurationExecutionEnum.SYSTEM;
RevSalesTrxn.ConfigurationOptionsInput cInput = new
RevSalesTrxn.ConfigurationOptionsInput();
cInput.addDefaultConfiguration = true;
cInput.executeConfigurationRules = true;
cInput.validateAmendRenewCancel = true;
cInput.validateProductCatalog = true;
//Place Sales Transaction API Call
RevSalesTrxn.PlaceSalesTransactionResponse resp =
PlaceQuote.PlaceSalesTransactionExecutor.execute(graph,pricingPrefEnum,configurationExecutionEnum,cInput,null);
ConfigurationOptionsInput Properties
Set the ConfigurationOptionsInput class properties to add default configuration, execute configuration rules, and validate the product
catalog.
ConfigurationOptionsInput Methods
Learn more about the methods available with the ConfigurationOptionsInput class.
ConfigurationOptionsInput Properties
Set the ConfigurationOptionsInput class properties to add default configuration, execute configuration rules, and validate the product
catalog.
The ConfigurationOptionsInput class includes these properties.
addDefaultConfiguration
Sets the default product configuration, such as bundle and product attributes, for a quote request.
executeConfigurationRules
Sets the requirement for a quote to adhere to the configuration rules.
validateAmendRenewCancel
Sets the requirement to run validations related to amend, renew, or cancel processes.
validateProductCatalog
Sets the requirement to validate a quote against the product catalog.
addDefaultConfiguration
Sets the default product configuration, such as bundle and product attributes, for a quote request.
1018
Transaction Management Quote and Order Capture Apex Reference
Signature
public Boolean addDefaultConfiguration {get; set;}
Property Value
Type: Boolean
Indicates whether to automatically add default configuration to the order (true) or not (false).
executeConfigurationRules
Sets the requirement for a quote to adhere to the configuration rules.
Signature
public Boolean executeConfigurationRules {get; set;}
Property Value
Type: Boolean
Indicates whether the order must adhere to configuration rules during processing (true) or bypass them (false).
validateAmendRenewCancel
Sets the requirement to run validations related to amend, renew, or cancel processes.
Signature
public Boolean validateAmendRenewCancel {get; set;}
Property Value
Type: Boolean
Indicates whether to run validations related to amend, renew, or cancel processes (true) or not (false).
validateProductCatalog
Sets the requirement to validate a quote against the product catalog.
Signature
public Boolean validateProductCatalog {get; set;}
Property Value
Type: Boolean
Indicates whether the quote must be validated against the product catalog (true) or not (false).
1019
Transaction Management Quote and Order Capture Apex Reference
ConfigurationOptionsInput Methods
Learn more about the methods available with the ConfigurationOptionsInput class.
The ConfigurationOptionsInput class includes these methods.
equals(obj)
Determines the equality of external objects in a list. This method is dynamic and is based on the equals() method in Java.
hashCode()
Determines the uniqueness of the external object records in a list.
toString()
Converts a value to a string.
equals(obj)
Determines the equality of external objects in a list. This method is dynamic and is based on the equals() method in Java.
Signature
public Boolean equals(Object obj)
Parameters
obj
Type: Object
Reference object that’s used to compare with the class object.
Return Value
Type: Boolean
Indicates if the class object is same as the reference object (true) or not (false).
hashCode()
Determines the uniqueness of the external object records in a list.
Signature
public Integer hashCode()
Return Value
Type: Integer
Integer hash code that represents the value of the object. Equal objects as per the equals() method must return the same hash
code.
toString()
Converts a value to a string.
1020
Transaction Management Quote and Order Capture Apex Reference
Signature
public String toString()
Return Value
Type: String
GraphRequest Class
Contains constructors and properties to set the graph ID and a list of records to be ingested. The list of records is specified in a key-value
map format that contains the field values of an order.
Namespace
RevSalesTrxn
GraphRequest Constructors
Learn more about the available constructors with the GraphRequest class.
GraphRequest Properties
Learn more about the available properties with the GraphRequest class.
GraphRequest Constructors
Learn more about the available constructors with the GraphRequest class.
The GraphRequest class includes these constructors.
GraphRequest(graphId, records)
Creates an instance of the GraphRequest class to assign the graph ID and a list of records to be ingested.
GraphRequest(graphId, records)
Creates an instance of the GraphRequest class to assign the graph ID and a list of records to be ingested.
Signature
public GraphRequest(String graphId, List<RevSalesTrxn.RecordWithReferenceRequest>
records)
Parameters
graphId
Type: String
ID of the graph.
records
Type: List<placequote.RecordWithReferenceRequest on page 1034>
List of records to be ingested.
1021
Transaction Management Quote and Order Capture Apex Reference
GraphRequest Properties
Learn more about the available properties with the GraphRequest class.
The GraphRequest class includes these properties.
graphId
Set the graphId property to assign the ID value of the graph.
graphId
Set the graphId property to assign the ID value of the graph.
Signature
public String graphId {get; set;}
Property Value
Type: String
PlaceSalesTransactionException Class
Contains methods to hold the exception details for the place sales transaction request.
Namespace
RevSalesTrxn
PlaceSalesTransactionException Methods
Learn more about the methods available with the PlaceSalesTransactionException class.
PlaceSalesTransactionException Methods
Learn more about the methods available with the PlaceSalesTransactionException class.
The PlaceSalesTransactionException class includes these methods.
getErrorCode()
Gets the error code that’s associated to the place sales transaction request.
getErrorCode()
Gets the error code that’s associated to the place sales transaction request.
Signature
public String getErrorCode()
1022
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: String
PlaceSalesTransactionExecutor Class
Contains methods to place a sales transaction with details of the graph request, pricing preferences, and configuration options.
Namespace
RevSalesTrxn
PlaceSalesTransactionExecutor Methods
Learn more about the methods available with the PlaceSalesTransactionExecutor class.
PlaceSalesTransactionExecutor Example Implementation
To place a sales transaction from Apex, refer to the example implementation of the PlaceSalesTransactionExecutor
class.
PlaceSalesTransactionExecutor Methods
Learn more about the methods available with the PlaceSalesTransactionExecutor class.
The PlaceSalesTransactionExecutor class includes these methods.
Signature
public static revsalestrxn.PlaceSalesTransactionResponse
execute(revsalestrxn.GraphRequest graphRequest, revsalestrxn.PricingPreferenceEnum
pricingPreferenceEnum, revsalestrxn.ConfigurationExecutionEnum
configurationExecutionEnum, revsalestrxn.ConfiguratorOptions configuratorOptions,
revsalestrxn.Id id)
Parameters
graphRequest
Type: revsalestrxn.GraphRequest
The sObject graph values of the order payload to be ingested.
pricingPreferenceEnum
Type: revsalestrxn.PricingPreferenceEnum
1023
Transaction Management Quote and Order Capture Apex Reference
Return Value
Type: revsalestrxn.PlaceSalesTransactionResponse
Namespace
RevSalesTrxn
Usage
Customize this example to suit your requirements. Create the list of records to be ingested by using these steps. Replace the respective
IDs with the values that are present in your org. For example, replace the value of ${Pricebook2Id} field with the price book ID
that’s present in the org.
Example:
• Set up a quote and quote line item. To associate the Record object with a reference identifier, create an instance of the
RecordWithReferenceRequest class.
• To create a quote line relationship, create an instance of the RecordResource class.
• Create the list of records to be ingested.
• To contain all record objects, create an instance of the GraphRequest class.
This example shows a sample request to create a sales transaction, to update a quote with a quote line item, or to delete a quote
line item.
public class PlaceSalesTransactionTest {
public static void callPSTAPI_Post() {
RevSalesTrxn.PricingPreferenceEnum pricingPrefEnum =
RevSalesTrxn.PricingPreferenceEnum.SYSTEM;
RevSalesTrxn.ConfigurationExecutionEnum configurationExecutionEnum =
RevSalesTrxn.ConfigurationExecutionEnum.SYSTEM;
//Quote setup
RevSalesTrxn.RecordResource quoteRecord = new
RevSalesTrxn.RecordResource(Quote.getSobjectType(),'POST');
1024
Transaction Management Quote and Order Capture Apex Reference
1025
Transaction Management Quote and Order Capture Apex Reference
//Quote setup
RevSalesTrxn.RecordResource quoteRecord = new
RevSalesTrxn.RecordResource(Quote.getSobjectType(),'PATCH','0Q0xx0000004CYsCAM');
RevSalesTrxn.RecordWithReferenceRequest quoteItemRecords = new
RevSalesTrxn.RecordWithReferenceRequest('refQuote',quoteRecord);
//Quote setup
RevSalesTrxn.RecordResource quoteRecord = new
1026
Transaction Management Quote and Order Capture Apex Reference
RevSalesTrxn.RecordResource(Quote.getSobjectType(),'PATCH','0Q0xx0000004CYsCAM');
RevSalesTrxn.RecordWithReferenceRequest quoteItemRecords = new
RevSalesTrxn.RecordWithReferenceRequest('refQuote',quoteRecord);
PlaceSalesTransactionResponse Class
Contains properties to hold the response to the place sales transaction request.
Namespace
RevSalesTrxn
Example
RevSalesTrxn.PlaceSalesTransactionResponse resp =
RevSalesTrxn.PlaceSalesTransactionExecutor.execute(graph, pricingPrefEnum,
configurationExecutionEnum, new RevSalesTrxn.ConfigurationOptionsInput(), null);
PlaceSalesTransactionResponse Properties
Learn more about the available properties with the PlaceSalesTransactionResponse class.
PlaceSalesTransactionResponse Properties
Learn more about the available properties with the PlaceSalesTransactionResponse class.
The PlaceSalesTransactionResponse class includes these properties.
contextDetails
Get the details of the context that’s created for the sales transaction.
1027
Transaction Management Quote and Order Capture Apex Reference
errorResponse
Get the list of errors encountered during the synchronous processing of the API request.
isSuccess
Get the request status of the synchronous part of the processing.
salesTransactionId
Get the ID of the sales transaction, such as a quote or an order.
statusUrl
Get the asynchronous status URL of the request, if available.
trackerId
Get the unique identifier assigned to a specific operation or request that's used for tracking and referencing the operation.
contextDetails
Get the details of the context that’s created for the sales transaction.
Signature
public ConnectApi.ContextDetails contextDetails {get; set;}
Property Value
Type: ConnectApi.ContextDetails
errorResponse
Get the list of errors encountered during the synchronous processing of the API request.
Signature
public List<ConnectApi.PlaceSalesTransactionErrorResponse> errorResponse {get; set;}
Property Value
Type: List<ConnectApi.PlaceSalesTransactionErrorResponse>
isSuccess
Get the request status of the synchronous part of the processing.
Signature
public Boolean isSuccess {get; set;}
Property Value
Type: Boolean
Indicates whether the synchronous part of the processing is successful (true) or not (false).
1028
Transaction Management Quote and Order Capture Apex Reference
salesTransactionId
Get the ID of the sales transaction, such as a quote or an order.
Signature
public String salesTransactionId {get; set;}
Property Value
Type: String
statusUrl
Get the asynchronous status URL of the request, if available.
Signature
public String statusUrl {get; set;}
Property Value
Type: String
trackerId
Get the unique identifier assigned to a specific operation or request that's used for tracking and referencing the operation.
Signature
public String trackerId {get; set;}
Property Value
Type: String
PricingPreferenceEnum Enum
Specifies the pricing preference during the creation of a sales transaction.
Usage
Used by the PlaceSalesTransactionExecutor class.
Enum Values
The RevSalesTrxn.PricingPreferenceEnum enum includes these values.
Value Description
Force Specifies to enforce pricing during the creation of sales transactions.
1029
Transaction Management Quote and Order Capture Apex Reference
Value Description
Skip Specifies to skip pricing during the creation of sales transactions.
System Specifies the system to determine whether a pricing calculation is required. The
default value is System.
RecordResource Class
Contains constructors and properties to create a record object from the field values of a sales transaction.
Namespace
RevSalesTrxn
Example
RevSalesTrxn.RecordResource quoteRecord = new
RevSalesTrxn.RecordResource(Quote.getSobjectType(),'POST');
RecordResource Constructors
Learn more about the available constructors with the RecordResource class.
RecordResource Properties
Learn more about the available properties with the RecordResource class.
RecordResource Constructors
Learn more about the available constructors with the RecordResource class.
The RecordResource class has these constructors.
1030
Transaction Management Quote and Order Capture Apex Reference
Signature
public RecordResource(Schema.SObjectType type, String method, String groupAction,
Map<String,ANY> criteria)
Parameters
type
Type: Schema.SObjectType
Object that’s returned from the field describe result using the getReferenceTo() method or from the sObject describe result
using the getSObjectType() method.
method
Type: String
Method for the API request, such as POST, PATCH, or DELETE.
groupAction
Type: String
Action to group order or quote line items. Valid values are:
• GroupBy
• Group
• Ungroup
• GroupAll
• DeleteGroup
criteria
Type: Map<String,ANY>
Criteria to group order or quote line items. For example, group order or quote line items based on a monthly billing frequency.
Signature
public RecordResource(Schema.SObjectType type, String method, Id id)
Parameters
type
Type: Schema.SObjectType
Object that’s returned from the field describe result using the getReferenceTo() method or from the sObject describe result
using the getSObjectType() method.
method
Type: String
Method for the API request, such as POST, PATCH, or DELETE.
1031
Transaction Management Quote and Order Capture Apex Reference
id
Type: Id
ID of the sales transaction, such as a quote or an order.
RecordResource(type, method)
Creates an instance of the RecordResource class to assign the values to the fields of a sales transaction by using the sObject type and
API method properties.
Signature
public RecordResource(Schema.SObjectType type, String method)
Parameters
type
Type: Schema.SObjectType
Object that’s returned from the field describe result using the getReferenceTo() method or from the sObject describe result
using the getSObjectType()method.
method
Type: String
Method for the API request, such as POST, PATCH, or DELETE.
RecordResource Properties
Learn more about the available properties with the RecordResource class.
The RecordResource class includes these properties.
criteria
Set the criteria property to group order or quote line items. For example, group order or quote line items based on a monthly billing
frequency.
fieldValues
Set the fieldValues property to assign values to the fields to update the sales transaction.
groupAction
Set the groupAction property to group order or quote line items.
id
Set the id property to assign the ID of the sales transaction record.
method
Set the method property to specify the API request method, such as POST, PATCH, or DELETE.
type
Set the type property to assign the object type that’s returned from the field describe result by using the getReferenceTo() method
or from the sObject describe result by using the getSObjectType() method.
1032
Transaction Management Quote and Order Capture Apex Reference
criteria
Set the criteria property to group order or quote line items. For example, group order or quote line items based on a monthly billing
frequency.
Signature
public Map<String,ANY> criteria {get; set;}
Property Value
Type: Map<String,ANY>
fieldValues
Set the fieldValues property to assign values to the fields to update the sales transaction.
Signature
public Map<String,ANY> fieldValues {get; set;}
Property Value
Type: ListMap<String,ANY>
groupAction
Set the groupAction property to group order or quote line items.
You can group order or quote line items based on location, work types, or departments, if groups are enabled for your org. Groups
provide a visualization of the products to view large quotes.
Signature
public String groupAction {get; set;}
Property Value
Type: String
Valid values are:
• GroupBy
• Group
• Ungroup
• GroupAll
• DeleteGroup
id
Set the id property to assign the ID of the sales transaction record.
1033
Transaction Management Quote and Order Capture Apex Reference
Signature
public String id {get; set;}
Property Value
Type: String
method
Set the method property to specify the API request method, such as POST, PATCH, or DELETE.
Signature
public String method {get; set;}
Property Value
Type: String
type
Set the type property to assign the object type that’s returned from the field describe result by using the getReferenceTo() method or
from the sObject describe result by using the getSObjectType() method.
Signature
public Schema.SObjectType type {get; set;}
Property Value
Type: Schema.SObjectType
RecordWithReferenceRequest Class
Contains constructors and properties to associate a record object with a reference identifier.
Namespace
RevSalesTrxn
Example
RevSalesTrxn.RecordWithReferenceRequest quoteLineItemRecords = new
RevSalesTrxn.RecordWithReferenceRequest('refQuoteItem',quoteLineItemRecord);
RecordWithReferenceRequest Constructors
Learn more about the available constructors with the RecordWithReferenceRequest class.
RecordWithReferenceRequest Properties
Learn more about the available properties with the RecordWithReferenceRequest class.
1034
Transaction Management Quote and Order Capture Apex Reference
RecordWithReferenceRequest Constructors
Learn more about the available constructors with the RecordWithReferenceRequest class.
The RecordWithReferenceRequest class includes these constructors.
RecordWithReferenceRequest(referenceId, record)
Creates an instance of the RecordWithReferenceRequest class to associate a record object with a reference identifier by using the
referenceId and record object properties.
RecordWithReferenceRequest(referenceId, record)
Creates an instance of the RecordWithReferenceRequest class to associate a record object with a reference identifier by using the
referenceId and record object properties.
Signature
public RecordWithReferenceRequest(String referenceId, RevSalesTrxn.RecordResource
record)
Parameters
referenceId
Type: String
Reference ID that maps to the subrequest response and can be used to reference the response in subsequent subrequests. You can
reference the referenceId in either the body or URL of a subrequest. Use this syntax to include a reference: @{referenceId.FieldName}.
See referenceId property of a composite subrequest.
record
Type: RevSalesTrxn.RecordResource
Record object that’s defined using the RecordResource class.
RecordWithReferenceRequest Properties
Learn more about the available properties with the RecordWithReferenceRequest class.
The RecordWithReferenceRequest class has these properties.
record
Set the record property to specify the record object that’s defined by using the RecordResource class.
referenceId
Set the referenceId property to specify the reference ID that maps to the subrequest response. This reference ID can be used to
reference the response in subsequent subrequests.
record
Set the record property to specify the record object that’s defined by using the RecordResource class.
1035
Transaction Management Quote and Order Capture Standard Invocable Actions
Signature
public RevSalesTrxn.RecordResource record {get; set;}
Property Value
Type: RevSalesTrxn.RecordResource
referenceId
Set the referenceId property to specify the reference ID that maps to the subrequest response. This reference ID can be used to reference
the response in subsequent subrequests.
Signature
public String referenceId {get; set;}
Property Value
Type: String
SEE ALSO:
Actions Developer Guide: Overview
REST API Developer Guide: Invocable Actions Standard
1036
Transaction Management Quote and Order Capture Standard Invocable Actions
Inputs
Input Details
contractPriceOption Type
string
Description
Optional.
Determines how the contract price is set for quote line items based on the selected value.
Valid values are:
• CONTRACT_HEADER_ONLY—Creates a contract with only the header information,
without using net prices or discounts.
• NET_UNIT_PRICE_ONLY—Creates a contract specifically for quote line items with a
net unit price, saving all net unit prices of the quote as contract prices.
• DISCOUNT_ONLY—Creates contract prices specifically for quote line items with discounts,
saving all discounts of the quote as contract prices.
The default value is CONTRACT_HEADER_ONLY.
sourceId Type
string
Description
Required.
ID of the quote or order that you want to create a contract from.
Outputs
Output Details
contractId Type
string
1037
Transaction Management Quote and Order Capture Standard Invocable Actions
Output Details
Description
ID of the contract created for the specified order or quote.
Example
POST
This sample request is for the Create Contract action.
{
"inputs": [
{
"sourceId": "0Q0RO0000003LyU",
"contractPriceOption": "NET_UNIT_PRICE_ONLY"
}
]
}
SEE ALSO:
Salesforce Help: Use a Custom Flow to Create Contracts
1038
Transaction Management Quote and Order Capture Standard Invocable Actions
Formats
JSON, XML
HTTP Methods
POST
Authentication
Authorization: Bearer token
Inputs
Input Details
quoteRecordId Type
datetime
Description
Required.
ID of the quote record.
Outputs
Output Details
requestId Type
string
Description
ID of the request.
Example
POST
This sample request is for the Create Order From Quote action.
{
"inputs": [
{
"quoteRecordId": "0Q0D200000000DhKAI"
}
]
}
This sample response is for the Create Order From Quote action.
[
{
"actionName": "createOrderFromQuote",
"errors": null,
"isSuccess": true,
1039
Transaction Management Quote and Order Capture Standard Invocable Actions
"outputValues": {
"requestId": "143021b0-ada6-49f5-a2ea-6977a45c06a6"
}
}
]
Inputs
Input Details
recordId Type
string
Description
Required. The record ID of a work order, work order line item, or service appointment used to
generate the service document. Create a Lightning web component to use a Custom Property
Editor (CPE) to validate the recordId to avoid deployment issues.
templateId Type
string
Description
Required, if the recordId is a work order, work order line item, or service appointment. The
ID of the service document template to use when generating the document.
locale Type
string
Description
Optional. Specifies the language for service document localization. The default is the user’s
language. Used when generating a document in a different language from the user’s language.
See a list of supported languages in Supported Languages.
1040
Transaction Management Quote and Order Capture Standard Invocable Actions
Input Details
You can only input language for locale. For example, use es for Spanish. Using language and
country, for example es_ES for Spanish associated with Spain, results in error.
title Type
string
Description
Optional. The value used to name the document that’s generated and saved.
documentType Type
string
Description
Optional. Value that allows users to generate different types of documents by using the service.
Valid values are:
• ServiceDocument—Type of service document, such as service agreement or service
contract.
• QuoteDocument—Type of quote document, such as sales quote or service quote.
• SfsQuoteDocument—Type of quote document for Salesforce Field Service (SFS), suitable
for mobile use. This document is stored in the QuoteDocument object, and is generated
through flow-based processes that link to related service documents.
The default value is ServiceDocument.
pdfReportId Type
string
Description
Optional value corresponding to recordId and templateId. However, the value is required
if you aren’t generating the document from the default pdfRecord record. For the Document
Builder feature, this is a service report ID for a report that is in progress, queued, or failed. It must
be used to generate a service document from failed state.
Outputs
Inputs Details
pdfReportId Type
string
Description
Required. The report’s record ID that holds the generated PDF. For service documents, the
pdfReportId is a service report, and the record is created if the work order, work order line
item, or service appointment is passed as the recordId.
1041
Transaction Management Quote and Order Capture Metadata API Types
Usage
Sample Input
The following code sample generates a PDF of a service document with a specific recordId and templateId:
{
"inputs":[
"recordId": "08pOG00000023anYAA",
"templateId": "0M0OG0000005Na40AE",
"locale": "en_US",
SEE ALSO:
Metadata API Developer Guide: Understanding Metadata API
FlowActionCall
Quote and Order Capture exposes additional actionType values for the FlowActionCall metadata type.
1042
Transaction Management Asset Lifecycle
Asset Lifecycle
Get insights into customer assets and increase customer lifetime value. Also, get a consolidated list
EDITIONS
of all assets that belong to an account.
Available in: Lightning
Asset Lifecycle Standard Objects Experience
The Asset Lifecycle data model provides objects and fields to manage details of a customer Available in: Enterprise,
asset. Unlimited, and Developer
Asset Lifecycle Standard Invocable Actions Editions of Revenue Cloud
Learn more about the standard invocable actions available with Asset Lifecycle management.
Asset Lifecycle Metadata API Types
Metadata API enables you to access some types and feature settings that you can customize in the user interface.
Asset Lifecycle Business APIs
Use the Asset Lifecycle Business APIs to initiate the amendment, cancellation, or renewal of assets.
Asset
Represents an item of commercial value, such as a product sold by your company or a competitor, that a customer has purchased.
AssetAction
Represents a change made to a lifecycle-managed asset. The fields can’t be edited. This object is available in API version 50.0 and
later.
AssetActionSource
Represents an optional way to record what transactions caused changes to lifecycle-managed assets. Use it to trace financial and
other information about asset actions. This object supports Salesforce order products and work order line items, and transaction IDs
from other systems. The fields can’t be edited. This object is available in API version 50.0 and later.
AssetAttribute
Stores asset attributes to track and analyze asset conditions to improve their uptime. This object is available in API version 57.0 and
later.
1043
Transaction Management Asset Lifecycle Standard Objects
AssetContractRelationship
Represents a relationship between an asset and a contract. This object is available in API version 60.0 and later.
AssetDowntimePeriod
Represents a period during which an asset is not able to perform as expected. Downtime periods include planned activities, such
as maintenance, and unplanned events, such as mechanical breakdown. This object is available in API version 49.0 and later.
AssetOwnerSharingRule
Represents the rules for sharing an Asset with users other than the owner. This object is available in API version 33.0 and later.
AssetRelationship
Represents a non-hierarchical relationship between assets due to an asset modification; for example, a replacement, upgrade, or
other circumstance. In Subscription Management and Revenue Lifecycle Management, this object represents an asset or assets
grouped in a bundle or set. This object is available in API version 41.0 and later.
AssetShare
Represents a sharing entry on an Asset. This object is available in API version 33.0 and later.
AssetStatePeriod
Represents a time span when an asset has the same quantity, amount, and monthly recurring revenue (MRR). An asset has as many
asset state periods as there are changes to it (asset actions) during its lifecycle. The dashboard and related pages show the current
asset state period. The fields can’t be edited. This object is available in API version 50.0 and later.
AssetStatePeriodAttribute
Represents a virtual object that holds the key-value pair of the asset attribute in a specified asset state period. This object is a child
object of AssetStatePeriod. This object is available in API version 60.0 and later.
AssetTag
Associates a word or short phrase with an Asset.
AssetTokenEvent
The documentation has moved to AssetTokenEvent in the Platform Events Developer Guide.
AssetWarranty
Defines the warranty terms applicable to an asset along with any exclusions and extensions. This object is available in API version
50.0 and later.
SEE ALSO:
Object Reference for the Salesforce Platform: Overview of Salesforce Objects and Fields
SOAP API Developer Guide: Introduction to SOAP API
Asset
Represents an item of commercial value, such as a product sold by your company or a competitor, that a customer has purchased.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
1044
Transaction Management Asset Lifecycle Standard Objects
Fields
Field Details
AccountId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
(Required) ID of the Account associated with this asset. Must be a valid account ID. Required
if ContactId isn’t specified.
This field is a relationship field.
Relationship Name
Account
Relationship Type
Lookup
Refers To
Account
Address Type
address
Properties
Filter, Nillable
Description
Represents the physical address or geolocation of the asset.
AssetLevel Type
int
Properties
Filter, Group, Nillable, Sort
Description
The asset’s position in an asset hierarchy. If the asset has no parent or child assets, its level
is 1. Assets that belong to a hierarchy have a level of 1 for the root asset, 2 for the child assets
of the root asset, 3 for their children, and so forth. On assets created before the introduction
of this field, the asset level defaults to –1. After the asset record is updated, the asset level is
calculated and automatically updated.
AssetProvidedById Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The account that provided the asset, typically a manufacturer.
This field is a relationship field.
1045
Transaction Management Asset Lifecycle Standard Objects
Field Details
Relationship Name
AssetProvidedBy
Relationship Type
Lookup
Refers To
Account
AssetServicedById Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The account in charge of servicing the asset.
This field is a relationship field.
Relationship Name
AssetServicedBy
Relationship Type
Lookup
Refers To
Account
AssetTypeId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The asset type associated with the asset.
This field is a relationship field.
This field is available in API version 62.0 and later for users with the Health Cloud Appointment
Management permission set.
Relationship Name
AssetType
Relationship Type
Lookup
Refers To
AssetType
Availability Type
percent
Properties
Filter, Nillable, Sort
1046
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The percentage of expected uptime where the asset was available for use.
AveragetimetoRepair Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
Represents the number of hours it typically takes to repair an asset after a failure.
AveragetimeBetweenFailure Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
Represents the number of hours that typically elapses before the asset is likely to fail again.
AverageUptimePerDay Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The average number of hours per day the asset is expected to be available for use.
City Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The city detail for the address.
ConsequenceOfFailure Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The business impact associated with the asset’s failure. Using this field, you can address the
asset’s health and take action using Flows. To enable this field, use Object Manager to update
the field availability. Make sure that the field is visible for field-level security and for page
layout. To learn more, see What Determines Field Access. The picklist values aren’t predefined
in orgs created before Winter ’22 that aren’t Field Service enabled. This field is available in
API version 53.0 and later.
1047
Transaction Management Asset Lifecycle Standard Objects
Field Details
Possible values are:
• Insignificant
• Minor
• Moderate
• Major
• Critical
ContactId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Required if AccountId isn’t specified. ID of the Contact associated with this asset. Must
be a valid contact ID that has an account parent (but doesn’t need to match the asset’s
AccountId).
This field is a relationship field.
Relationship Name
Contact
Relationship Type
Lookup
Refers To
Contact
Country Type
String
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The country detail for the address.
CurrencyIsoCode Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Three-letter ISO 4217 currency code associated with the invoice. The default value is USD.
This field is available in API version 55.0 and later. This field is available when CPQ Plus,
Salesforce Billing, or Subscription Management is enabled.
CurrentAmount Type
currency
1048
Transaction Management Asset Lifecycle Standard Objects
Field Details
Properties
Filter, Nillable, Sort
Description
Reserved for future use.
This field is available in API version 50.0 and later. This field is available when CPQ Plus,
Salesforce Billing, or Subscription Management is enabled.
CurrentLifecycleEndDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents the end of the period shown as current. System-populated field inherited from
the end date of the current asset state period. If that field is empty, as with an evergreen
subscription, the Current Lifecycle End Date field is also empty.
This field is available in API version 50.0 and later. This field is available when CPQ Plus,
Salesforce Billing, or Subscription Management is enabled.
CurrentMrr Type
currency
Properties
Filter, Nillable, Sort
Description
The asset’s monthly recurring revenue during the current asset state period. System-populated
field inherited from the monthly recurring revenue on the current asset state period. If no
asset state period is current, the value is 0. Label is Current Monthly Recurring Revenue.
This field is available in API version 50.0 and later. This field is available when CPQ Plus,
Salesforce Billing, or Subscription Management is enabled.
CurrentQuantity Type
double
Properties
Filter, Nillable, Sort
Description
The asset’s quantity during the current asset state period. System-populated field inherited
from the quantity on the current asset state period. If no asset state period is current, the
value is 0.
This field is available in API version 50.0 and later. This field is available when CPQ Plus,
Salesforce Billing, or Subscription Management is enabled.
Description Type
textarea
1049
Transaction Management Asset Lifecycle Standard Objects
Field Details
Properties
Create, Nillable, Update
Description
Description of the asset.
DigitalAssetStatus Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Status of digital tracking of the asset. The default picklist includes the following values:
• On
• Off
• Warning
• Error
ExternalIdentifier Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the matching record in an external system. This field is available in API version 49.0
and later.
GeocodeAccuracy Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Accuracy level of the geocode for the address.
HasLifecycleManagement Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
True if this asset is a lifecycle-managed asset, otherwise false. You can’t switch an asset to a
lifecycle-managed asset or the reverse. This field is system populated.
The default value is false.
This field is available in API version 50.0 and later. This field is available when CPQ Plus,
Salesforce Billing, or Subscription Management is enabled.
1050
Transaction Management Asset Lifecycle Standard Objects
Field Details
InstallDate Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Date when the asset was installed.
IsCompetitorProduct Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this Asset represents a product sold by a competitor (true) or not
(false). The default value is false. Its UI label is Competitor Asset.
IsInternal Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates that the asset is produced or used internally (true) or not (false). The default
value is false. Its UI label is Internal Asset.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date and time that the asset was last modified. Its UI label is Last Modified Date.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date and time that the asset was last viewed.
Latitude Type
double
Properties
Create, Filter, Group, Nillable, Sort, Update
1051
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
Used with Longitude to specify the precise geolocation of the address.
LifecycleEndDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents the end of the asset’s lifecycle. System-populated field inherited from the end
date of the final asset state period. If that field is empty, as with an evergreen subscription,
the lifecycle has no end date. This field is available in API version 50.0 and later. This field is
available when CPQ Plus, Salesforce Billing, or Subscription Management is enabled.
LifecycleStartDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents the beginning of the asset’s lifecycle. System-populated field inherited from the
start date of the earliest asset state period. This field can’t be edited. When a new asset action
affects the start date of an asset state period, the period is deleted and a new one is generated.
This field is available in API version 50.0 and later. This field is available when CPQ Plus,
Salesforce Billing, or Subscription Management is enabled.
LocationId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The asset’s location. Typically, this location is the place where the asset is stored, such as a
warehouse or van.
Longitude Type
double
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Used with Latitude to specify the precise geolocation of the address.
ManufactureDate Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
1052
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The date when the asset was manufactured. This field is available from API version 49.0 and
later.
Name Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
(Required) Name of the asset. Label is Asset Name.
OwnerId Type
reference
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The asset’s owner. By default, the asset owner is the user who created the asset record. Its
UI label is Asset Owner.
This field is a relationship field.
Relationship Name
Owner
Relationship Type
Lookup
Refers To
User
ParentId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The asset’s parent asset. Its UI label is Parent Asset.
This field is a relationship field.
Relationship Name
Parent
Relationship Type
Lookup
Refers To
Asset
1053
Transaction Management Asset Lifecycle Standard Objects
Field Details
PostalCode Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The postal code for the address.
Price Type
currency
Properties
Create, Filter, Nillable, Sort, Update
Description
Price paid for this asset.
PricingSource Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Pricing source to use when amending or renewing an asset.
Valid values are:
• LastTransaction—Last Transaction
• PriceBookListPrice—Price Book or List Price
Available in API version 60.0 and later.
Product2Id Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
(Optional) ID of the Product2 associated with this asset. Must be a valid Product2 ID. Its UI
label is Product.
This field is a relationship field.
Relationship Name
Product2
Relationship Type
Lookup
Refers To
Product2
1054
Transaction Management Asset Lifecycle Standard Objects
Field Details
ProductCode Type
string
Properties
Filter, Group, Nillable, Sort
Description
The product code of the related product.
ProductDescription Type
string
Properties
Filter, Sort, Nillable
Description
The product description of the related product.
ProductFamily Type
picklist
Properties
Filter, Group, Sort, Nillable
Description
The product family of the related product.
PurchaseDate Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Date on which this asset was purchased.
Quantity Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
Quantity purchased or installed. The Quantity field value isn’t set by Customer Asset Lifecycle
Management. Instead, you can populate the field as you need.
QuantityIncreasePricingType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
1055
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
Specify which pricing type to use when the quantity of this asset is increased. Its UI label is
Pricing Type for Quantity Increase. This field is available in API version 56.0 and later. This
field is available when Subscription Management is enabled.
Possible values are:
• LastNegotiatedPrice—Available in API version 58.0 and later.
• ListPrice
RecordTypeId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unique identifier for the asset.
This field is a relationship field.
Relationship Name
RecordType
Relationship Type
Lookup
Refers To
RecordType
Reliability Type
percent
Properties
Filter, Nillable, Sort
Description
The percentage of expected uptime where the asset wasn’t subject to unplanned downtime.
RenewalPricingType Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The price used when renewing a subscription. Its UI label is Pricing Type for Renewal. This
field is available in API version 55.0 and later. This field is available when Subscription
Management is enabled.
Possible values are:
• LastNegotiatedPrice
• ListPrice
1056
Transaction Management Asset Lifecycle Standard Objects
Field Details
RenewalTerm Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
With Renewal Term Unit, defines the default subscription term for renewal quotes. This field
is available in API version 55.0 and later. This field is available when Subscription Management
is enabled.
RenewalTermUnit Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The unit of time for a subscription term. This field is available in API version 55.0 and later.
This field is available when Subscription Management is enabled.
Possible values are:
• Annual—Available in API version 58.0 and later. —UI label is Years.
• Months
RootAssetId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
(Read only) The top-level asset in an asset hierarchy. Depending on where an asset lies in
the hierarchy, its root could be the same as its parent. Its UI label is Root Asset.
This field is a relationship field.
Relationship Name
RootAsset
Relationship Type
Lookup
Refers To
Asset
SalesStoreId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of the RetailStore or WebStore associated with this Asset.
1057
Transaction Management Asset Lifecycle Standard Objects
Field Details
This field is a polymorphic relationship field.
To access this field, your org must have a Salesforce Order Management license or a B2B
Commerce License.
This field is available in API v60.0 and later.
Relationship Name
SalesStore
Relationship Type
Lookup
Refers To
RetailStore, WebStore
SerialNumber Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Serial number for this asset.
State Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The state detail for the address.
Status Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Customizable picklist of values. The default picklist includes the following values:
• Purchased
• Shipped
• Installed
• Registered
• Obsolete
StatusReason Type
picklist
Properties
Create, Filter, Group, Nillable, Sort, Update
1058
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The explanation of the device status. This field is available from API version 49.0 and later.
Possible values are:
• Not Ready
• Off
• Offline
• Online
• Paused
• Standby
StockKeepingUnit Type
string
Properties
Filter, Group, Nillable, Sort
Description
The SKU assigned to the related product.
Street Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The street detail for the address.
SumDowntime Type
double
Properties
Filter, Nillable, Sort
Description
Accumulated downtime (planned and unplanned), determined as follows:
• When only UptimeRecordStart is set, the sum of all downtime from
UptimeRecordStart
• When UptimeRecordStart and UptimeRecordEnd are set, the sum of all
downtime from UptimeRecordStart to UptimeRecordEnd
Otherwise, downtime isn’t accumulated.
SumUnplannedDowntime Type
double
Properties
Filter, Nillable, Sort
1059
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
Accumulated unplanned downtime, determined as follows:
• When only UptimeRecordStart is set, the sum of all unplanned downtime from
UptimeRecordStart
• When UptimeRecordStart and UptimeRecordEnd are set, the sum of all
unplanned downtime from UptimeRecordStart to UptimeRecordEnd
Otherwise, unplanned downtime isn’t accumulated.
TotalLifecycleAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The total amount of revenue for the asset, including revenue from each stage in the asset
lifecycle. This field is available when CPQ Plus, Salesforce Billing, or Subscription Management
is enabled.
UptimeRecordEnd Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date until which SumDowntime and SumUnplannedDowntime are accumulated.
UptimeRecordStart Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date from which SumDowntime and SumUnplannedDowntime are accumulated.
UsageEndDate Type
date
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Date when usage for this asset ends or expires.
Uuid Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
1060
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The unique ID for the asset. This field is available in API version 49.0 and later.
Usage
Use this object to track products sold to customers. With asset tracking, a client application can quickly determine which products were
previously sold or are currently installed at a specific account. You can also create hierarchies of up to 10,000 assets.
For example, suppose that your company wants to renew and upsell opportunities on products sold in the past. Similarly, your company
can track competitive products in a customer environment where products can be replaced or swapped out.
Asset tracking is also useful for product support, providing detailed information to assist with product-specific support issues. For example,
the PurchaseDate or SerialNumber can indicate whether a given product has certain maintenance requirements, including
product recalls. Similarly, the UsageEndDate can indicate when the asset was removed from service or when a license or warranty
expires.
If an application creates an Asset record, it must specify a Name and either an AccountId, ContactId, or both.
With REST API, use the getRelatedListInfo function to get information about related lists on the asset. Note that when requesting
information about PrimaryAssets, the response is labeled Related Assets, and the response for RelatedAssets is
labeled Primary Assets.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, those objects are available in the same API versions as
this object. Otherwise, they’re available in the specified API version and later.
AssetChangeEvent (API version 44.0)
Change events are available for the object.
AssetFeed
Feed tracking is available for the object.
AssetHistory
History is available for tracked fields of the object.
AssetOwnerSharingRule
Sharing rules are available for the object.
AssetShare
Sharing is available for the object.
AssetAction
Represents a change made to a lifecycle-managed asset. The fields can’t be edited. This object is available in API version 50.0 and later.
Supported Calls
describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search()
1061
Transaction Management Asset Lifecycle Standard Objects
Fields
Field Details
ActionDate Type
dateTime
Properties
Filter, Sort
Description
The date when an asset action change is recorded. This date can differ from the start date
of the related asset state period. For example, suppose that a customer cancels a subscription
in June, and the subscription expires in October. The date the customer cancels the
subscription (June) is the action date of the asset action. The cancellation's effective date
(October) is the start date of the asset state period.
ActualTaxChange Type
currency
Properties
Filter, Nillable, Sort
Description
The rollup of actual tax from all asset action sources. This field is populated by the system.
Label is Change in Actual Tax.
This field is a calculated field.
AdjustmentAmountChange Type
currency
Properties
Filter, Nillable, Sort
Description
The rollup of adjustment amount from all asset action sources. This field is populated by the
system. Label is Change in Adjustment Amount.
This field is a calculated field.
Amount Type
currency
Properties
Filter, Sort
Description
The delta in the total asset amount resulting from an asset action.
1062
Transaction Management Asset Lifecycle Standard Objects
Field Details
AssetActionNumber Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The ID of the asset action. Label is Name.
AssetId Type
reference
Properties
Filter, Group, Sort
Description
The ID of the related lifecycle-managed asset. Label is Asset.
This field is a relationship field.
Relationship Name
Asset
Relationship Type
Lookup
Refers To
Asset
Category Type
picklist
Properties
Filter, Group, Sort
Description
A category to apply to the asset action. In your layouts and reports, replace this optional
picklist with the required Business Category picklist. Label is Category. Available in API
version 55.0 and earlier.
Possible values are:
• Cancellations
• Cross-Sells
• Downsells
• Initial Sale
• Other
• Renewals
• Terms And Conditions Changes
• Transfers
• Upsells
1063
Transaction Management Asset Lifecycle Standard Objects
Field Details
CategoryEnum Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The business category of the asset action, for use in reporting. Asset action totals are broken
out by the picklist values on this required field, and those totals are in turn reflected on assets.
The following categories are available. They aren’t customizable. Label is Business Category.
Possible values are:
• Cancellations
• Cross-Sells
• Downsells
• Initial Sale
• Other
• Renewals
• Terms And Conditions Changes
• Transfers
• Upsells
EstimatedTaxChange Type
currency
Properties
Filter, Nillable, Sort
Description
The rollup of estimated tax from all asset action sources. This field is populated by the system.
Label is Change in Estimated Tax.
This field is a calculated field.
MrrChange Type
currency
Properties
Filter, Sort
Description
The delta in the asset’s monthly recurring revenue resulting from an asset action. For example,
suppose that the MRR during an asset state period is $200 and the next asset action adds
$100. Then this field’s value is $100. Label is Change in Monthly Recurring Revenue.
ProductAmountChange Type
currency
Properties
Filter, Nillable, Sort
1064
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The rollup of product amount from all asset action sources. This field is populated by the
system. Label is Change in Product Amount.
This field is a calculated field.
QuantityChange Type
double
Properties
Filter, Sort
Description
The delta in the asset quantity resulting from an asset action. For example, suppose that the
asset quantity during an asset state period is 20 and the next asset action adds 10. Then this
field’s value is 10. Label is Change in Quantity.
SubtotalChange Type
currency
Properties
Filter, Nillable, Sort
Description
The rollup of subtotal from all asset action sources. This field is populated by the system.
Label is Change in Subtotal.
This field is a calculated field.
TotalAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of the current and previous asset action amount. This field is populated by the
system.
This field is a calculated field.
TotalCancellationsAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Cancellations.
This field is populated by the system.
TotalCrossSellsAmount Type
currency
1065
Transaction Management Asset Lifecycle Standard Objects
Field Details
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Cross-Sells. This
field is populated by the system.
TotalDownsellsAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Downsells. This
field is populated by the system.
TotalInitialSaleAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Initial Sale.
This field is populated by the system.
TotalMrr Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of the monthly recurring revenue for the current and previous asset action. This
field is populated by the system. Label is Total Monthly Recurring Revenue.
TotalOtherAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Other. This field is
populated by the system.
TotalQuantity Type
double
Properties
Filter, Nillable, Sort
1066
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The sum of the changes in quantity for the current and previous asset action. This field is
populated by the system.
TotalRenewalsAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Renewals. This field
is populated by the system.
TotalTermsAndConditionsAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Terms and
Conditions Changes. This field is populated by the system. Label is Total Terms
and Conditions Changes Amount.
TotalTransfersAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Transfers. This
field is populated by the system.
TotalUpsellsAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of current and previous asset action amounts categorized as Upsells. This field
is populated by the system.
Type Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
1067
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The REST API used to generate the asset action. This field is populated by the system.
Possible values are:
• Cancel
• Change
• Generate
AssetActionSource
Represents an optional way to record what transactions caused changes to lifecycle-managed assets. Use it to trace financial and other
information about asset actions. This object supports Salesforce order products and work order line items, and transaction IDs from other
systems. The fields can’t be edited. This object is available in API version 50.0 and later.
Supported Calls
describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search()
Fields
Field Details
ActualTax Type
currency
Properties
Filter, Nillable, Sort
Description
The region-specific tax amount determined at time of the order.
AdjustmentAmount Type
currency
Properties
Filter, Nillable, Sort
Description
An adjustment to the product amount, such as a discount.
AssetActionId Type
reference
1068
Transaction Management Asset Lifecycle Standard Objects
Field Details
Properties
Filter, Group, Sort
Description
The related asset action, that is, the change caused by an asset action source transaction.
This field is a relationship field.
Relationship Name
AssetAction
Relationship Type
Lookup
Refers To
AssetAction
AssetActionSourceNumber Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The ID of the asset action source. Label is Name.
BillingReference Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the OrderItem or OrderItemDetail record that this AssetActionSource record is
created for.
Discount Type
percent
Properties
Filter, Group, Nillable, Sort
Description
The discount, expressed as a percentage, that's applied to the asset.
This field is available in API version 62.0 and later.
DiscountAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The discount, expressed as currency, that's applied to the asset.
1069
Transaction Management Asset Lifecycle Standard Objects
Field Details
This field is available in API version 62.0 and later.
EffectiveGrantDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date when the resources associated with the asset were granted.
This field is available in orgs that have Revenue Cloud when Rate Management is enabled.
This field is available in API version 62.0 and later.
EndDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The end date of the service or change.
EstimatedTax Type
currency
Properties
Filter, Nillable, Sort
Description
The estimate of the region-specific tax amount made at time of the transaction.
ExternalReference Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of an asset action source transaction originating in a system outside of Salesforce.
ExternalReferenceDataSource Type
string
Properties
Filter, Group, Nillable, Sort
Description
A system outside of Salesforce that contains asset action source transactions.
LegalEntityId Type
reference
1070
Transaction Management Asset Lifecycle Standard Objects
Field Details
Properties
Filter, Group, Nillable, Sort
Description
The ID of the legal entity record associated with the asset action source transaction.
This field is a relationship field.
This field is available in API version 62.0 and later.
Relationship Name
LegalEntity
Relationship Type
Lookup
Refers To
LegalEntity
ListPrice Type
currency
Properties
Filter, Nillable, Sort
Description
List price for the order product. Value is inherited from the associated PriceBookEntry upon
order product creation.
NetUnitPrice Type
currency
Properties
Filter, Nillable, Sort
Description
The final adjusted unit price, inclusive of all adjustments, but exclusive of tax. The unit price
after all price adjustments are applied.
ObligatedAmount Type
currency
Properties
Filter, Nillable, Sort
Description
When a line amount is prorated, this amount shows the service amount that’s been consumed.
PeriodBoundary Type
picklist
Properties
Filter, Nillable, Sort
1071
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
Boundary delimiters for periods. It determines when a period starts and/or ends. Enum:
anniversary, align to calendar, end of period, day of period.
PeriodBoundaryDay Type
int
Properties
Filter, Nillable, Sort
Description
The number specifying the day number when Period Boundary is a specific day in a
week/month/year. It only applies when PeriodBoundary is set to "day of period.”
PeriodBoundaryStartMonth Type
picklist
Properties
Filter, Nillable, Sort
Description
Field is populated based on input in the StartDate, PeriodBoundary, and PeriodBoundaryDay
when BillingFrequency2 is Annual or by manual user entry. Possible values are:
1-January
2-February
3-March
4-April
5-May
6-June
7-July
8-August
9-September
10-October
11-November
12-December
PricebookEntryId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
PricebookEntry is used as a lookup for price information in order to pre-populate OrderItem's
ListPrice and UnitPrice.
1072
Transaction Management Asset Lifecycle Standard Objects
Field Details
PricingTermCount Type
double
Properties
Filter, Nillable, Sort
Description
Number of pricing terms is this subscription product.
ProductAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The product amount after the asset action source transaction.
ProductSellingModelId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Specifies the product selling model type. Foreignkey to ProductSellingModel entity.
ProrationPolicyId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The Id of the ProrationPolicy.
Quantity Type
double
Properties
Filter, Nillable, Sort
Description
The product quantity or the change in product quantity after the asset action source
transaction.
ReferenceEntityItemId Type
reference
Properties
Filter, Group, Nillable, Sort
1073
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The ID of an asset action source transaction originating in Salesforce. The transaction can be
an order product or a work order line item.
This field is a polymorphic relationship field.
Relationship Name
ReferenceEntityItem
Relationship Type
Lookup
Refers To
OrderItem, WorkOrderLineItem
SegmentIdentifier Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the ramp segment associated with the asset action source transaction.
This field is available in API version 62.0 and later.
StartDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The start date of the service or change.
Subtotal Type
currency
Properties
Filter, Nillable, Sort
Description
The sum of the product amount and the adjustment amount.
This field is a calculated field.
TaxTreatmentId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Lookup to Tax Treatment entity. It's used to calculate tax.
1074
Transaction Management Asset Lifecycle Standard Objects
Field Details
TotalPrice Type
currency
Properties
Filter, Nillable, Sort
Description
Calculated by the pricing engine for ARC. Summation of TotalAdjustmentAmount plus
TotalLineAmount for this item.
TotalLineAmount Type
currency
Properties
Filter, Nillable, Sort
Description
The price of the line before any price adjustments were applied. SalesTransactionItem:
ProratedStartingTotal / StartingPriceTotal. Note: TotalPrice is computed using the UnitPrice,
which includes discounts (price adjustments), while TotalLineAmount doesn’t include price
adjustments.
TransactionDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The date of a source transaction, such as an order date.
UnitPrice Type
currency
Properties
Filter, Nillable, Sort
Description
The unit price of the item before any discounts or tax calculation.
AssetAttribute
Stores asset attributes to track and analyze asset conditions to improve their uptime. This object is available in API version 57.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), query(), update(), upsert()
1075
Transaction Management Asset Lifecycle Standard Objects
Fields
Field Details
AssetId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the asset.
This field is a relationship field.
Relationship Name
Asset
Relationship Type
Lookup
Refers To
Asset
AttributeDefinitionId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the attribute definition for this asset attribute.
This field is a relationship field.
Relationship Name
AttributeDefinition
Relationship Type
Lookup
Refers To
AttributeDefinition
AttributeName Type
string
Properties
Filter, Group, Sort
Description
The name given to the asset attribute in the UI by the user.
AttributePicklistValueId Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
1076
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The ID of the attribute picklist value if the attribute is a picklist type.
This field is a relationship field.
Relationship Name
AttributePicklistValue
Relationship Type
Lookup
Refers To
AttributePicklistValue
AttributeValue Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Stores the value of an asset attribute, for example 5-TB storage .
ExternalId Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
An auto-generated ID of the attribute record saved in an external system (for example an
HBase database).
Usage
Add asset descriptors to the AssetAttribute object instead of creating multiple custom attributes on an asset. This helps scale to a high
asset volume in the system.
AssetContractRelationship
Represents a relationship between an asset and a contract. This object is available in API version 60.0 and later.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), update(), upsert()
1077
Transaction Management Asset Lifecycle Standard Objects
Fields
Field Details
AssetId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the asset related to the contract.
This field is a relationship field.
Relationship Name
Asset
Relationship Type
Lookup
Refers To
Asset
ContractId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the contract related to the asset.
This field is a relationship field.
Relationship Name
Contract
Relationship Type
Lookup
Refers To
Contract
EndDate Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The end date and time of the relationship between contract and asset.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
1078
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The timestamp when the current user last accessed this record, a record related to this record,
or a list view. The associated UI label is Last Modified Date.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last viewed this record or list view. If this value is null,
the user accessed this record or list view (LastReferencedDate) but didn’t view it.
Name Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The auto-generated number assigned to AssetContractRelationship. (Read Only)
StartDate Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The start date and time of the relationship between contract and asset.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
AssetContractRelationshipFeed
Feed tracking is available for the object.
AssetContractRelationshipHistory
History is available for tracked fields of the object.
AssetDowntimePeriod
Represents a period during which an asset is not able to perform as expected. Downtime periods include planned activities, such as
maintenance, and unplanned events, such as mechanical breakdown. This object is available in API version 49.0 and later.
1079
Transaction Management Asset Lifecycle Standard Objects
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
Fields
Field Details
AssetDowntimePeriodNumber Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
The unique number of this asset downtime period record.
AssetId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the asset this asset downtime period record is for.
Description Type
textarea
Properties
Create, Nillable, Update
Description
The description of this asset downtime period.
DowntimeType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The type of this asset downtime period. Possible values are:
• Planned
• Unplanned
EndTime Type
dateTime
Properties
Create, Filter, Sort, Update
1080
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The time this asset downtime period ended.
IsExcluded Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Whether this asset downtime period is excluded from the calculation of accumulated
downtime and accumulated unplanned downtime, and therefore not included in availability
and reliability calculations.
LastReferencedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
LastViewedDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, this
record might only have been referenced (LastReferencedDate) and not viewed.
StartTime Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The time this asset downtime period started.
AssetOwnerSharingRule
Represents the rules for sharing an Asset with users other than the owner. This object is available in API version 33.0 and later.
Note: To enable access to this object for your org, contact Salesforce customer support. However, we recommend that you
instead use Metadata API to programmatically update owner sharing rules because it triggers automatic sharing rule recalculation.
The SharingRules Metadata API type is enabled for all orgs.
1081
Transaction Management Asset Lifecycle Standard Objects
Supported Calls
create(), delete(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), update(),
upsert()
Fields
Field Details
AssetAccessLevel Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
A value that represents the type of sharing being allowed. The possible values are:
• Read
• Edit
Description Type
textarea
Properties
Create, Filter, Nillable, Sort, Update
Description
A description of the sharing rule. Maximum size is 1000 characters.
DeveloperName Type
string
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. This name can contain only underscores
and alphanumeric characters, and must be unique in your org. It must begin with a
letter, not include spaces, not end with an underscore, and not contain two
consecutive underscores. In managed packages, this field prevents naming conflicts
on package installations. With this field, a developer can change the object’s name
in a managed package and the changes are reflected in a subscriber’s organization.
Corresponds to Rule Name in the user interface.
1082
Transaction Management Asset Lifecycle Standard Objects
Field Details
GroupId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID representing the source group. Cases owned by users in the source group
trigger the rule to give access.
Name Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label of the sharing rule as it appears in the user interface. Limited to 80 characters.
Corresponds to Label on the user interface.
UserOrGroupId Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID representing the target user or group. Target users or groups are given access.
Usage
Use this object to manage the sharing rules for assets. General sharing uses this object.
AssetRelationship
Represents a non-hierarchical relationship between assets due to an asset modification; for example, a replacement, upgrade, or other
circumstance. In Subscription Management and Revenue Lifecycle Management, this object represents an asset or assets grouped in a
bundle or set. This object is available in API version 41.0 and later.
Asset relationships appear in the Primary Assets and Related Assets related lists on asset records in the UI.
Supported Calls
create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(),
retrieve(), search(), undelete(), update(), upsert()
1083
Transaction Management Asset Lifecycle Standard Objects
Fields
AssetRelationshipNumber Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
Description
An auto-generated number identifying the asset relationship.
AssetRole Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Describes the position of the main asset relative to the other assets in the
relationship.
This field is available in API version 58.0 and later. This field is available in orgs
with Subscription Management or Revenue Cloud.
Possible values are:
• Add-on—The main asset is an add-on.
• Bundle—The main asset is the bundle parent.
• Set—The asset is the main asset in the set.
CurrencyIsoCode Type
picklist
1084
Transaction Management Asset Lifecycle Standard Objects
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Three-letter ISO 4217 currency code associated with the asset. The default value
is USD.
FromDate Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date when the new asset was installed.
GroupingKey Type
string
Properties
Filter, Group, idLookup, Nillable, Sort
Description
Read-only field used to indicate the bundle that an asset belongs to. For example,
if two assets have the same GroupingKey value, then it means that the assets are
bundled together.
This field is available in API v.60.0 and later. This field is available in orgs with
Subscription Management or Revenue Cloud.
ProductRelationshipTypeId Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The unique identifier of the record that describes the relationship between the
main and associated assets.
This field is available in API version 58.0 and later. This field is available in orgs
with Subscription Management.
This field is a relationship field.
Relationship Name
ProductRelationshipType
Relationship Type
Lookup
Refers To
ProductRelationshipType
1085
Transaction Management Asset Lifecycle Standard Objects
RelatedAssetId Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The existing asset that is being modified.
This field is a relationship field.
Relationship Name
RelatedAsset
Relationship Type
Lookup
Refers To
Asset
RelatedAssetPricing Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies whether the price of the related asset is included in the bundle price.
Valid values are:
• IncludedInBundlePrice
• NotIncludedInBundlePrice
This field is available in API version 59.0 and later in Revenue Cloud.
1086
Transaction Management Asset Lifecycle Standard Objects
RelatedAssetRole Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Describes the position of the associated asset relative to other assets in the
relationship.
This field is available in API version 58.0 and later. This field is available in orgs
with Subscription Management or Revenue Cloud.
Valid values are:
• Add-on—The main asset is an add-on.
• Bundle—The main asset is the bundle parent.
• Set—The asset is the main asset in the set.
• Simple—The asset is purchased individually and isn’t associated with
variations.
• Variation Parent——The main asset is the variation parent.
RelationshipType Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Sort, Update
Description
The type of relationship between the existing asset and the new asset. This field
comes with three values—Replacement, Upgrade, and Crossgrade—, but you
can create more values in Setup.
Possible values are:
• Crossgrade—The new asset is a crossgrade of an existing asset. For
example, changing a subscription to a plan with the same service, but that
runs for a longer amount of time.
1087
Transaction Management Asset Lifecycle Standard Objects
ToDate Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date when the modified asset is uninstalled.
Associated Objects
This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object.
Otherwise, they’re available in the specified API version and later.
AssetRelationshipChangeEvent (Available in API version 58.0)
Change events are available for the object.
AssetRelationshipFeed
Feed tracking is available for the object.
AssetRelationshipHistory
History is available for tracked fields of the object.
AssetRelationshipOwnerSharingRule (Available in API version 58.0)
Sharing rules are available for the object.
AssetRelationshipShare (Available in API version 58.0)
Sharing is available for the object.
AssetShare
Represents a sharing entry on an Asset. This object is available in API version 33.0 and later.
You can only create, edit, and delete sharing entries for standard objects whose RowCause field is set to Manual. Sharing entries
for standard objects with different RowCause values are created as a result of your Salesforce org’s sharing configuration and are
read-only. For some sharing mechanisms, such as sharing sets, sharing entries aren’t stored at all.
Note: While Salesforce currently maintains read-only sharing entries for multiple sharing mechanisms, it’s possible that we’ll stop
storing certain share records to improve performance. As a best practice, don’t create customizations that rely on the availability
of these sharing entries. Any changes to sharing behavior will be communicated before they occur.
1088
Transaction Management Asset Lifecycle Standard Objects
Supported Calls
describeSObjects(), query(), retrieve()
Fields
The properties available for some fields depend on the default organization-wide sharing settings. The properties listed are true for the
default settings of such fields.
Field Details
AssetAccessLevel Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Level of access that the User or Group has to the Asset. The possible values are:
• Read
• Edit
• All This value is not valid for creating or deleting records.
This field must be set to an access level that is higher than the organization’s default access
level for cases.
AssetId Type
reference
Properties
Filter, Group, Sort
Description
ID of the Asset associated with this sharing entry. This field can't be updated.
This is a relationship field.
Relationship Name
Asset
Relationship Type
Lookup
Refers To
Asset
IsDeleted Type
boolean
Properties
Defaulted on create, Filter
1089
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
Indicates whether the object has been moved to the Recycle Bin (true) or not (false).
Label is Deleted.
RowCause Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Reason that this sharing entry exists. If you’re creating a sharing entry, the only permitted
value is Manual. If no value is specified, the field defaults to Manual. All other RowCause
values are read-only. After the sharing entry is created, this field can’t be edited.
Valid values include:
• Manual—The User or Group has access because a user with “All” access manually
shared the Asset with them.
• Owner—The User is the owner of the Asset.
• Rule—The User or Group has access via an Asset sharing rule.
• GuestRule—The User or Group has access via an Asset guest user sharing rule.
• LpuImplicit—The User has access to records owned by high-volume Experience
Cloud site users via a share group.
UserOrGroupId Type
reference
Properties
Filter, Group, Sort
Description
ID of the User or Group that has been given access to the Asset. This field can't be updated.
This is a polymorphic relationship field.
Relationship Name
UserOrGroup
Relationship Type
Lookup
Refers To
Group, User
Usage
This object allows you to determine which users and groups can view and edit Asset records owned by other users.
If you attempt to create a new record that matches an existing record, request updates any modified fields and returns the existing
record.
1090
Transaction Management Asset Lifecycle Standard Objects
AssetStatePeriod
Represents a time span when an asset has the same quantity, amount, and monthly recurring revenue (MRR). An asset has as many asset
state periods as there are changes to it (asset actions) during its lifecycle. The dashboard and related pages show the current asset state
period. The fields can’t be edited. This object is available in API version 50.0 and later.
Supported Calls
describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search()
Fields
Field Details
Amount Type
currency
Properties
Filter, Sort
Description
An asset’s total amount during an asset state period.
AssetId Type
reference
Properties
Filter, Group, Sort
Description
The asset related to an asset state period. Label is Asset.
This field is a relationship field.
Relationship Name
Asset
Relationship Type
Lookup
Refers To
Asset
AssetStatePeriodNumber Type
string
Properties
Autonumber, Defaulted on create, Filter, idLookup, Sort
1091
Transaction Management Asset Lifecycle Standard Objects
Field Details
Description
The ID of the asset state period. Label is Name.
EndDate Type
dateTime
Properties
Filter, Nillable, Sort
Description
The end date and time of an asset state period. On an asset that is an evergreen subscription,
the last asset state period has no end date.
Mrr Type
currency
Properties
Filter, Sort
Description
An asset’s monthly recurring revenue during an asset state period.
Quantity Type
double
Properties
Filter, Sort
Description
The total quantity of an asset during an asset state period.
RampIdentifier Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ramp record used to group order item segments for this asset state period.
This field is available in orgs that have Revenue Cloud when the Ramp Deals setting is enabled.
This field is available in API version 62.0 and later.
SegmentIdentifier Type
string
Properties
Filter, Group, Nillable, Sort
Description
The order item segment for this asset state period.
This field is available in orgs that have Revenue Cloud when the Ramp Deals setting is enabled.
1092
Transaction Management Asset Lifecycle Standard Objects
Field Details
This field is available in API version 62.0 and later.
SegmentName Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the order item segment for this asset state period.
This field is available in orgs that have Revenue Cloud when the Ramp Deals setting is enabled.
This field is available in API version 62.0 and later.
SegmentType Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The period for the order item segment for this asset state period. Valid values are:
• Custom
• Free Trial
• Yearly
The default value is Yearly.
This field is available in orgs that have Revenue Cloud when the Ramp Deals setting is enabled.
This field is available in API version 62.0 and later.
StartDate Type
dateTime
Properties