Loading
Salesforce Enforces New Security Requirements in Summer 2026Read More
Get Started with Communications, Media, and Energy & Utilities (CME)...
Implementations Reference

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 the newObjectId and 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.
 
Loading
Salesforce Help | Article