Integration with External Helpdesk
Billing supports the following external helpdesks:
- SupportSuite, ticket management solution by Kayako Inc. The latest supported version tested with Billing is 4.68.
Features and limitations
-
Modular integration - Billing integration with an external trouble ticket system (helpdesk) is implemented as two modules:
- Billing-side module built in Billing. This module is common for all Helpdesk systems.
- Helpdesk-side module to be placed to a Helpdesk server. It is possible to configure and activate both the built-in and external helpdesks at the same time, but it is not recommended.
- It is only possible to use one external helpdesk at a moment. There is only one screen form in Billing for configuring external helpdesk. Thus, Billing plugs to the helpdesk you enter connection parameters for.
- Users in external helpdesks are created automatically. When external helpdesk is used, information about all the users registered in Billing is mapped to external helpdesk.
- Single sign on from Billing to the external helpdesk. Customers can directly follow the Support Tickets link from the Billing customer control panel to a customer trouble tickets page of an external hlpdesk, without the need for a customer to enter login.
Integration Setup
External helpdesk integration comprises the following steps:
- Placing module files to the helpdesk side.
- Setup of Billing-Helpdesk connection.
- Configuring external helpdesk on Billing side.
- User data synchronization.
The instructions on configuring external helpdesk are provided below.
Placing Helpdesk-side module files to helpdesk side
Helpdesk-side modules for supported External Helpdesk systems are shipped with the Billing distribution as .php
files located in the /usr/local/bm/share/helpdesk
directory (for Billing default installation path). Files' names follow respective helpdesk names:
- Kayako module is named
kayakofusion.php
.
Important: Kayako Fusion beginning with 4.0 version is supported. For Kayako version 3.x the pba-kayako.php
module is used, which is also shipped with Billing.
For successful installation and work, the relevant Helpdesk-side module must be placed at Kayako server into the same directory where Kayako SupportSuite files are located, so kayakofusion.php
and swift.php
are to be in the same directory.
Save the Helpdesk-side module at the server that runs external Helpdesk into the a web server document root directory or into a directory under a web server document root.
Setting up the connection between Billing and Helpdesk
Specify the password to be used to provide secure HTTP connection between Billing and Kayako server. To this effect, define the password via the HSPC_SECRET
constant in kayakofusion.php
file. This particular password must be then specified in the Billing side module setup. For example, if you specify the following:
define('HSPC_SECRET', 'pbasecure');
then exactly the phrase pbasecure
must be specified at System > Settings > Helpdesk > External Helpdesk Setup, in the Password field.
Please make sure that the password is specified correctly at the Billing side since the Helpdesk-side module will accept only requests secured with password specified in the helpdesk php file. Password must match on both sides, otherwise the integration with Kayako SupportSuite will be not possible.
Configuring external helpdesk on Billing side
- Open System > Settings > Helpdesk > External Helpdesk Setup. The external helpdesk settings appear on the screen.
- Click Edit. External helpdesk settings appear for editing. Fill out the form:
- Enter the external helpdesk server hostname into the XML Server Host field.
- Enter the relative path to the
kayakofusion.php
file at the Kayako server into the XML Server URI field. - Type the password you have specified as the
HSPC_SECRET
constant inkayakofusion.php
file in to the Password field.
- Click Save to confirm and save changes. The updated external helpdesk settings appear on the screen.
- Check if the connection to external helpdesk server can be established with the help of Check Connection. You will see system message reporting connection status.
User Data Synchronization
When external Helpdesk is used, the Billing side module maps all the users registered in Billing into external Helpdesk. The information about users is updated automatically, in case a particular user information was changed in Billing (name or e-mail, etc.) this particular user data is updated at external Helpdesk. It does not matter, who changes a user data, provider or reseller, from the Control Center, or a user, from the customer Control Panel. Thus, in this case, a user data synchronization is performed on demand.
Preventing redirects to Kayako website in Customer Control Panel
After logging in to CCP under the account for which Kayako TTS is enabled, clicking the Support tickets link may lead to closing the CCP tab. The reason is that Kayako website forces redirect to itself (it prohibits embedding since version 4.0).
To avoid such behavior, the following modifications are required:
- Log in to your Kayako installation.
- Open the templates file located at
__swift/apps/base/config/templates.xml
. -
In the header template, remove the following string:
<meta http-equiv="X-Frame-Options" content="SAMEORIGIN" />
-
In the footer template, remove the following string:
<script type="text/javascript" >try {if (top.location.hostname != self.location.hostname) { throw 1; }} catch (e) { top.location.href = self.location.href; }</script>
- You may need to rebuild your helpdesk cache after editing the template.