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 |
If admins try to reach the site through HTTP, the server denies access. |
Deployed widgets |
Widgets use the protocol of the site visitor, so if the widget does not enforce HTTPS communication, the widget appears broken to the visitor. Note: The change does not affect widgets with enforced HTTPS configuration. |
API endpoint calls |
API calls where the protocol is HTTP get a deny response from the server. |
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.
Important: When you create the key, don't forget to save a copy of the API Key outside of the Admin Center. For security reasons, the secret key will be obfuscated once the new setting is created, with only the first four characters remaining visible.
|
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.
Tip: After setup, if your integration does not load properly in the workspace (for example, only a white panel is shown), the integrated service may not be displayed in an iframe. To resolve this problem, set View to Popup.
|
Result:
Option | Description |
---|---|
Type |
Chats
|
Field | The internal name of the parameter as used by the service.
Important: You must select the fields you want included in cases when the configured trigger submits a JSON object. Fields are passed with the name selected in an object with the parameter name. This applies to Chat Transcript, Operator and Department parameters. For example, the following object is returned if Text, Name and Created Fields are selected for the Chat Transcript parameter:
|
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. Note: JSONP only.
|
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
Note: You must provide either a day or month value when selecting a date range.
|
Date range in days to obtain data for. |
days=14 |
months
Note: You must provide either a day or month value when selecting a date range.
|
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
}
]
}
The Genesys DX (Bold360) platform will end of life on January 31st, 2024. This difficult decision was announced in March, 2023.
Genesys continues to make a strong commitment to Genesys Cloud, while tightening the portfolio to further accelerate feature growth on the platform. Part of that included bringing over key Genesys DX features to Genesys Cloud CX, such as Knowledge Optimizer that focuses on ease-of-use knowledge management. Digital only licenses for Genesys Cloud were also introduced late last year, which are suitable to those who are not looking for voice capabilities or who need agent seats that only feature support for digital channels.
As of January 31st, 2024, access to Genesys DX product interfaces and customer-deployed components stop to function. Users will no longer be able to log into product interfaces, and all of the boldchat/bold360/nanorep domains will become unavailable for use. If you are curious on what the code on your website related to this might look like and how to remove it, we encourage referencing this post on the DX community.
After January 31st, 2024, admins will still be able to get access for an additional 30 days. This period is meant to allow for extracting the necessary data from the platform. Historical data extraction from your account will be available to retrieve by data extraction APIs (Bold360 APIs and Nanorep APIs).
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