Loading
Get Started with Communications, Media, and Energy & Utilities (CME)...
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          VlocityOpenInterface2

          VlocityOpenInterface2

          VlocityOpenInterface2 supports normal remote calls and remote calls that use the Continuation object. It differs slightly due to the return time of the invokeMethod on an object. In VlocityOpenInterface, the invokeMethod returns a Boolean. In VlocityOpenInterface2, the invokeMethod returns an object.

          Note
          Note

          Only classes that implement VlocityOpenInterface2 can be used in continuations. For more information, see Apex Continuations: Asynchronous Callouts from Visualforce Pages.

          Type

          Loosely typed

          Triggered When

          See individual implementations.

          Called In

          See individual implementations.

          Signature

          Access

          Implementation Signature

          global

          OmniCPQServiceWrapperOmniCPQServiceWrapper

          global Object invokeMethod(String methodName, Map<String,Object> inputMap, Map<String,Object> outMap, Map<String,Object> options)

          Default Implementation

          None

          Other Implementations

          The OmniCPQServiceWrapperOmniCPQServiceWrapper implementation is a class for OmniScript that supports named methods used in guided selling.

          Parameters

          See OmniCPQServiceWrapperOmniCPQServiceWrapper.

          Sample Implementation

          global with sharing class OmniCPQServiceWrapper implements VlocityOpenInterface2 {
             global Object invokeMethod(String methodName,
                Map<String,Object> inputMap,
                Map<String,Object> outMap, Map<String,Object> options) {
                Boolean success = true;
                String errors = 'OK';
                try {
                   if (methodName == 'createOrder') {
                      createOrder(inputMap, outMap, options);
                   } else if (methodName == 'getProducts') {
                      getProducts(inputMap, outMap, options);
                   } else if (methodName == 'addToCart') {
                      if (options.get('vlcOperation').equals('Add'))
                         addProducts(inputMap, outMap, options);
                      else if (options.get('vlcOperation').equals('Remove'))
                         removeItemFromCart(inputMap, outMap, options);
                      else if (options.get('vlcOperation').equals('configureProd'))
                         configureProduct(inputMap, outMap, options);
                   } else if (methodName == 'updateCart') {
                      if (options.get('vlcOperation').equals('Delete'))
                         deleteItem(inputMap, outMap, options);
                      else if (options.get('vlcOperation').equals('Update'))
                         updateItem(inputMap, outMap, options);
                      else if (options.get('vlcOperation').equals('configureProdInCart'))
                         configureProductInCart(inputMap, outMap, options);
                      else if (options.get('vlcOperation').equals('saveProductsPostConfig'))
                         saveProductsPostConfig(inputMap, outMap, options);
                      else
                         getItems(inputMap, outMap, options);
                   } else if (methodName == 'submitOrder') {
                      submitOrder(inputMap, outMap, options);
                   } else if (methodName == 'upgradeAsset') {
                      upgradeAsset(inputMap, outMap, options);
                   } else if (methodName == 'getAssets') {
                      getAssets(inputMap, outMap, options);
                   }
                } catch (Exception e) {
                   Logger.err(e.getStackTraceString());
                   errors = e.getMessage();
                   success = false;
                }
                outMap.put('success', success);
                outMap.put('error', errors);
                return success;
             }
             public void getAssets(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void upgradeAsset(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> option) {
             }
             public void createOrder(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void getUpdatedCart(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void getProducts(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void addProducts(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void removeItemFromCart(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void deleteItem(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void updateItem(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void submitOrder(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
             public void getItems(Map<String,Object> inputMap, Map<String,Object> outputMap, Map<String,Object> options) {
             }
          }
           
          Loading
          Salesforce Help | Article