Digital Engagement Reporting and Data APIs
    • 08 Feb 2024
    • 5 Minutes to read
    • Dark
      Light
    • PDF

    Digital Engagement Reporting and Data APIs

    • Dark
      Light
    • PDF
    • New

    Article Summary

    Dialpad's Omnichannel Contact Center uses AI to create personalized customer experiences by unifying their journey across touchpoints and engagement systems. The platform stores customer history for one year, with additional storage options available for a fee. To build custom dashboards, partners can obtain a Digital Engagement API key. REST APIs allow partners to access the Dialpad Digital Experience data from a secure and scalable cloud instance. API endpoints serve as access points for different functionalities or resources provided by the API. The JSON data extracted from the APIs includes fields such as text, timestamp, sender information, sentiment, workflow details, topic, and session information. Redacted messages may have entity replacement performed according to privacy and redaction policies.

    Build rich and relevant customer experiences by unifying the customer’s journey across touchpoints and engagement systems. Dialpad's Omnichannel Contact Center uses an AI-centric approach where customer context, conversation, and workflow data are continuously processed to create consistent, personalized, and empathetic experiences in real-time.

    While the Dialpad dashboard provides basic insight and reporting, you can use our APIs to build custom dashboards to dive into the data that matters to you the most.

    Let's dive into the details. 

    Data Retention Policy

    The Dialpad Digital Experience platform stores customer history for one year, though additional storage and archival options are available for a fee. This data is accessed through the APIs, daily reports, and manual data extraction.
    Dialpad runtime/dashboard analysis data is stored for 30 days. This data is displayed in the Dashboard, Statusboard, and other runtime screens.

    Get a Digital Engagement API key

    If you'd like to build a custom dashboard, you'll need a Digital Experience API key. This unique identifier API key allows partners to access the Dialpad APIs.

    Note
    Digital Engagement API keys are not the same single-use keys generated from your Company Authentication settings. For more information on Dialpad API keys, head to this Help Center article.

    To get a Digital Engagement API key, head to your Admin Settings from Dialpad.com 

    1. Navigate Ai Contact Centers
    2. Select your Digital Contact Center
    3. Navigate to Advanced Settings
    4. Select Configure Digital Engagement 


    5. Select Essential Mode
    6. Select Admin
    7. Select Profile
    8. Select Integrations
    9. Select the Eye icon to unhide your API key, then copy it as required

    REST APIs

    REST APIs are standard APIs allowing partners to access the Dialpad Digital Experience data.

    The Dialpad digital experience cloud instance is a secure and scalable environment that hosts data. API services can fetch data from the cloud instance as needed, eliminating the need for an on-premise data aggregation service.

    Response Document
    The response will be a JSON array of messages, sent in the following format:

    [
       {
            "messages"[
                 {},
                 {}
             ]
        }
    ]

    The message will be:

    Response status:
    ● 200OK -> Payload will be an array of messages or an empty array if no
    messages found.
    ● There be an appropriate HTTP status code for all other error conditions.
    ● The response will be an empty array if an invalid or non-existent customersessionid is given for the customer session API

    API endpoints

    An API endpoint is a specific web address that allows different software applications to communicate and exchange data with each other. It serves as a doorway or access point to access a particular functionality or resource provided by an API.

    Let's look at the different API Endpoints Dialpad's Digital Engagement offers.

    Get redacted message for a customer session

    A customer session is the interaction by the customer with bots and agents during a
    given session. This API returns all messages associated with the customer session.

    API

    GET

    KoopidPartnerServer/api/APIEndpoint/Dashboard/{{Provid
    erId}}/RedactedMessages

     

    Request

    Headers     

    Authorization: Bearer {{apikey}}
    Content-Type: application/json
    Accept: application/json

    Parameters

     

    providerid: {{providerid}}

    Digital experience accountid

    customersessionid:
    {{customersession}}

    This will be in the form (-)xxxx.xxxx

    limit

    Number of entries to be returned Default: 0

    offset

    Offset for next fetch

    Default: 0

    start

    Start time in epoch

    end

    End time in epoch

    End-start shouldn't be more than 7 days

    Response

    Status

    200 or other HTTP status

     

    Body

    JSON array

     

    Get redacted message for a provider

    API to retrieve all customer interactions for the given duration in a company. This API

    is useful if a business has their own reporting infrastructure and want to get data
    regularly. Maximum duration allowed is 7 days

    API

    POST

    KoopidPartnerServer/api/APIEndpoint/Dashboard/Messages

     

    Request

    Headers     

    Authorization: Bearer {{apikey}}
    Content-Type: application/json
    Accept: application/json

    Parameters

     

    providerid: {{providerid}}

    Digital experience accountid

    Body 

    {

    "providerId":{{provider
    id}},
    "start" : {{start}},
    "end" : {{end}},
    "limit" : 0,
    "offset": 0,
    "interval": "1d"
    }

    • providerid: available on the admin portal
    • start: start time in epoch
    • end: end time in epoch. The difference can not be more than 7 days
    • limit: Number of messages to be returned
    • offset: Offset for subsequent request
    • interval: This parameter is not used.

    Response

    Status

    200 or other HTTP status

     

    Body

    JSON array

     

    Data field description and reference

    Your extracted JSON data has a number of fields.

    Let's take a look at each of the available fields.

    • text: the text of the message
    • timestamp: time when the message was created in a human-readable format
    • ts: time when the message was created in Unix epoch format (time elapsed in milliseconds since Midnight 1 January 1970). It is the same time as timestamp in
    • a different format.
    • sendername * : the name of the user who created the message
    • senderemail * : the email of the user who created the message
    • sendertype *: the type of user who created the message
      • Possible values are customer/bot/agent
    • sessionid: this field is specified as x.y where x is a unique conversation id and y is the
      session id for this message. 
      • Conversations consist of several consecutive segments
        numbered starting from 1.
      • For example, 12.5 refers to the 5th segment in the conversation with id=12. Note two different conversations may have similar segment ids. For example, 12.5 and 13.5 refer to different segments in different conversations.
    • sentiment:the sentiment for the text field of the message. 
      • Positive values indicate positive sentiment, negative values indicate negative sentiment, and 0 indicates a
        neutral sentiment.
    • workflow * : the name of the encompassing workflow for this message
    • workflownodeid *: the id of the workflow node that resulted in this message
      • The value of this field is taken from the json definition of the workflow.
    • topic: the inferred intent of the text based on the intent definitions that exist for this provider
    • score: the confidence (probability) for the inferred intent or topic value
    • topmatches: shows the top 3 inferred intents for the text in the message, their confidences, and their closest matched text
    • lang: detected language of the text
    • customersessionid:A session id spanning across multiple sessionids.
      • For eg. if a customer connects to the bot, then to an agent, then gets transferred to another agent and again to a bot for survey, there will be a common customersessionid for all these sessionids.
    • sessionchannel: The digital channel where the session is initiated
    • sessionchannelinfo: Metadata associated with the session channel. This will include information like WhatsApp number or twitter handle account details of the business.
    • chattype: Indicates if the given message is part of a bot or agent interaction

    * optional field

    Entity types

    The export of redacted messages may have entity replacement performed as part of privacy and redaction policy. Any provider-specific custom entities will be replaced according to their definition.

    Let's take a deeper look at the types of entities that may be replaced.

    EntityRedaction NameDescription
    Location****GPE****Major cities and countries in the world
    Dates****DATE****Some of the supported formats are May 23; May 23, 2018; 02/03/2019; 02-03-2019
    Time****TIME****Common time formats
    Organization****ORG****

    Major organizations such as Citibank, Trader Joe’s, Whole Foods, Chase Bank.

    There may
    not be support for non-US organizations.

    People****NAME****

    People names (format firstname lastname).

    Ex: Adam Smith, John Doe.
    There is limited support for names that have non-Anglo origins.

    Money****MONEY****Currency values
    Email****EMAIL****Email addresses
    Numeric****NUMERIC****String of numbers
    Identifier****ID****String of digits and/or letters

    Was this article helpful?