Bold360 ai API Articles

Bold360 AI SEO and knowledge-base export API

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.

API specifications

The base URL format of the API is the following:

https://my.Nanorep.com/common/api/kbExport.xml?param=value&param=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

General API parameters

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

Filter parameters

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

API URL Examples

Full export with stripped body
https://my.Nanorep.com/common/api/kbExport.xml?account=ACCOUNTNAME&apiKey=APIKEY&kb=English&byPopularity=true&plainText=true
Articles with the word 'iPhone' in them
https://my.Nanorep.com/common/api/kbExport.xml?account=ACCOUNTNAME&apiKey=APIKEY&kb=English&byPopularity=true&maxItems=20&textFilter=aVBob25l

XML Response example

<?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 &amp; 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 &amp; service solution. It is designed to improve customer engagement and prevent website or cart abandonment by delivering instant, accurate answers to customers&#39; 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&amp;A&rsquo;s traffic.</p><p>In these cases, it won&#39;t be necessary to upgrade to a premium package.</p><p>However, in cases where there is a consistent increase in Bold360 ai&#39;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>

How do I specify Knowledge Base dynamically using an API?

Note: Use this reference for Arcade and Modern widgets.
The following API allows you to specify the name or ID of the Knowledge Base domain to be used.
Important: If you have already customized a domain for the current URL, the API cannot be used.
_nRepData["kb"] = "hebrew";
// or 
_nRepData["kb"] = "496477";

To use the API for a specific widget add the following:

_nRepData["embed"] =
{ 
  "kb": "hebrew"
}

Prerequisites

  • Make sure you have a Bold360/Genesys DX account and a Genesys Cloud account.
    Note: If you do not have a Bold360/Genesys DX and/or a Genesys Cloud account, please contact your Genesys representative.
  • Your Genesys cloud org should already have a messenger deployment with Predictive Engagement enabled.
    You can read about how to set up Genesys Messenger here
  • Make sure you have a chat window created on your website. You can read about how to set up a chat window here.

