Digital Channel

Digital channels are distinct and separate from the voice state control of Cisco Finesse. For example, Email and Chat. Digital channels are intended for gadgets to represent their custom channels and can be programmatically used to control the digital channel state.

The Finesse Digital Channel State Control (FNC), a programmable desktop component, is available from Cisco Finesse Release 12.0(1) onwards. This API provides the schema that is used in finesse.digital.ChannelService for various digital channel operations.

Component Interaction
Digital Channel Options

Object Definitions

The finesse.digital.ChannelService class uses specific data objects as inputs. The properties and their values of the object are JSON Schema compliant. The format is defined below.

channelConfig

The channelConfig object helps to configure the digital channel details.

finesse.containerservices.ChannelSchema.getChannelConfigSchema()

Sample channelConfig Object

Code Snippet
Copy{
    "actionTimeoutInSec": 5,
    "icons": [{
            "type": "collab-icon",
            "value": "Chat"
        },
        {
            "type": "url",
            "value": "../../thirdparty/gadget3/channel-icon.png"
        }
    ]
}

The payload details are explained in the table below.

Key

Type

Description

actionTimeoutInSec

Integer

The duration for which the FNC waits after sending the menu selection request to the gadget. The duration is mentioned in seconds, and the upper limit is 30 seconds. During this period, no other operation can be performed on the FNC.

icons

Array

The icons displayed in the header to represent a digital channel.

-->type

Enum

The type of the icon in the header. For more information, see Cisco Common Desktop Stock Icon Names with Image.

-->value

String

The display name of the icon.

The following method can be used to get the schema for the channelConfig object.

finesse.containerservices.ChannelSchema.getChannelConfigSchema()

channelState

The channelState object defines the state of the digital channel.

finesse.containerservices.ChannelSchema.getChannelStateSchema()

Sample channelState Object

Code Snippet
Copy{
    "label": "Chat & Email",
    "currentState": "ready",
    "iconColor": "available",
    "enable": true,
    "logoutDisabled": true,
    "logoutDisabledText": "Please go unavailable on chat before logout",
    "iconBadge": "none"
    "hoverText": "Tooltip text"
}

Key

Type

Description

label

String

The label of the digital channel.

currentState

String

The text that describes the current state of the digital channel.

iconColor

Enum

The color of the icon based on the current state of the digital channel.

  • Green color refers to available.

  • Red color refers to unavailable.

  • Orange color refers to busy.

enable

Boolean

Determines whether the digital channel is shown in the Finesse desktop.

  • True—Shows the digital channel menu in the Finesse desktop.

  • False—Does not show the digital channel menu in the Finesse desktop.

logoutDisabled

Boolean

Determines whether the logout menu is shown in the user identity component.

  • True—Disables the logout menu in the user identity component.

  • False—Enables the logout menu in the user identity component.

For example, during Agent Ready or Busy state, disable the logout menu and enable it again when the state changes to Not Ready.

logoutDisabledText

String

The text to the user if the logout menu is disabled.

iconBadge

String

The type of badge based in the digital channel.

  • info refers to the information badge.

  • error refers to an error badge.

  • warning refers to the warning badge.

  • none refers to no badge.

hoverText

String

The tooltip when you hover the mouse pointer.

The following method can be used to get the schema for the channelState object.

finesse.containerservices.ChannelSchema.getChannelStateSchema()

The menuConfig object helps to configure the menu details.

finesse.containerservices.ChannelSchema.getMenuConfigSchema()

Sample menuConfig Object

Code Snippet
Copy{
    "label": "Chat",
    "menuItems": [{
            "id": "ready-menu-item",
            "label": "Ready",
            "iconColor": "available"
        },
        {
            "id": "not-ready-menu-item",
            "label": "Not Ready",
            "iconColor": "unavailable"
        }
    ]
}

Key

Type

Description

label

String

The label of the digital channel.

menuItems

Array

The list of the menu items for the digital channel.

-->id

String

Unique identifier of the digital channel menu. When there is a user action on the digital channel menu, this Id is returned through the parameter finesse.digital.ChannelService.selectedMenuItemId.

-->label

String

The text of the menu item.

-->iconColor

Enum

The color of the icon based on the current state of the digital channel.

  • Green color refers to available.

  • Red color refers to unavailable.

  • Orange color refers to busy.

The following method can be used to get the schema for the menuConfig object.

finesse.containerservices.ChannelSchema.getMenuConfigSchema()