This section is specific to the DriveWorks CPQ DriveApp, for the DriveWorks CPQ Sales Portal please see DriveWorks CPQ Sales Portal Overview.
The ability to embed a CPQ Order is great if you want to surface CPQ to end customers who you do not want to access CPQ via the Dashboard\Portal.
This may be because you need to limit what they see (for example: comments, order discounts, etc.).
To embed a CPQ Order you will create a second CPQ DriveApp which links to the same database as your regular CPQ data.
This will mean that any data created in either DriveApp will be shared.
Your second CPQ DriveApp (which will be referred to as the Embed DriveApp from this point on) will need to configured slightly differently from the DriveApp Administration section of DriveWorks Administrator.
You will need to setup the following:
There are a number of Start Parameters that can be used.
Some are required, some are optional.
Required Parameters:
Optional Parameters:
In order to input multiple parameters into the Start Parameter, you need to follow the syntax style below:
Type=Catalog|Name=Widgets|OrderName=Order123|WorkflowTransition=Completed
Make sure you do not put any space between pipe bars (|) or the equals sign (=).
There are a few additional steps that need to be followed in order to run an embedded CPQ Order via the Integration Theme.
You will need to allow access to any team that will be running the DriveApp.
<permissions>
<project name="DriveApp-CPQ-Embed">
<macro name="SetMode">
<team name="Administrators" />
</macro>
</project>
</permissions>
await DW_CLIENT.runMacro(<GROUPALIAS>, <DRIVEAPPID>, { macroName: 'SetMode', macroArgument: 'Add' })
Where:
<GROUPALIAS> is the alias given to your Group in the DriveWorksConfigUser.xml
<DRIVEAPPID> is the Specification Id given to the DriveApp that is created via the runDriveApp() method.
This Id can be obtained using the id accessor, see Class Specification - id for more information.
All Parameters can be set during runtime of the Embed DriveApp using the Integration Theme.
The way this is done is by driving a Constant of the same name as the Parameter.
For example: If you wanted to associate the Order with an user that is logged in to your eCommerce platform, you would need to set the AltContact or AltAccount Parameter each time a different user accesses the DriveApp.
This wouldn’t be possible using the Start Parameter, as this is a static value.
The Constant DWConstantAltContact or DWConstantAltAccount can be driven using the standard Integration Theme SDK functions in order to link the eCommerce user with the CPQ Order.
You will need to put the relevant methods for driving the Constants before the runMacro() method explained in step 2 of the Running an embedded CPQ Order via the Integration Theme section above.
The Details (basket) section of an embedded order can be customized using a Project Template.
The Template can be used to customize the User Interface, so that it can be made to fit in with an existing website.
This Template can also be used to link embedded orders with your CRM system, or e-Commerce platform.
CPQ Order Details