Process

                   
  1. Create an OAuth client in Genesys Cloud
    You can find the process of creating an OAuth client in Genesys here
    Follow the referred process and make sure to select Token Implicit Grant (Browser) as Grant Type.
     
  2. Obtain your Bold360 account ID
    Your Bold360 ID is necessary to add the Genesys DX proactive chat integration to Genesys Cloud.
    1. Open the Bold360 admin.
    2. Navigate to Channels > Chat > Chat Buttons (Floating). In Chat buttons, click on the Chat button you want to use.
    3. Click HTML.
    4. Click Generate HTML and copy the account ID from the generated HTML. Save this ID for the next steps.

       
  3. Add the Genesys DX proactive chat integration to your Genesys Cloud organization
    1. In the Genesys Cloud top ribbon, click Admin.
    2. Under Integrations, click Integrations, and search for DX.
    3. Click Install.
    4. In Details, rename the integration if necessary, and then click the Configuration tab.
    5. Paste the previously obtained Bold360 account ID in the Account ID field.

       
  4. Create an API trigger in Bold360
    This API trigger defines the conditions of an API call to be invoked in order to activate the predictive engagement of the selected Bold360 chat button.
    1. Create a new API setting. Name it “GPE+DX” and click Save

      Follow the API trigger creation process described here. See Task 2: Create an API trigger.
      During the process, make sure to set the following:
            In General
               API Key: Settings Key for Customer Journey Embed
               Item type: Chats
               URL Type: Agent button
               View: Embedded
            In Parameters, select VisitInfo in FIELD.
       
  5. Create an action map in Genesys Cloud
    1. Create a segment which defines customer characteristics that you want to engage.
    2. Create an action map: follow the process described here.
      During the process, make sure to set the following:
      1. In Configure trigger type, select Genesys DX Bold Chat. The Bold360 Open Action Schema pops up.
      2. In Bold360 Open Action Schema:
        1. Select the Bold360 Account ID you have added to Genesys Cloud in Step 3 from the dropdown menu.
        2. Obtain the Chat button ID and the Website ID from Chat button (Floating) HTML in the Bold360 admin and paste them in the respective fields. Click Finish.
      3. In Set up Trigger, click Select Segments and select the segment you have created in the first step. Click Done.

         Note: Optionally, you can create outcomes before creating the action map. Read more about outcomes here
         
  6. Creating the iFrame
    1. Host the following HTML file and make it publicly available.

      <!doctype html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

          <title>Customer Journey Embed</title>
      </head>
      <body>
      <ul id="data"></ul>
      <p id="status"></p>

      <!-- This page is loaded in an iframe by the Bold360 Agent Workspace when an agent accepts an interaction. -->
      <!-- The page extracts the customerId passed by the parent application and -->
      <!-- uses it to redirect to the customer journey visualisation for that customerId. -->
      <script type="text/javascript">
        const authStorageKey = 'bold_agent_genesys_cloud_auth';
        const redirectStateStorageKey = 'bold_agent_redirect_state';
        const region = getQueryVariable('region');
        const environment = getQueryVariable('environment');  // likely to be undefined most of the time

        function redirectToLoginPage() {
          const redirectUri = getQueryVariable('redirectUri');
          const domain = genesysCloudDomainForRegion(region, environment);
          const clientId = getQueryVariable('clientId');

          const loginUrl = `https://login.${domain}/oauth/authorize?client_id=${clientId}&response_type=token&redirect_uri=${encodeURIComponent(redirectUri)}`;

          saveRedirectState();

          window.location.href = loginUrl;
        }

        function getAuthData() {
          let item;
          try {
            const itemStr = localStorage.getItem(authStorageKey) || '{}';
            item = JSON.parse(itemStr);
          } catch (err) {
            console.error('Could not deserialise auth data', err);
            return {};
          }

          return item;
        }

        function setAuthData(authData) {
          return localStorage.setItem(authStorageKey, JSON.stringify(authData));
        }

        function getSavedRedirectState() {
          return localStorage.getItem(redirectStateStorageKey);
        }

        function saveRedirectState() {
          localStorage.setItem(redirectStateStorageKey, window.location.search);
        }

        function clearRedirectState() {
          localStorage.removeItem(redirectStateStorageKey);
        }

        function exec() {
          const hashParams = new URLSearchParams(window.location.hash.slice(1));
          let authData = parseAuthParams(hashParams);

          if (isAuthValid(authData)) {
            setAuthData(authData);
            window.location.hash = '';
          } else {
            authData = getAuthData();

            if (!isAuthValid(authData)) {
              console.log('redirecting to login page')
              redirectToLoginPage();
              return;
            }
          }

          let queryParamsStr = window.location.search;
          const savedQueryParams = getSavedRedirectState();

          if (savedQueryParams) {
            queryParamsStr = savedQueryParams;
            clearRedirectState();
          }

          const queryParams = new URLSearchParams(queryParamsStr);

          // customerId is passed in the VisitInfo custom parameter from Bold360
          const customerId = queryParams.get('VisitInfo');
          if (!customerId) {
            $('#status').text('No customerId found..');
            return;
          }

          redirectToGadget(customerId, authData.accessToken, queryParams.get('region'));
        }

        function isAuthValid(authData) {
          return authData && authData.accessToken && authData.expirationTime && authData.expirationTime > Date.now();
        }

        function parseAuthParams(params) {
          const auth = {};

          if (params.has('access_token')) {
            auth.accessToken = params.get('access_token');

            const expiresIn = params.get('expires_in');

            if (!isNaN(expiresIn * 1)) {
              auth.expirationTime = Date.now() + expiresIn * 1000;
            } else { // default of 1 hour expiry
              auth.expirationTime = Date.now() + 3600 * 1000;
            }
          } else {
            const authToken = getQueryVariable('auth');
            if (authToken) {
              auth.accessToken = authToken;
              // review if this works
              auth.expirationTime = Date.now() + 3600 * 1000;
            }
          }

          return auth;
        }

        function getQueryVariable(variable) {
          var query = window.location.href.split('?');
          var vars = query[1] ? query[1].split('&') : [];
          for (var i = 0; i < vars.length; i++) {
            var pair = vars[i].split('=');
            if (decodeURIComponent(pair[0]) == variable) {
              return decodeURIComponent(pair[1]);
            }
          }
        }

        function genesysCloudDomainForRegion(region, env) {
          if (env && env === 'dev') {
            return 'inindca.com';
          } else if (env && env === 'test') {
            return 'inintca.com';
          }

          switch (region) {
            case 'euw1':
              return 'mypurecloud.ie';
              break;
            case 'euc1':
              return 'mypurecloud.de';
              break;
            case 'apne1':
              return 'mypurecloud.jp';
              break;
            case 'apse2':
              return 'mypurecloud.com.au';
              break;
            case 'aps1':
              return 'aps1.pure.cloud';
              break;
            case 'euw2':
              return 'euw2.pure.cloud';
              break;
            case 'cac1':
              return 'cac1.pure.cloud';
              break;
            case 'usw2':
              return 'usw2.pure.cloud';
              break;
            case 'apne2':
              return 'apne2.pure.cloud';
              break;
            default:
              return 'mypurecloud.com';
          }
        }

        function redirectToGadget(customerId, accessToken, regionDefined) {
          const domain = genesysCloudDomainForRegion(regionDefined, environment);
          let gadgetUrl = `https://apps.${domain}/journey/gadgets/v0/integration/purecloud-launcher/?gadgetId=holisticCustomerJourney&customerId=${customerId}&customerIdType=cookie`;

          if (accessToken) {
            gadgetUrl += `&accessToken=${accessToken}`;
          }

          window.location.href = gadgetUrl;
        }

        exec();
      </script>
      </body>
      </html>

    2. Determine your region based on the following table.
      URL Used to access Genesys Region short name
      https://apps.mypurecloud.com use1
      https://apps.usw2.pure.cloud usw2
      https://apps.cac1.pure.cloud cac1
      https://apps.mypurecloud.de  euc1
      https://apps.mypurecloud.ie euw1
      https://apps.euw2.pure.cloud  euw2
      https://apps.aps1.pure.cloud aps1
      https://apps.apne2.pure.cloud apne1
      https://apps.mypurecloud.com.au apse2
      https://apps.mypurecloud.jp apne1

       

    3. Set the API trigger iframe URL to https://<url-to-the-html-file>?clientId=<OAUTH_CLIENT_ID>]&region=<REGION_SHORT_NAME>&redirectUri=https://<url-to-the-html-file>.
       
  7. Results on the Agent Platform
    Agents can now inspect the customer's journey on the Agent Platform. 
    1. Make sure that Agents are logged into the Genesys Agent Workspace and into Genesys Cloud as well.
    2. Select the icon of the API trigger set in Step 4 in the top ribbon.
    3. The Web visit visualization of the customer is now visible and Agents can get details about each phase of the the customer's journey.

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
  • Visit your admin site only through HTTPS
  • Update any HTTP protocol bookmarks  to HTTPS.

  If admins try to reach the site through HTTP, the server denies access.

