You are here:
Implementations Reference
Implementations are Apex classes that implement interfaces. Implementation descriptions include the implemented interface, other implementations of the same interface, and often sample code. Some implementation descriptions include the type, signature, methods, input parameters, and output parameters. For implementation descriptions that don't, see the interface descriptions.
- AccountContextParser
Handles evaluation of an account context map by merging all the individual context keys. - AccountTypeProductEligibilityImplementation
AccountTypeProductEligibilityImplementation looks up the Account service-level agreement (SLA) and record type associated with an opportunity, order, or quote and checks them against the Product Eligibility related list. Eligibility rules are defined as exceptions—they are exclusions instead of inclusions. - AddressValidatorImpl
Returns a list of counties when a list of addresses are provided. The Validate method calls to SmartyStreets to validate whether the address passed in is valid and if it is valid, return the county to which this address belongs. - ApplicationScreeningBaseImpl
Calls validation on an application and populates the screening result and summary on the Application object. - AssetsContextParser
Handles evaluation of an asset context map by merging all the individual context keys. - AvailabilityFlowOpenImplementation
The AvailabilityFlowOpenImplementation uses the Availability Rules flow to evaluate defined availability rules. The method getAllAvailabilityProducts returns all products with the reasons for availability or unavailability. The AvailabilityFlowOpenImplementation and availability rules flow are included in the unmanaged package. - AvailabilityRulesFlowImplementation
The AvailabilityRulesFlowImplementation runs the active availability rules that are defined in the Availability Rules flow. The AvailabilityRulesFlowImplementation and the Availability Rules flow are included in the unmanaged package. - CacheableFDOImplementation
Create and cache baskets during an asset-to-basket operation for use with Digital Commerce (Cacheable) APIs. CacheableFDOImplementation implements CacheableFDOInterface, which implements VlocityOpenInterface. - CalculateUnitPriceImplementation
The CalculateUnitPriceImplementation calculates and updates the unit price for a set of line items based on the number of contracted months, which is passed in (NumberOfContractedMonths). The unit price (UnitPrice) drives the rollup to the opportunity amount (Opportunity.Amount), which drives the forecast amount, especially for customizable forecasts. - CardCanvasController
The CardCanvasController implementation provides the Vlocity Cards framework and applications leveraging it with all of the methods required to perform any necessary operations within the Vlocity application. - ContextDimensionMapper
Bridges service between Cart-Based and Digital Commerce context rules. Supports multiple scope evaluation for context rules. - ContextEligibilityBatchJobRecord
Runs the EcomDataProfileGenerator and RuleSetCombinationGenerator batch jobs and populates the cache with the results: eligible offers for individual context combinations. - ContextInputParser
Acts as a bridge between a context parser (which usually generates a context map) and a context key generator. Using this interface, users can write hook extensions for context parsers. - ContractContextParser
Handles evaluation of a contract context map by merging all the individual context keys. - CPQCartCheckoutMessagesImpl Class
Allows you to customize the checkout experience by providing a way to override the various checkout-related flags and messages. - CPQCartCheckoutMessagesImpl:canCheckOutMessages Method
Allows you to customize the checkout experience by providing a way to override the various checkout-related flags and messages. This method returns the list of messages along with the Boolean value for each message. - CPQSubmitFlowImplementation
CPQSubmitFlowImplementation creates a quote, order, or asset based on the input object ID and action. CPQSubmitFlow executes a CPQSubmit action, which relies on the implementation defined for the ObjectCopierInterfaceObjectCopierInterface to copy and create the new objects. - CreateAsset
CreateAsset is a virtual class that creates an order with the listed account ID. - CreateOrder
CreateOrder is a virtual class that creates orders and order line items from the associated quotes and quote line items. The new order is associated with the account ID in the associated quote. - CreateQuote
CreateQuote is a virtual class that creates quotes and quote line items from the associated opportunity and opportunity line items. - CtxRulesPriceElementsOpenImplementation
The CtxRulesPriceElementsOpenImplementation gets the qualified pricing elements based on the current context and the rule sets defined for a set of pricing elements. - CtxRulesPriceListsOpenImplementation
The CtxRulesPriceListsOpenImplementation get the qualified price lists based on the current context and the rule sets defined for a set of price lists. - CtxRulesProductsOpenImplementation
Gets the qualified products based on the current context and the rule sets defined for a set of products. - CtxRulesPromotionsOpenImplementation
Gets the qualified promotions based on the current context and the rule sets defined for a set of promotions. - CustomPricingPlanStepImplementation
Given a set of line items and attributes, use the pricing matrix to determine their prices. Called using VlocityOpenInterface. - DataProfileBatchJobRecord
Generates Products, Promotions, and PCIMap data for existing products related to each catalog. - DefaultABOAssetImplementation
Updates an existing asset based on AssetReferenceId__c. - DefaultAddPricebookEntryImplementation
Adds necessary price book entry values when they are null for the product. It is used especially for bundled children. - DefaultApprovalProcessImplementation
Submits one or more discount records for approval through Salesforce's approval process. If a record’s submission to the approval process fails, the record is auto-approved, which sets the ApprovalStatus to Approved. If the approval is successful, the ApprovalStatus is set to Pending. - DefaultApprovalStatusImplementation
If the Cart Level Discount Approval Required CPQ configuration settingCPQ Configuration Settings Reference is set to true, new or edited discount records have an ApprovalStatus value of Not Submitted. Discount records must be submitted to the approval process. - DefaultAssetFilterImplementation
Provides filters for assets retrieved for an account. - DefaultAvailabilityOpenImplementation
The DefaultAvailabilityOpenImplementation provides availability in a loosely typed interface. The DefaultAvailabilityOpenImplementation is nonoperative; it returns the input as output without modification. This default implementation returns the list of Price Book Entry values that was passed in the inputMap. Each output entry is enclosed in an ItemWrapper object using the itemWrapperList parameter outputMap. Availability messages are not associated with the items because availability rulesAvailability and Eligibility Rules are not evaluated. - DefaultBundleContextImplementation
Converts each product, promotion, or offer within a given bundle into optimized hash keys and returns a list of hash keys for the entire bundle. - DefaultCalculateUnitPriceImplementation
The DefaultCalculateUnitPriceImplementation is nonoperative; it returns input as output without modification. - DefaultCartContextImplementation
Returns the input as output without modification (nonoperative) to provide cart context in a loosely typed interface. - DefaultCatalogsOpenImplementation
DefaultCatalogsOpenImplementation currently has one method—getChildCatalogIds—that gets all the child catalog IDs of a parent catalog ID. This default implementation gets all child catalogs that have a Catalogrelatonship__c with the given parent catalog. You may want to modify the set of child catalogs that is returned, such as filtering out catalogs with zero products, or filtering based on other variables. - DefaultCloneFieldListImplementation
Generates the field list that a subsequent clone call uses. It uses getDescribe to get all fields in the object. - DefaultContractRenewalProcess
Creates opportunity, order, and quote line items based on the AutoRenewObjectCreation__c configuration. - DefaultContractRenewalQuery
Gets a list of contracts ready for renewal. - DefaultContractSignatureRequiredImpl
Requires that all contract documents are signed if the template the contract uses requires a signature. - DefaultCPQSubmitFlowImplementation
DefaultCPQSubmitFlowImplementation is nonoperative. It does not invoke the CPQ Flow. It provides a code example. - DefaultDiscountActivationImplementation
Activates cart-added discounts on checkout, activation of a Frame Contract, or both. Changes the value of the discount’s Status__c field to Activated. - DefaultEffectiveAssetImplementation
Provides a way to filter disconnected assets based on any field to indicate the disconnected assets and the disconnected dates. - DefaultEligibilityContextImplementation
Returns the input as output without modification (nonoperative) to provide context eligibility in a loosely typed interface. - DefaultEligibilityOpenImplementation
Provides product eligibility in a loosely typed interface. - DefaultGetConditionalTemplateSections
Pulls conditional sections based on the products in contract line items and pulls in all non-conditional sections. - DefaultGetContractTemplateNameImpl
Checks if the Contract Type AutoGenerateDocOnContractCreation option is true. If AutoGenerateDocOnContractCreation is true, the implementation gets the DefaultTemplateName from the contract type to use. The template must have an active version to use. - DefaultGetContractTermImplementation
The DefaultGetContractTermImplementation does not assign any contract terms. - DefaultGetDocTemplateNameImplementation
Reads the PDF Template Name custom setting to get the template name for the opportunity, order, or quote PDF generation. - DefaultGetFrameContractWhereClause
Gets the list of contracts for a specified date range and Account. - DefaultGetItemsImplementation
When a contract is created for an opportunity, order, or quote, the line items are copied to contract line items. The DefaultGetItemsImplmplementation copies all opportunity, order, or quote line items to contract line items. - DefaultGetPriceAdjDetailsImplementation
The DefaultGetPriceAdjDetailsImplementation provides a way to get all the price adjustments applied on any line item. It also provides a way to get these details through various filters, such as line item type, adjustment type, status of promotion, monthly recurring charge for a specific period, and so on. - DefaultGetProductListImplementation
The DefaultGetProductListImplementation gets up to 10,000 products to choose as conditions for template sections. - DefaultGetTemplateListImplementation
Gets a list of templates including active document templates that are applicable to a contract. - DefaultGetUpdateContractListImpl
Gets a list of contracts in draft status that are not customized. - DefaultIsContractDocumentEditableImpl
Change contracts if the contract status is draft and the contract document status is active. Users can switch the template, remove the template, and customize the document. - DefaultMarginRangeLoaderImplementation
Default implementation for loading margin range data from a calculation procedure and returning the data in an output map. - DefaultMarginValidationImplementation
Default implementation for loading margin range data from a calculation procedure and returning the data in an output map. - DefaultMSApplyToGroupImpl Class
Provides a way to customize the experience of the multi-site ApplyToGroup process. - MSApplyToGroupInterface:shouldCopyDiscounts Method
Determines whether a discount should be copied for each member of a group. - MSApplyToGroupInterface:shouldRegenerateRefNums Method
Determines whether a discount reference number should be regenerated or copied over. - DefaultObjectCopierImplementation
Copies over objects and their children. The input is a parentItemId and an action that must be taken on the parentItemId. It returns an ObjectCopier object that has thenewObjectIdand the copy status. - DefaultOdinAttributeFormatterImpl Class
Formats an input attribute value and returns the formatted value in an output map. - DefaultOdinFormatterImpl:getFormattedAttributeValue Method
Formats an input attribute value and returns the formatted value in an output map. - DefaultOdinNotifFldFormatImplementation Class
Formats the field values passed in the notification map from Vlocity Order Management with updateMethod specified as directfieldupdate. - DefaultOdinNotifFldFormatImplementation:getFormattedFieldValue Method
Gets the formatted value of the field in the required data type. - DefaultOpptyScheduleImplementation
Creates the number of rows specified in the Opportunity.NumberOfContractedMonths. The value in the first month is the one time total for the line item plus the monthly recurring total. For subsequent months, the value is the monthly recurring total. - DefaultPremisesImplementation
Return a list of premises. The default record limit is 1,000. - DefaultPricebookDefaultImplementation
Defines a default price book ID. - DefaultPricingImplementation
Prices the line items in the object (Opportunity, Quote, or Order). - DefaultPricingPlanImplementation
Implements the pricing steps in the default pricing plan. The following sequence of steps is executed by this default implementation. - DefaultProdCatalogInfoOpenImplementation
This default implementation gets the catalog hierarchy JSON data that is stored in the Product2 table in field Product2.CategoryData__c. You can change this to get catalog data from another cache if necessary. - DefaultProductAvailabilityImplementation
The DefaultProductAvailabilityImplementation handles product availability by returning different outputs depending on the presence of PriceBookEntry (PBE) records in the input. - DefaultProductContextRulesImplementation
Get the qualified products based on the current context and the rule sets defined for a set of products. This implementation returns the disqualified list as well. - DefaultProductDefinitionImplementation
Used for all create, replace, update, and delete actions on each line item for an Opportunity, Order, and Quote. - DefaultProductEligibilityImplementation
The DefaultProductEligibilityImplementation handles product eligibility by returning different outputs based on the presence of PriceBookEntry (PBE) records in the input. - DefaultProductValidationImplementation
The DefaultProductValidationImplementation is nonoperative. It returns the input as output without modification. - DefaultProductValidationServiceImpl
Validate product attributes. - DefaultPromotionExpirationImplementation
Process expiring promotions for manual opt-in and follow-on promotions. Used by the PromotionExpirationBatch class. The qualifiedPromos parameter is required and must be specified as a list of AccountAppliedPromotion__c objects. - DefaultRepricingImplementation
Default implementation, does not reprice line items. - DefaultResolveRefDateImplementation Class
Fetches the reference date at runtime with respect to a specified order, opportunity, quote, or line item. The reference date determines the correct version of products to be referenced from the cart. - DefaultResolveRefDateImplementation:getReferenceDate Method
Fetches the reference date at runtime with respect to a specified order, opportunity, quote, or line item. The reference date determines the correct version of products to be referenced from the cart. - DefaultRESTCPQInterfaceImplementation
The DefaultRESTCPQInterfaceImplementation is nonoperative. It returns the input as output without modification. - DefaultSplitProductImplementation
Split a line item with a quantity greater than one into individual line items. This implementation is necessary to separately configure each instance of the line item. - DefaultTimePolicyImplementation
Calculate start and end dates for certain records based on the context and input. For example, when adding a promotion to an order, this implementation calculates and sets the start date and end date for all order applied promotion and order pricing adjustment records according to the Time Policy and Time Plan that were set on the promotion. - DefaultTrxnCtxImplementation
Expose Digital Commerce API transaction data so users can reuse existing objects in the current transaction. - DefaultValidateAddressImplementation
The DefaultValidateAddressImplementation is an empty implementation that returns the value true. - EligibilityFlowOpenImplementation
The EligibilityFlowOpenImplementation uses the Eligibility Rules flow, which executes defined eligibility rules. The method getAllEligibilityProducts returns all products with the reasons for eligibility or ineligibility. The EligibilityFlowOpenImplementation and the Eligibility Rules flow are included in the unmanaged package. - EligibilityMatrixFlowImplementation
The EligibilityMatrixFlowImplementation calls the Eligibility Matrix flow, which executes defined eligibility rules. The EligibilityMatrixFlowImplementation and the Eligibility Matrix flow are part of the unmanaged package. To use the EligibilityMatrixFlowImplementation, the Eligibility Matrix flow must exist in the org. - EligibilityRulesFlowImplementation
Filter products based on eligibility rules. It invokes the Eligibility Rules flow, which has rule actions that invoke eligibility rules. The EligibilityRulesFlowImplementation and the Eligibility Rules flow are included in the unmanaged package. To use the EligibilityRulesFlowImplementation, the Eligibility Rules flow must exist in the org. - EntityFilterSupport
Run a set of Vlocity entity filters against a set of objects. - ExternalUserSelfRegistration
Facilitates creating a new external user using OmniScript. This implementation calls Site.CreateExternalUser with information passed in. It is then called within OmniScript through a remote action. The user ID, account ID, and contact ID are created and written to the output map. This information can be used in later steps. There are two optional remote options: - FilterAvailabilityImplementation
Runs all active availability rules for the header object type. Price book entries are passed to the availability rules that correspond to the header object—Opportunity, Order, or Quote. The availability rules determine whether products are available to the user. For more information about availability rules, see Availability and Eligibility RulesAvailability and Eligibility Rules. - FilterEligibilityImplementation
Run all active eligibility rules for the header object type. Price book entries are passed to the eligibility rules that correspond to the header object—Opportunity, Order, or Quote. The eligibility rules determine whether products are displayed to the user. For more information about eligibility rules, see Availability and Eligibility RulesAvailability and Eligibility Rules. - GetNBARecommendations Method
A method of the IndustryNBA class used to integrate with Einstein Strategies and Next Best Actions. The method returns NBA Recommendations as a flat JSON structure. - GetObjectFromInteraction Class
Get Account and Contact information from the Customer Interaction record and return it as a flat JSON structure. - GetObjectIdFromInteractionObject Method
A method of the GetObjectFromInteraction class that gets Account and Contact information from the Customer Interaction record, the GetObjectIdFromInteractionObject returns the information as a flat JSON structure. - GetOfferDetailsBatchJobRecord
Populate the cache with the details of individual offers (both products and promotions). - GetOffersBatchJobRecord
Populate the cache with the list of offers for individual context combinations. - GetOffersHierarchyBatchJobRecord
Populate the cache with the hierarchy of bundles. This data is used in the GetOfferDetails job. - GetPriceAdjustments
Retrieves all price adjustments. - GetPricesBatchJobRecord
Populate the cache with the prices of products. - GetRelatedOffersBatchJobRecord
Populate the cache with the parent offers for individual offers. - GroupContextParser
Handle evaluation of a group context map by merging all the individual context keys. - IndustryNBA Class
Use to integrate with Einstein Strategies and Next Best Actions. - JSONAttributeSupport
JSONAttributeSupport is a service implementation that enables users to apply multiple types of actions to the attributes JSON string. - JSONAttributeSupport (v2 Schema)
JSONAttributeSupport is a service implementation that enables users to apply multiple types of actions to the attributes JSON string. This page details the implementation if you've enabled the upgraded v2 schema. The upgraded attribute schema provides multiple performance and storage enhancements. For example, the new schema extracts values from the vlocity_cmt__JSONAttribute__c field into separate fields: Metadata components, default runtime values, and metadata changes. - LocaleProductAvailability
Filters line items based on the account postal code and state. When a list of products is passed in, the LocaleProductAvailability implementation checks the postal code and state entries against the Products Not Available related list. Availability rules are defined as exceptions—they are exclusions instead of inclusions. - MemberObjectSelector Class
Supports writing custom query logic for different member types that are configured in the MultiSite Group Management UI. The default implementation reads the field values configured in CPQ Group Member Type records and uses that to query for member records. - MemberObjectSelector:getMemberObjects Method
Supports the custom grouping of multi-service point members. Gets a list of member objects and the total number of records. - OdinAPIAutoAssetizeHandler
OdinAPIAutoAssetizeHandler is the default implementation supported by the OdinAPIHandler interface. It will always assetize a submitted order and can be used for CPQ testing. - OdinStandardAPIHandler
OdinStandardAPIHandler is one of the implementations supported by the OdinAPIHandler interface. It helps to manage the synchronous communication between CPQ and the order management system. It is used in the following Cart-Based APIs: - OmniCPQServiceWrapper
The OmniCPQServiceWrapper implementation is a class for OmniScript that supports named methods used in guided selling. The createOrder method expects an account ID, order ID, or context ID as input. The context ID is either an account ID or an order ID. The other methods work on the order ID in the input. - OmniFDOWrapper
The OmniFDOWrapper implementation implements the change to order, or asset to order, process. - PricingComponentSelector
Query for associated Opportunity, Quote, Order, or Account Pricing records related to the cart line items or asset records. These records adjust the base price based on effectivity dates during pricing or repricing. - PricingElementServiceImplementation
Uses pricing element pricing capabilities to retrieve the charges and adjustments for products in an opportunity, order, or quote from price lists administered in the Vlocity Product Console. PricingElementServiceImplementation also calculates price adjustments based on promotions also defined in Vlocity Product Console. - PricingInitialization
The PricingInitialization implementation is a wrapper class that calls the default pricing implementation through the custom action in flows. - PricingRulesFlowImplementation
Calls the Pricing Rules flow to price line items. The Pricing Rules flow includes custom rule actions that invoke defined pricing rules. Pricing rules may, in turn, invoke classes or calculation procedures that set prices on the line items of the parent sObject passed into the flow. - PricingRulesImplementation
Runs all of the active rules for the line item type after running the default pricing implementation. The pricing rules include actions that could invoke classes or calculation procedures that set prices on line items of the parent sObject passed into the implementation. - ProductRelationshipValidationImpl
Validates line items based on defined product relationships. The implementation checks for required or excluded products when a product is added to the list of line items. - RepricingElementServiceImplementation
Reprice line items based on the Price list entry that is attached to the product or promotion. - RESTCPQChanger
Builds the command structure from the REST request, which is in JSON format. From the command structure, the system can get the command that is used in RESTResource. - RetireABOAssetImplementation
Change the provisioning status of the existing asset to Retired and creates a new asset with the Active provisioning status. - RuleSetCombinationBatchJobRecord
Generate RuleSet context combinations. The batch size is one or more and depends on the average number of rules in each ruleset. - RuleSupport
Run a set of rules against a set of objects. These objects are defined in the flowMap parameter. - SyncToOpportunity
Synchronize the line items of a quote to its parent opportunity, deleting existing opportunity line items and copying existing quote line items. - UserContextParser
Handle evaluation of a user context map by merging all the individual context keys. - UserNotifier Implementation
Abstracts the notification framework used when sending notifications. You can invoke this implementation to send job completion or alert notification to the users. - ValidateAddressImplementation
Use the Google Maps API to validate passed addresses. - ValidationRulesFlowImplementation
Run the active compatibility rules that are defined in the Validation Rules flow. The flow includes rule actions that invoke compatibility rules. The ValidationRulesFlowImplementation and the Validation Rules flow are included in the managed package. - ValidationRulesImplementation
ValidationRulesImplementation runs all active compatibility rulesCompatibility Rules for the object type in the item list. - VersionAwareCatalogConfigLoader Class
Loads the configuration for VersionAwareCatalogService, defined in Version Aware Object Relationship metadata (VersionAwareObjectRelationship__mdt). - VersionAwareCatalogConfigLoader:loadConfig Method
Loads the configuration for the VersionAwareCatalog service, defined in the Version Aware Object Relationship metadata (VersionAwareObjectRelationship__mdt). - XLIBatchValidationConfiguration
Configure the batch validation process. It defines the object to validate (Opportunity, Order, or Quote), where to get the data, the validation services to use, and which merge service to execute after validation. - XLIBatchValidationNotification
Send an email message with the validation results to the user who executed the batch validation process. It also updates the parent objects—Opportunity, Order, or Quote—on the validation results. - XOMAutoTaskAssetizer
Create assets from the corresponding order at the end of processing.
