Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

TurboEngines Callback Management

Creating a Callback

At the bottom of the editor panel, the error reason is displayed. Click the error detail in the output tab to jump to the specific error line, aiding in error resolution.

Ensure you have the necessary permissions to access the Salesforce org and manage callbacks. Familiarity with the Salesforce Lightning Experience interface is recommended.

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click Create to create a new project.
    The New Callback pop-up is displayed.
  7. Enter a name for the callback project and click Create. A new project is created and you are redirected to the edit project page.


    Note:

    You can open multiple files from the explorer in the code editor.



    Note:
    You can collapse the code blocks by clicking the Collapse icon (


    ).


    The following table describes the icons displayed on the code editor.

    Icon or Feature

    Name

    Description

    Auto Complete

    Auto Complete

    Press Ctrl+Space to view the auto-complete suggestions on the project code (C#) editor.





    Validate QueryModel

    To verify if the master entities or fields used in callback code are available in the extensibility data source or not.



    Code Warnings

    Displays the code warnings as per the C# guidelines at the bottom.



    Format

    Formats and aligns the code (C#) in the editor as per C# coding standards.



    Go To Line (Ctrl+G)

    To jump to the specific line in the editor.





    Find

    To search a particular term in the editor.





    Code Difference

    To compare and find the differences between Last Saved Code or Last Imported Code and Current Code.

    1. Click the


      icon. A Code Difference pop-up window is displayed with details of Last Saved Code and Current Code.


      The code differences will be highlighted and can be identified easily.
    2. To compare the current code with the last imported code, click Last Imported Code.
    3. To retrieve the changes, click Revert All.
    Use the sample template to create IPricingBasePriceCallback. The basic implementation below includes pre-filled information to help you incorporate custom logic.
    using Apttus.Lightsaber.Extensibility.Library;
    using Apttus.Lightsaber.Pricing.Common.Callback;
    using Apttus.Lightsaber.Pricing.Common.Callback.Messages;
    using System.Threading.Tasks;
    
    namespace NewPricingBasePriceCallback_ST
    {
        /// <summary>
        /// Pricing BasePrice Callback
        /// </summary>     
         public class PricingBasePriceCallback : CodeExtensibility, IPricingBasePriceCallback    
         {
            /// <summary>
            /// Before Pricing
            /// </summary>
            /// <param name="batchPriceRequest"></param>
            /// <returns></returns>
            public async Task BeforePricingBatchAsync(IBatchPriceRequest batchPriceRequest)
            {
                await Task.CompletedTask;
            }
    
            /// <summary>
            /// On Pricing
            /// </summary>
            /// <param name="batchPriceRequest"></param>
            /// <returns></returns>
            public async Task OnPricingBatchAsync(IBatchPriceRequest batchPriceRequest)
            {
                await Task.CompletedTask;
            }
    
            /// <summary>
            /// After Pricing
            /// </summary>
            /// <param name="batchPriceRequest"></param>
            /// <returns></returns>
            public async Task AfterPricingBatchAsync(IBatchPriceRequest batchPriceRequest)
            {
                await Task.CompletedTask;
            }
        }
    }
    
  8. Create a callback using the template.
  9. Click Save.
If there are no errors, the code is saved successfully. If there is an error in the code, an error message is displayed.

Importing a Callback

The Import feature provides a mechanism to import the callback project (.zip file). Using this feature, you can move the callback code to a different environment if required.

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click Import.
    The Import Callback pop-up is displayed.
  7. Enter a name for the callback project and click Upload Files or drop files to add the .zip file that you require to import.
  8. Click Import. A new project is created and you are redirected to the edit project page.


Editing a Callback

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click the Edit icon (

    ) for the required callback. The edit project page is displayed.
  7. Perform the required edits to the project. See Creating a TurboPricing Callback.
  8. Click Save.

Cloning a Callback

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click the Clone icon (

    ) for the required callback.
    The New Callback pop-up is displayed. The name of the callback is <original_callback_name>Clone.
  7. Enter a new name if you want.
  8. Click Clone.

Downloading a Callback

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click the Download icon (

    ) for the required callback.
A <Callback Name>.zip file is downloaded to your system.

Enabling a Callback

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click the Action icon ( ) for the required callback and select Enable. The project is enabled.


    Note:

    When you enable a project, CPQ directly impacts pricing engine runtime because of real-time updates.

Disabling a Callback

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click the Action icon ( for the required callback and select Disable.
The project is disabled.

Deleting a Callback

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click the Action icon () for the required callback and select Delete. The Delete Callback pop-up prompting you to confirm deletion is displayed. Click Yes to delete the callback.
    Note:

    You cannot delete an enabled project. First, you need to disable the project and then you can delete it.

Managing Version History

This feature enables users to compare versions to identify differences.

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click the Action icon () for the required callback and select Version History.
    The detail page of the selected project with a list of versions related to the project is displayed.


  7. Click the checkbox of the desired version and click Compare.
    The code difference of the selected callback project is displayed.


  8. In the Code Difference popup window, click the dropdown available at the top of the code editor to change the code (*.cs) type.


Validate QueryModel

This feature enables users to verify the availability of master entities or fields used in callback code within the extensibility data source.

Follow these guidelines to use this feature effectively:

  1. The QueryModel class must be decorated with the attribute [Entity="name of the entity"].
  2. Specify all fields used in the query (select clause, where clause, etc.) in the QueryModel class with their correct API names.

Verifying Master Entities and Fields

To ensure data integrity and proper configuration, verify the master entities or fields by following these steps:

  1. Log in to the Salesforce org.
  2. Click Switch to Lightning Experience.
  3. Open the Salesforce App Launcher (Lightning) and launch the TurboEngines Admin app.
  4. Click the Callbacks tab.
    A list of callbacks is displayed. If a callback is enabled, the project name is displayed in the Callback Name column.
  5. Click Manage under the Actions column for the required callback to configure it.
    The detail page of the selected callback with a list of projects related to the callback is displayed.
  6. Click the Edit icon for the required project. You are redirected to the edit project page.


  7. Click the Validate QueryModel (

    ) icon.
    The Validation Details popup window is displayed.