Deployed widgets
  • Redeploy widgets where the configuration does not enforce HTTPS communication.

 Widgets use the protocol of the site visitor, so if the widget does not enforce HTTPS communication, the widget appears broken to the visitor.

 NoteThe change does not affect widgets with enforced HTTPS configuration.

API endpoint calls
  • Update the address of your servers with the HTTPS protocol, so all API calls use the right address.

API calls where the protocol is HTTP get a deny response from the server.

 

How to create an API key in Bold360 AI

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.

  1. In the AI Console, go to Admin Center > API keys and select Add API Key.

  2. Name your API key at the top of the page.

    Example: If you're creating an API key for integration with Bold360 Agent, you could use the Bold360 Live Chat name.

  3. Under Permissions, select the permissions for this API key.

    Example: If you're creating an API key for integration with Bold360 Agent, grant Write access for all categories.

    Important: If you define Write permissions, restrict access to either IP ranges or referrer domains.
  4. Under Allowed knowledge bases, select the knowledge bases that this API key can access.
  5. Under Allowed IP ranges, you can restrict access to specific IP addresses or ranges.

    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.

  6. Under Allowed referrers, you may restrict access to requests originating from specific referrer domains.

    Enter one domain per line.

  7. Choose Generate API Key.
What's Next? Copy the API key to use it during setting up the integration. Follow these steps to integrate Bold360 AI with Bold360 Agent.

Ticket Export API

You can use the Bold360 AI Ticket Export API to download ticket data to XML or CSV format.

