How to work with the BoldChat API
For information on how to use the BoldChat API and the BoldChat Chat Window SDK, visit the Bold360 and BoldChat Developer Center.
For information on how to use the BoldChat API and the BoldChat Chat Window SDK, visit the Bold360 and BoldChat Developer Center.
You can tell Bold360 AI to send the ticket to additional email addresses by adding the targetEmailRecipient form value.
_nRepData["formValues"].push(["targetEmailRecipient", "direct", "target@email.com"]);
Replace target@email.com with your email address.
To send each ticket to the support team manager, add this line:
_nRepData["formValues"].push(["targetEmailRecipient", "direct", "supportTeamManager@myCompany.com"]);
You can use the BoldChat API to update user emails without logging in to BoldChat.
Your account ID (AID) that you can get by logging in to setup.boldchat.com.
In the example below, AID is 2648701413998819186
An API settings ID that you can create in the Setup > Account Setup > APIs > API Settings menu in the BoldChat Operator Client.
In the examples below, the API settings ID is 4156437641927623076
For your convenience, we have provided a sample API test page that you can use at https://developer.bold360.com/help/EN/Bold360API/Bold360API/jsonpapi.html
To change user email addresses, do the following:
The following is an example API call:
https://api.boldchat.com/aid/2648701413998819186/data/rest/json/v1/getOperators?auth=2648701413998819186:4156437641927623076:1569829495.....4c76
Sample response:
{
"Status": "success",
"Truncated": false,
"Data": [
{
"LoginID": "2624038010865729044",
"UserName": "jsmith",
"ChatName": null,
"Name": "John Smith",
"Email": "jsmith@company.com",
"EmailName": null,
"SSONameID": null,
"Disabled": null,
"PermissionGroupID": "2624011959449693646",
"Departments": [
{
"AssignmentPriority": 4,
"Priority": null,
"DepartmentID": "2624050121264430460"
}
],
"SmsService": {
"Capacity": 0,
"Available": false
},
"EmailService": {
"Capacity": 0,
"Available": false
},
"TicketService": {
"Capacity": 0,
"Available": false
},
"ChatService": {
"Capacity": 0,
"Available": false
},
"TwitterService": {
"Capacity": 0,
"Available": false
}
},
]
}
The following is an example API call:
https://api.boldchat.com/aid/2648701413998819186/data/rest/json/v1/editOperator?auth=2648701413998819186:4156437641927623076:1569831474018.....0459404&OperatorID=2624038010865729044&Email=john2.smith@company.com
Sample response:
{
"Status": "success"
}
The SEO and knowledge base export API "pushes" question and answer information from the Bold360 AI knowledge base into the page source.
This way the information becomes visible to search engine bots, resulting in more traffic being driven to the website, and users being able to ask questions via Google, or any other search engine, and being directed straight to your website without using the Bold360 AI widget.
The base URL format of the API is the following:
https://my.Nanorep.com/common/api/kbExport.xml?param=value¶m=value
The following is a sample script with all relevant data provided:
https://my.Nanorep.com/common/api/kbExport.xml?account=ACCOUNTNAME&apiKey=APIKEY&kb=English&plainText=true
Parameter |
Usage |
Example |
---|---|---|
username | Your Bold360 AI login name. You must have Knowledge Base access privileges to use the API (required) | username=john@company |
pw |
Your Bold360 AI password (required) |
pw=1234567 |
kb |
The Knowledge Base to export from (required) |
kb=English |
maxItems |
The number of items to retrieve |
maxItems=50 |
skip |
The place in the list from which to start retrieving. For example, use skip=10 to skip the first 10 list items and retrieve the rest. |
skip=10 |
format |
xml/json (default:xml) |
format=json |
Parameter |
Usage |
Example |
---|---|---|
byPopularity |
Set this parameter to true (recommended), to display the most popular articles first in the search results. Note: Offline articles will not be included if the parameter is set to true. |
byPopularity=true |
days |
Displays the most popular answers given by the Bold360 AI widget during the last x days. This parameter does only have an effect if byPopularity is set to true. |
days=30 |
labelId |
Displays answers from a specific label only. You can find this information in Bold360 AI when editing a label. |
labelId=ABC123 |
textFilter |
Displays answers that contain a certain word or phrase.Important: The value of this parameter must be base64 encoded. As it is used in a URL, replace "=" with "_", and "+" with "|". For example, "hello" must be defined as "aGVsbG8_" |
textFilter=aGVsbG8_ |
context |
Displays answers that have the specified context in category:value format. You may use more than one category:value pairs separated by commas. For example, Manufacturer:Sony, Device:iPhone ** |
context=TWFudWZ hY3R1cmVy Ol Nvbn ksRGV2aWNlOm lQaG9uZQ__ |
modifiedSince |
Format: yyyy-MM-ddTHH:mm. If used, only articles modified since this date are included. |
modifiedSince=2013-11-01T17:00 |
includeHiddenFaqItems |
Includes hidden FAQ articles, which are marked by the "hide this answer from the dynamic FAQ widget" option. |
includeHiddenFaqItems=tru |
https://my.Nanorep.com/common/api/kbExport.xml?account=ACCOUNTNAME&apiKey=APIKEY&kb=English&byPopularity=true&plainText=true
https://my.Nanorep.com/common/api/kbExport.xml?account=ACCOUNTNAME&apiKey=APIKEY&kb=English&byPopularity=true&maxItems=20&textFilter=aVBob25l
<?xml version="1.0" encoding="utf-8"?>
<NanorepExport account='Nanorep' kb='633763325358580000'>
<article id='633915887117827492' isOffline='False'>
<title>
<![CDATA[How much does it cost?]]>
</title>
<body>
<![CDATA[<p>For detailed packages & pricing information, <a href="http://www.Nanorep.com/index.php?page=prices" target="_blank">click here</a></p>]]></body>
</article>
<article id='633915887117827588' isOffline='False'>
<contextInfo>
<context id='Page Type' value='General' />
</contextInfo>
<title>
<![CDATA[What is Nanorep?]]>
</title>
<body>
<![CDATA[<p>Bold360 ai is a self-service customer support & service solution. It is designed to improve customer engagement and prevent website or cart abandonment by delivering instant, accurate answers to customers' questions with no waiting queues what so ever.<br />&<br /></p>]]></body>
</article>
<article id='141286' isOffline='False'>
<title>
<![CDATA[What happens when I exceed the number of questions in a given month?]]>
</title>
<body>
<![CDATA[<p>We understand that due to seasonal changes, promotions or campaigns, there can be spikes in the Q&A’s traffic.</p><p>In these cases, it won't be necessary to upgrade to a premium package.</p><p>However, in cases where there is a consistent increase in Bold360 ai's usage for more than a month, a notification on the outgrown support package&will be sent to the customer and an upgrade plan will be offered.</p>]]></body>
</article>
<meta skipped='0' exported='3' totalArticles='3'/>
</NanorepExport>
_nRepData["kb"] = "hebrew";
// or
_nRepData["kb"] = "496477";
To use the API for a specific widget add the following:
_nRepData["embed"] =
{
"kb": "hebrew"
}
HTTPS will be enforced across all Bold360ai web application touchpoints going forward and HTTP-only widget configurations will no longer be supported as of December 31, 2021.
Access to the Genesys DX AI management (*.nanorep.co) will only be accessible through HTTPS.
Why is this happening?
Encrypted communication is essential for safe transmission of data between the web server and browsers. Unlike HTTP, HTTPS establishes a secure connection by encrypting data.
If an application does not use HTTPS, it is vulnerable to information disclosure and MITM attacks which attempt to strip encryption between the server and the client.
Changes in the Bold360ai
After the change is introduced to the servers, you can only reach the servers through HTTPS. Servers are going to deny ALL HTTP requests.
Required actions
Bold360ai admin site |
|
Deployed widgets |
|
API endpoint calls |
|
API keys enable you to utilize the API capabilities of Bold360 AI.
An API key is a unique identifier that you can use to integrate other systems like Bold360 Agent with Bold360 AI. You can define multiple API keys, and each one may have its own permissions.
Example: If you're creating an API key for integration with Bold360 Agent, you could use the Bold360 Live Chat name.
Example: If you're creating an API key for integration with Bold360 Agent, grant Write access for all categories.
Enter either a single IP or a range of IPs. You can define one IP or an IP range per line. If you don't want to apply restrictions, you can indicate by enabling Allow All IP Ranges or by entering 0.0.0.0-255.255.255.255.
Enter one domain per line.
Yes. Bold360 is a one-stop-shop for omni-channel engagement including chat, email, message management, remote access, and co-browse. The Bold360 API provides an interface for communicating with an application and allows you to customize how Bold360 and BoldChat integrate with your applications.
The Bold360 API is a tool for retrieving information related to your Bold360 account and based on that information, recreate most of the functionality that Bold360 offers. Bold360 API calls are launched by triggers that contain the conditions of making an API call. When a user on your website clicks an element, such as a chat button, an API can be called to extend or modify that interaction.
For more information, see the Bold360 and BoldChat Developer Center.
Add a "DIY" custom API trigger integration to provide custom links that agents can access during chat sessions.
Links are shown at the top of the agent workspace during chat sessions.
Result: The New Integration API Trigger page is displayed.
Option | Description |
---|---|
URL | The Submission URL of the REST API POST data. The URL must be a fully qualified domain name (FQDN) with a proper SSL certificate configuration. IP addresses will not work. |
API Key | Required for authenticating REST API calls to the Digital DX servers. The API Key setting determines which API Key will be used when there is a callback return URL parameter selected in the Parameters section. The API Key will be included as a parameter of these callback URLs so it will not be necessary to add them yourself. Generate the key under Integrations > API Settings.
|
Result:
With each call, Basic authentication sends an Authorization header containing the Base64-encoded username and password to the API trigger endpoint.
Option | Description |
---|---|
Item Type | Choose Chats. |
URL Type | Choose Agent Button. |
View | The View setting becomes available when the Type is Agent Button. View determines how target pages are opened when the trigger is fired.
|
Result:
Option | Description |
---|---|
Type |
Chats
|
Field | The internal name of the parameter as used by the service.
|
Parameter | The parameter name that will be used in the URL when a call is made to your server. |
Bold360 offers tools and integrations to help customize your implementation.
Please refer to the Bold360 and BoldChat Developer Center for detailed documentation.
All BoldChat solutions other than the Salesforce integration are valid for Bold360 as well.
Provide a link that agents use to access Zendesk during chat sessions. To set up the Zendesk integration, use the desktop version of the BoldChat client. Learn more at the BoldChat Help Center: Zendesk Integration.
You can use the Bold360 AI Ticket Export API to download ticket data to XML or CSV format.
https://my.Nanorep.com/common/api/ticketexport.xml?account=ACCOUNTNAME&apiKey=APIKEY&kb=KB&label=labelid&month=7&year=2013&includeText=true&closeOverdue=true&format=xml
Name | Description |
---|---|
username | The username used to log into my.Nanorep.com (user account requires KB manager or admin permission). |
password | The password used to log into my.Nanorep.com (user account requires KB manager or admin permission). |
kb | The target Knowledge Base. |
label | The label ID when you want to export tickets from a specific label. |
month | The target month, for example 7. |
year | The target year, for example 2013. |
includeText | Set to true to include the ticket correspondence. |
closeOverdue |
|
format | Format should be set to one of the following:
|
The returned data will include the list of tickets, and each ticket will include the following information:
To view and work on the data in Excel, please follow the steps below:
The Events API allows the customer to hook into various Bold360 AI widget events.
For example, you can use this API to push different Bold360 AI events to a 3rd party BI system (e.g. Universal Analytics) and generate Bold360 AI related Reports.
Supported Events:
// For floating widgets _nRepData["float"] = { //.... // events: { eventName: function(parameters) {} }
//.... // }
// For the embedded widgets _nRepData["embed"] = { //.... // events: { eventName: function(parameters) {} }
//.... // }
// For both widgets _nRepData[" events "] = { eventName: function(parameters) {} };
// Widget loaded: load: function(){alert("widget loaded!");}
// User started typing: userStartedTyping:
function(){alert("user started typing");}
// User asked a question: query:
function(query, isAutoQuestion){alert("user asked: " + query + ". is auto ? : " + isAutoQuestion);}
// Incoming search results: incomingSearchResults:
function(hasResults){alert("incoming search results. has results: " + hasResults);}
// User performed escalation: escalation:
function(type, query){alert("Escalation occurred. type: " + type + ". user query: " + query);}
// User clicked 'Like': like :
function(query, answer){alert("User liked the answer: " + answer + " for the query: " + query);}
< !--do not modify this script -- >
< div class='Nanorep_loadingData' id='NanorepProxyContainer' style='position:absolute;top:-500px;left:0px;' >
< /div >
< script type='text/javascript' >var _nRepData = _nRepData || []; _nRepData['kb'] = '24218399';
_nRepData['float'] = {account: 'nisim', cdcVersion: 3, cdcFrame: '',
scriptVersion: '2.19.2.2', events: { userStartedTyping: function(){alert("user started typing");}} }
/* API here */; (function(){var windowLoadFunc = function(){var _nRepData = window._nRepData || [];
_nRepData['windowLoaded'] = true;if (typeof(_nRepData['windowOnload']) === 'function')
_nRepData['windowOnload']();};if (window.attachEvent)window.attachEvent('onload', windowLoadFunc);
else if (window.addEventListener)window.addEventListener('load', windowLoadFunc, false);
var sc = document.createElement('script');sc.type = 'text/javascript';
sc.async = true;sc.defer = true;sc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'my.Nanorep.com/widget/scripts/float.js';
var _head = document.getElementsByTagName('head')[0];_head.appendChild(sc);})();
< /script >
The Events API allows the customer to hook into various Bold360 AI widget events. For example, you can use this API to push different Bold360 AI events to a 3rd party BI system (for example Universal Analytics) and generate Bold360 AI-related Reports.
You can use Widget Events API on the page where the widget is implemented as follows:
<script>
Nanorep.floatingWidget.on({ // Nanorep.embeddedWidget
init : function() {
this.setConfigId('916824103');
},
load : function() {
this.setContext({ brand: 'Apple' });
}
});
< /script >
You can find the full list of events and methods here: http://my.Nanorep.com/web/doc/v1.html?section=widgets
/* API here */
Nanorep.embeddedWidget.on({
init : function() {
this.setConfigId("1010521062");
},
ask : function(query) {
ga('send', 'event', {
'eventCategory': 'Nanorep Widget',
'eventAction': 'Search',
'eventLabel': query
});
},
feedback : function( feedbackInfo , answer ) {
var f_message;
let type = 'Bad ';
console.log(feedbackInfo);
if (feedbackInfo.text) {
f_message = feedbackInfo.text;
} else {
switch (feedbackInfo.type) {
case 4:
f_message = 'Missing or incorrect information';
break;
case 8:
f_message = 'Answer irrelevant to the page';
break;
case 1:
{
type = 'Good ';
};
break;
}
}
ga("send", "event", {
'eventCategory': 'Nanorep Widget',
'eventAction': type + 'feedback',
'eventLabel': f_message,
'dimension1': answer // additional custom dimension
})
},
escalate : function( channel , answer ) {
ga('send', 'event', {
'eventCategory': 'Nanorep Widget',
'eventAction': 'Escalation ' + '[' + channel + ']',
'eventLabel': answer }); },
noResults : function( query ) {
ga('send', 'event', {
'eventCategory': 'Nanorep Widget',
'eventAction': 'No answer',
'eventLabel': query
});
}
});
You can import a large number of articles in a batch through the API.
To learn more about how to import articles through the API, visit our Rest API & SDK Reference.
The Analytics API enables you to access and collect data from the Bold360 AI Analytics section.
For information on how to create a new API key, click here.
Usage | Example | |
---|---|---|
cb |
The JSONP callback method. |
cb=callbackMethod |
account |
The account name. |
account=myAccount |
apiKey |
An API key with analytics read privileges for the required knowledge-bases. |
apiKey=xxx-yyy-zzz |
kb |
One or more knowledge-base names to obtain data for (comma-separated). |
kb=English,Spanish |
analysis |
Value analysis type. Possible values are:
|
analysis=weekly |
days
|
Date range in days to obtain data for. |
days=14 |
months
|
Date range in months to obtain data for. |
months=6 |
timezone |
Timezone in hours to obtain correct dates. |
timezone=5 |
values |
List of values to include in output (comma-separated). List of possible values is provided in the table below. |
values=engagements,resolved |
labelid (Optional) | Get data on specific label. | labelId=1CE001C |
Value name | Description |
---|---|
Engagements |
|
answeredSessions | Total answers provided, including self-service, rechanneling, and tickets. |
interactions | Total interactions via Bold360 AI interfaces (widgets, Support Center, API, and so on). |
answered | Interactions where search has returned an answer. |
unanaswered | Interactions where search did not return an answer. |
resolved | Engagements resolved by Bold360 AI (visitor received an answer, and did not escalate or provide negative feedback). |
unresolved | Engagements not resolved by Bold360 AI (either no search result has been found or the visitor's question was escalated to an agent, or the visitor provided negative feedback). |
resolvedBySearch | Engagements resolved using the Search interface. |
resolvedBySearchAC | Engagements resolved using the Search interface by selecting an auto-completion suggestion (subset of resolvedBySearch). |
resolvedByFAQ | Engagements resolved using an FAQ interface (in Dynamic FAQ widget, or FAQs in embedded or floating widgets). |
resolvedBySupportCenter | Engagements resolved using a Support Center article. |
positiveFeedback | Number of positive feedback from all touchpoints. |
The Contact Form API allows you to specify values that will populate the contact form when it's opened.
To learn more about this API, visit our Rest API & SDK Reference.
The Bold360 AI event log API and voices API enable you to collect history of voices and event logs.
To learn more about these APIs, visit our Rest API & SDK Reference.
In the 21.10 release, a new API call was introduced for presenting the estimated wait time until a chat waiting in queue would be assigned to an agent and/or department.
Parameter |
Type |
Required |
Description |
DepartmentID |
numeric - ID code |
No |
The identifier of the department. When not set, all queue' data is returned. Estimated Wait Time is fix 0. When null value set, department less queue (account level) data is returned.\ |
Request format
curl "https://api.boldchat.com/aid/$accountID/data/rest/json/v1/getEstimatedWaitTime?auth=$authHash&DepartmentID=$DepartmentID"
Return values
Parameters are provided in alphabetic order. See Sample code for probable output.
Parameter |
Type |
Description |
EstimatedWaitTime |
integer |
Estimated wait time for the requested queue in milliseconds. When null DepartmentID requested, department less queue (account level) estimated wait time returned. Without DepartmentID parameter it will be always 0. |
QueueDepth |
integer |
Queue size for the requested queue. Cumulated queue size value when DepartmentID is not provided. |
Status |
codes - set values |
"Success" when the call completes; "Error" when the call fails. |
Truncated |
Boolean |
Whether or not the above JSON array is the complete result set, or if the server limited the returned results. For these methods, it is unlikely the limit will be hit, but if it is either filter down the results set or contact us to try to find a way to get at the data you are looking for. |
Sample code
{
"Status": "success",
"Truncated": false,
"Data": [
{
"EstimatedWaitTime": 65340,
"QueueDepth": 3
}
]
}
Bold360 version 21.10 contains the following new enhancements:
Going forward, there will no longer be an option to choose (non-secure) HTTP-only connections when generating widget touchpoint scripts. HTTPS will be enforced across all touchpoints going forward and HTTP-only widget configurations will no longer be supported as of December 31, 2021. Any widget script using HTTP only will need to be changed by this date in order to continue uninterrupted
Access to the Genesys DX AI management (*.nanorep.co) will only be accessible through HTTPs
In-product announcements will be present to raise awareness of this change
Important: Any widget script using HTTP only will need to be changed by this date in order to continue uninterrupted.
As part of the transformation to Genesys DX, the product interfaces are now rebranded to reflect this change. Logos, product names, and company links are now updated to Genesys branding and is present within each of the product interfaces.
Using the "getEstimatedWaitTime" API call will provide the estimated wait time that the visitor would spend waiting before starting a live chat with an agent.
Details on using this API can be located in this article.
Bold360 version 21.11 contains the following new enhancements:
New KB Launchpad Intent Library for COVID-19/Vaccinations
In order to help businesses with providing just-in-time information related to updates to COVID-19 and vaccination protocols, a new entry in the KB Launchpad is now available with intents that can be used to deploy knowledge to keep your workforce informed of new policies and information that you may need to enforce.
Not familiar with the KB Launchpad? The KB Launchpad contains pre-defined intent libraries to help you add industry and use-case specific questions/intents to your KBs with your own specific responses to help with adding commonly asked questions for newly created KBs.
We will be enabling the KB Launchpad as a default setup option on all accounts shortly but contact your Account or Success Manager to get it enabled early if necessary.
ICO Cookie Compliance
In order to support ICO cookie compliance in regions that require end-user consent for allowing cookies to be set, Genesys DX now complies with this standard by making the tracking and analytics related cookies that are set through the touchpoint and visitor monitoring HTML snippets to be optional.
By default, all cookies will continue to be set upon page load. To restrict these cookies from loading automatically and only upon end-user consent, additional steps will be required on the website that the Genesys DX code is being deployed to.
You can learn more about what this compliance is and how to update your Genesys DX deployment to be compliant by reviewing the details in this article: ICO Cookie Compliance.
Every year, Genesys® orchestrates billions of remarkable customer experiences for organizations in more than 100 countries. Through the power of our cloud, digital and AI technologies, organizations can realize Experience as a Service℠, our vision for empathetic customer experiences at scale. With Genesys, organizations have the power to deliver proactive, predictive, and hyper personalized experiences to deepen their customer connection across every marketing, sales, and service moment on any channel, while also improving employee productivity and engagement. By transforming back-office technology to a modern revenue velocity engine Genesys enables true intimacy at scale to foster customer trust and loyalty.
Copyright © 2022 Genesys. All rights reserved.
Terms of Use | Privacy Policy | Email Subscription | Accessibility Feedback | Cookie Preferences