Options
All
  • Public
  • Public/Protected
  • All
Menu

The Facade to interact with Vlocity CPQ functionality.

Hierarchy

Index

Constructors

constructor

  • Parameters

    Returns CPQ

Properties

Private config

config: CPQSDKConfig

Private context

context: UserContext

Private datasource

datasource: any

Static Private instance

instance: CPQ

Private singleton instance of this SDK. There should always be only 1 instance.

Accessors

namespace

  • get namespace(): string
  • set namespace(customNamespace: string): void
  • getter method for namespace. Provides the salesforce org namespace

    Returns string

  • setter method for namespace. Set custom namespace

    Parameters

    • customNamespace: string

    Returns void

Methods

addToCartItem

  • Add an addon to the cart.

    Parameters

    Returns Promise<any>

applyAdjustment

  • Apply adjustment to given cart item

    Parameters

    Returns Promise<Result>

applyDiscountToCart

cloneItems

  • Clone the line items.

    Parameters

    Returns Promise<Result>

configureAndAdd

  • Add a product to the cart such that it can be configured.

    Parameters

    Returns Promise<Result>

createAddToCartItemInput

  • Create a default InvokeActionInput object.

    Returns AddToCartItemInput

createApplyAdjustmentInput

  • Create a default ApplyAdjustmentInput object.

    Returns ApplyAdjustmentInput

createApplyDiscountToCartInput

  • Create a default ApplyDiscountToCartInput object.

    Returns ApplyDiscountToCartInput

createAttributeAttachmentUrlMap

  • createAttributeAttachmentUrlMap(attachments: Attachment[]): Map<string, string>
  • A workaround mechanism for v102 when getProducts API do not relate attribute id to attachment url. Here we assume Admin would have configured the url such that it is appended by a vertical bar followed by attribute id, we would then split them apart and create a map that pairs the attribute id to the attachment url.

    Parameters

    Returns Map<string, string>

createCart

  • Returns anonymous cartId and accountId.

    Parameters

    Returns Promise<Result>

createCloneItemsInput

  • Create a default CloneItemsInput object.

    Returns CloneItemsInput

createConfigureAndAddInput

  • Create a default InvokeActionInput object.

    Returns ConfigureAndAddInput

createCreateCartInput

  • Create a default CreateCartInput object.

    Returns CreateCartInput

createDeleteCartItemInput

  • Create a default InvokeActionInput object.

    Returns DeleteCartItemInput

createDeletePriceAdjustmentInput

createGetCartItemsInput

  • Create a default InvokeActionInput object.

    Returns GetCartItemsInput

createGetCartLineItemPricesInput

createGetCartSummaryInput

  • Create a default GetCartSummaryInput object.

    Returns GetCartSummaryInput

createGetCatalogsInput

  • Create a default GetCatalogsInput object.

    Returns GetCatalogsInput

createGetPriceDetailsInput

  • Create a default GetPriceDetailsInput object.

    Returns GetPriceDetailsInput

createGetProductsFromCatalogInput

createGetProductsInput

  • Create a default GetProductsInput object.

    Returns GetProductsInput

createGetTimeListsInput

  • Create a default GetTimeListsInput object.

    Returns GetTimeListsInput

createUpdateCartItemInput

  • Create a default InvokeActionInput object.

    Returns UpdateCartItemInput

deleteCartItem

  • Delete a line item from the cart.

    Parameters

    Returns Promise<any>

deletePriceAdjustments

getCartItems

  • Returns a list of products.

    Parameters

    Returns Promise<any>

getCartLineItemPrices

  • Add a product to the cart such that it can be configured.

    Parameters

    Returns Promise<any>

getCartSummary

  • Returns cart summary.

    Parameters

    Returns Promise<any>

getCatalogs

  • Returns a list of catalogs.

    throws

    Error - needs to be caught

    Parameters

    Returns Promise<Result>

getPriceDetails

  • Get Price Adjustment Details of lineItem.

    Parameters

    Returns Promise<Result>

getProducts

  • Returns a list of products.

    Parameters

    Returns Promise<Result>

getProductsFromCatalog

  • Returns a list of products using action object from getCatalog API.

    Parameters

    Returns Promise<Result>

getPromotions

  • Returns a list of Ppromotions.

    Parameters

    Returns Promise<Result>

getTimeLists

  • Get Time plans and policies

    Parameters

    Returns Promise<Result>

getUserContext

  • Get the userContext used in this CPQ SDK instance or create a new one if create is true.

    Parameters

    • create: boolean

      flag to indicate to create a new UserContext if true. Otherwise, return UserContext in the sdk.

    Returns UserContext

getVlocityCPQConfig

  • Get the CPQSDKConfig used in this CPQ SDK instance.

    Returns CPQSDKConfig

    CPQSDKConfig.

Private invokeAction

  • Invoke an action returning from API call.

    Parameters

    Returns Promise<Result>

updateCartItem

  • Update a root bundle or line item in the cart.

    Parameters

    Returns Promise<any>

version

  • version(): string
  • Returns the version number of SDK.

    Returns string

    Returns SDK version number as string

Static createConfigForLoginUser

  • createConfigForLoginUser(salesforceUrl: string, sessionToken: string): CPQSDKConfig
  • Create a CPQSDKConfig object that consists of a UserContext and a DataSourceService for login user.

    example
    
    // Instantiate CPQSDKConfig for login user
    const cpqSDKConfig = VlocitySDK.cpq.createConfigForLoginUser(salesforceUrl, sessionToken);
    
    // Instantiate the SDK itself
    const cpq = VlocitySDK.cpq.getInstance(cpqSDKConfig);

    Parameters

    • salesforceUrl: string
    • sessionToken: string

    Returns CPQSDKConfig

    Configuration object to instantiate SDK.

Static extend

  • extend(extendObj: object): void
  • Adds all the enumerable string keyed function properties of a source object to the sdk prototype. .extend should only be used to add new methods and it won't override the existing methods.

    Note: If the property already exists, it will be not be added.

    Custom functions which are being extended should have proper namespaces to avoid issues during upgrades. When Vlocity releases new changes it won't impact if unique namespaces are used.

    Example: myCompanyOrFeatureMethodName

    example

    How to extend an sdk?

    VlocitySDK.datasource.extend({ myCompanySayHello(){
         console.log("Hello World");
      }, sayTime() {
         console.log(new Date().myCompanyGetTime());
      }});
    
    const dataSource = VlocitySDK.datasource.getInstance({'create':true});
    console.log(daSource.myCompanySayHello())

    Parameters

    • extendObj: object

      The object of functions

    Returns void

Static getInstance

  • Get an instance of this SDK.

    Parameters

    Returns CPQ

    CPQ SDK instance.

Static override

  • override(overrideObj: object): void
  • Adds all the enumerable string keyed function properties of a source object to the sdk prototype.

    .override method should only be used to override the existing methods and should only be used in rare cases. Overriding the existing or default methods may cause unintended consequences and may also impact during upgrades.

    Please be cautious while using this

    example

    How to override methods in an sdk?

    VlocitySDK.datasource.override({ soql(){
         console.log("This code overrides the default soql function");
         // code goes here...
      }, sosl() {
         console.log("This code overrides the default soql function");
         // code goes here...
      }});
    
    const dataSource = VlocitySDK.datasource.getInstance({'create':true});
    console.log(dataSource.soql()); // prints "This code overrides the default soql function"

    Parameters

    • overrideObj: object

      The object of functions

    Returns void

Generated using TypeDoc