Syntax

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

Parameters

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
  • Set to true to return overdue tickets
  • Set to false to return tickets that were not overdue
format Format should be set to one of the following:
  • xml
  • csv

Return values

The returned data will include the list of tickets, and each ticket will include the following information:

  1. Ticket title
  2. Ticket body
  3. Ticket email address
  4. Ticket Status (open or closed)
  5. Ticket Time & Date
  6. Agent Reply Time & Date
  7. Ticket correspondence

Viewing and working on the data in Excel

To view and work on the data in Excel, please follow the steps below:

  1. Browse to the API using your browser.
  2. Right click on the page and "Save As" to a CSV / XML file.
  3. Open the file in Excel.

Bold360 AI Events API for Arcade and Modern widgets

Events API

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.

Note: This API is valid for Arcade and Modern styles only. Please see this guide if you are using a Slim widget.

Supported Events:

  • load: Fires when the widget is fully loaded
  • userStartedTyping: Fires when User starts typing into the search box
  • query: Fires after the user finishes typing and the query is sent to the server
  • incomingSearchResults: Fires when the search results arrive at the widget
    • hasResults(bool) - indicates if results were given to the query.
    • isAutoQuestion(bool) - indicates if the query was an auto question.
    • query(string) - the query asked.
    • results(Json Array) - the results to the query. Each item in the array is a json object: { answerId(string), title(string), body(string) }
  • escalation: Fires when the user performed an escalation (e.g email, chat)
  • like: Fires when the user clicked 'Like' on a search result
// 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) {} };

Usage Examples:

// 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);}

Floating widget script example:

< !--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 >

Bold360 AI Events API for Slim and Harmony widgets

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

Example: Sending customized GA events
 
/* 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 
    }); 
  }
});

How to import multiple articles in a batch with the API

You can import a large number of articles in a batch through the API.

Important: If the Dual control of article approval option is enabled for your account, article import through the API is not possible. Contact your Success Manager for more information.
Articles can be imported to the knowledge base through the API when the Enable approval workflow option is enabled for an account. Such articles will be in Published status and they are set live in the knowledge base.
Note: It is not possible to import system labels like Never Published, Draft, Offline or Hide in Support Center.

To learn more about how to import articles through the API, visit our Rest API & SDK Reference.

How do I view audit logs in the system?

In Digital DX AI, audit logs store information about changes made by users, or by an automatic process in the Digital DX AI back-end.

Currently the Digital DX AI audit logs are only available via an API. To export Digital DX AI audit logs, do the following:
  1. Create an API key in your Digital DX AI account to be able to use the Analytics API as described in How to create an API key.

    Example: The following is an example API call:

    https://my.nanorep.com/api/analytics/v1/auditLog?download=true&account=Bold360ai&apiKey=XXXX-XXXX-XXXX-XXXX-XXXX

  2. ReplaceBold360 AI with your Digital DX AI account name.
  3. Replace the API key with the API key code created in Step 1.
  4. Optional: You can define to export only specific events with the API. The following events are available:
    Event type ID
    None 0
    widget_common 1
    widget_embedded 2
    widget_floating 3
    widget_domain 4
    Facebook 5
    Re-channeling 10
    Ticketing 20
    Rules 21
    Signature 22
    SLA 23
    Support page 31
    Users and user groups (12207) 40
    API keys 50
Example: API call for exporting specific events
https://my.nanorep.com/api/analytics/v1/auditLog?download=true&account=YOUR_ACCOUNT_NAME&apiKey=1234567890abcdef&eventType=20

What are Bold360 AI APIs?

Bold360 AI APIs and SDKs can be used to customize how web and other applications provide chatbot and related services.

Bold360 AI provides the following sets of APIs and SDKs:

  • Web API and SDK: HTML and JavaScript code in your web pages controls how Bold360 AI widgets and custom user interface (UI) components appear and behave. The API provides methods and events that you can control programmatically. The SDK provides access to individual controls that make up the widgets, such as query boxes, FAQ lists, feedback queries, and sharing controls. The API and SDK provide advanced customization that is not available through the Bold360 AI UI.
  • REST API: Your code uses URLs to call HTTPS endpoints on the server. Bold360 AI provides many API endpoints. The server responds by sending a JSONP (JSON with Padding), XML, or CSV response payload. The server also returns standard HTTPS response codes to indicate errors or success.
  • Android SDK: Your Android code uses this SDK to control Bold360 AI widgets in your mobile app.
  • iOS SDK: Your iOS code uses this SDK to control Bold360 AI widgets in your mobile app.

To use Bold360 AI APIs, you'll need an API key. See this article to learn how to create one.

Announcements

Join the DX Community!

Meet fellow DX pros, ask questions, and learn best practices.

Join the DX Community

Featured

Set up an email account

Set up an email account

Configure Digital DX to receive, track, and manage emails.

  1. Create or edit an email account, as follows:
    1. In the Web Admin Center, go to Channels > Email > Email Accounts. The Email Accounts window is displayed.
      Note: To verify that an email account is set up properly, click Test next to an account.
    2. Select an existing account or click Create New. The New/Edit Email Account page is displayed.
  2. Select Enable email to activate the email account.
  3. Enter basic account settings on the General tab:
    Option Description
    Configuration Name Name the account for internal reference.
    Sender Email Address To use when sending email.
    Friendly Sender Name Used as the From Email Name when sending emails via this account. For example: Support Team, Jane Doe.
    Email client

    Select the email client you are using: MS Office 365 / Gmail / Other.

    The MS Office 365 and Gmail options don't only support the recommended OAuth 2.0 authentication, the Other option supports any client with basic authentication.

  4. Select the email client that you use to communicate over email.
    Note: In the Digital DX Desktop Client, you cannot select email client.
  5. Depending on your email client, you have the following options:
    Option Description
    User Name User name of the email server. For example, in the email address support@acme.com, the user name is support.
    Password The password associated with the user name for the POP3 server. Only available when you select Other for email client type.
    Server/Port Enter the host name or IP address and port of your mail server. If your email address is support@acme.com, then your mail server host name is normally mail.acme.com or just acme.com. All inbound emails are retrieved from this POP3 server.
    Secure Connection (SSL) To use a secure connection to your mail server, check Secure Connection (SSL) and enter the Port to be used for the connection. Check with your service provider as required.
    Type Choose your server type: POP3 or IMAP.
    Note: POP3 is unavailable for Microsoft Office 365 users.
    Leave copy of messages on server Store copies of emails on your POP3 server to facilitate download to Outlook or any other mail client.
    Folder Click Refresh folder list and then select the folder in your email account that you want to use for email communication with your customers.
    Tenant ID You Microsoft Tenant ID that you can find in the Azure AD admin center. (in the Directory ID field on the Properties page). Only available for Microsoft Office 365 users.
    Client ID
    • Microsoft Office 365 users find it in the Overview page of the Azure AD admin center
    • Gmail users find it on the APIs & Services > Credentials page Google Cloud Platform
    Client Secret Your client secret that you can find right next to your client ID. Only available for Microsoft Office 365 and Gmail users.
    Outgoing server Select SMTP server to set up an SMTP server for outgoing email.
  6. Optional: (Optional) Enter additional settings on the Distribution - Organization tab:
    Option Description
    Department Associate a Department with the email account. The Department can be used to override account-level automatic distribution settings and to determine which agents can be assigned emails by the automatic distribution system.
    Maintain email thread ownership on new mails Preserve the Owner (agent) field of each email thread.
    Append email thread ID to subject Append the Email Thread ID to the subject of replies. This make it easier to keep track of conversations with customers.
    Append email thread ID to subject Append the Email Thread ID to the subject of replies. This make it easier to keep track of conversations with customers.
    Auto-bcc Specify an email address that is included in the BCC field of all outbound emails from the agent.
  7. Optional: (Optional) Enter additional settings on the Format and content tab:
    Option Description
    Encoding Encoding for outgoing and incoming messages.
    Format Choose to show incoming email as either plain text or HTML.
    Canned messages for emails Select canned message folders that agents can use with email.
    Email Footer Enable and design a footer that is appended to all emails sent from this email account.
  8. Save your changes.
  9. For Gmail and MS O365 integrations, go to the recently added email account on the Email Account view and select the Authorize option.

    Complete the steps in the dialog that appears. Once the authentication is complete, the status of the email channel changes to Ready.