Skip to main content
Skip table of contents

Generic Connector JSON API

A GC client can call this API to connect with Generic Connector.  

REST JSON Format

We will use this specific format for GC REST Commands and Events for JSON API Click here for the data format

Agent Commands

Print Message

Message types and their expected output are mentioned below.

Input Message

Category

Message Type

Message Parameters

Expected Output

Comments

Send Heartbeat while not logged in

system

Hello#<client_destination>

For Rest Command

{
  "data": {
    "type": "HELLO#<client_destination>",
    "body": "null",
    "sessionUrl": "<sessionUrl>",
    "callbackFqdn": "<callbackFqdn>",
    "callbackEndpoint": "<callbackEndpoint>"
  }
}




System Status


Send Heartbeatwhile logged in

system

Beat#<client_destination>


System Status


Connect AgentID with Client Unique Name

agent_info

Connect#<agent_login_Id>

For Rest Command

{
"data": {
"type": "Connect#<agent_login_Id>",
"body": "<client_destination>,<agent_password>",
"sessionUrl": "<sessionUrl>",
"callbackFqdn": "<callbackFqdn>",
"callbackEndpoint": "<callbackEndpoint>"
}
}

<client_destination>,<agent_password>


If SSO enabled

<client_destination>,<agent_password>,<SSO>

Connect Status

SUBSCRIPTION_FAILED

No response

Note

We will pass SSO as a third parameter if the user is SSO Enabled, otherwise, we will send two parameters as we are sending previously

Agent Login

agent_state

Login#<agent_login_Id>

For Rest Command

{
"data": {
"type": "Login#<agent_login_Id>",
"body": "<agent_password>,<agent_extension>",
"sessionUrl": "<sessionUrl>"
}
}

<agent_password>,<agent_extension>

Agent State, Agent Info

Dialog State,


Mobile Agent Login

agent_state

MobileAgentLogin#<agent_login_Id>

For Rest Command

{
"data": {
"type": "MobileAgentLogin#<agent_login_Id>",
"body": "<agent_password>,<agent_extension>,<agent_phone>,<connection_mode>",
"sessionUrl": "<sessionUrl>"
}
}

<agent_password>,<agent_extension>,<agent_phone>,<connection_mode>

Agent State, Agent Info

Dialog State,

Only on UCCE but not tested yet. 
Set connection mode to “true” for “call by call”, “false” for “nailed connection”.

Agent Logout

agent_state

Logout#<agent_login_Id>


Agent State

Supervisor Command

Make agent ready

agent_state

MakeReady#<agent_login_Id>


Agent State


Make agent not ready

agent_state

MakeNotReady#<agent_login_Id>


Agent State

Supervisor Command

Get agent current state

agent_state

GetState#<agent_login_Id>


Agent State

Dialog State


Not Ready with reason code

agent_state

MakeNotReadyWithReason#<agent_login_Id>

<agent_reason_code>

Agent State


Make a call

agent_call

MakeCall# <agent_login_Id>

<Other_Party_Extension_Number>

Agent State

Inbound Call


Answer a call

agent_call

AnswerCall# <agent_login_Id>

<Dialog_ID>

Inbound Call


Hold a call

agent_call

HoldCall#<agent_login_Id>

<Dialog_ID>

Inbound Call

Agent State


Unhold a call

agent_call

RetrieveCall#<agent_login_Id>

<Dialog_ID>

Inbound Call

Agent State


Release a call

agent_call

ReleaseCall#<agent_login_Id>

<Dialog_ID>

Inbound Call

Agent State


Get Agent Wrap-up Reason Codes

agent_work

wrapupreasoncode#<agent_login_Id>


Reason Codes


Get Agent Logout Reason Codes

agent_state

reasoncodelogout#<agent_login_Id>


Reason Codes


Get Agent Not Ready Reason Codes

agent_state

reasoncodenotready#<agent_login_Id>


Reason Codes


Blind Transfer

agent_call

Transfer_sst#<agent_login_Id>

<Other_Party_Extension_Number>,<Dialog_ID>

Agent State

Inbound Call

Consult Call

Inbound Call

New Inbound Call

Consult Call

For UCCX

Inbound Call

Agent State

New Inbound Call


Used only in UCCE, will update later.

Consult Call

agent_call

ConsultCall#<agent_login_Id>

<Other_Party_Extension_Number>,<Dialog_ID>

Consult Call


Consult Initiation

agent_call

ConsultCall#<agent_login_Id>

<Other_Party_Extension_Number>,<Dialog_ID>

Consult Call


Consult Transfer

agent_call

TransferCall#<agent_login_Id>

<agent_extension>,<Dialog_ID>

Transfer Call


Complete Conference

agent_call

Conferencecall#<agent_login_Id>

<agent_extension>,<Dialog_ID>

Conference Call


Get Dialog State

agent_dialog

getdialogstate#<agent_login_Id>

<Dialog_ID>

Dialog State


Update Dialog Wrap-up Codes

agent_dialog

wrapup#<agent_login_Id>

<Wrapup_Reason>,<dialog_id>


No response is received when this event is called.

Logout with Reason

agent_state

logoutwithreason#<agent_login_Id>

<ReasonCode>

Agent State


Abrupt Agent Disconnection

agent_state

force_logout#<agent_login_Id>


Agent State

Had do send this message in backend but the output is same as of in Expected Output

Get Dialog State Controls

agent_dialog

getdialogstatecontrols#<agent_login_Id>

<Dialog_ID>


Not Implemented yet

Make Work Not Ready

agent_state

makeworknotready#<agentID>




Make Work Ready

agent_state

makeworkready#<agentID>




Get Dialog Participants

agent_call

getDialogParticipants#<agent_login_id>

<dialog_id>



Get Logged in Agents

agent_call

getallagents#<agent_login_id>


Get All Agents


Update Dialog Variable

agent_call

update_call_variable#<agent_login_Id>

<dialog_id>,<variable_name=variable_value>

Inbound Call

Will receive this InboundCall event with updated call variables

Pause Zoom Call Recording

zoom

ZOOMPauseRecording#<agent_login_Id>




Resume Zoom Call Recording

zoom

ZOOMResumeRecording#<agent_login_Id>




Refresh

agent_state

refresh#<agent_login_Id>




Get Team and Global Phonebooks

phonebook

GetPhonebooks#<agent_login_id>


Phonebooks


Get Team Phonebooks

team_phonebooks

GetTeamPhonebooks#<agent_login_id>

<TeamID>

TeamPhonebooks


Get Contacts of a Phonebook

contacts

GetPhonebookContacts#<agent_login_id>

<PhonebookID>

Contacts


Accept Outbound Preview Call

agent_call

AcceptOutboundPreview#<agent_login_id>

<dialog_id>,<ACCEPT>

Before Call Accepted

Agent State (RESERVED)

Agent State

 (RESERVED_OUTBOUND_PREVIEW)

NewOutboundPreviewCall

Inbound Call(ACTIVE)

Inbound Call(ACTIVE)

After Call Accepted

Inbound Call(ACCEPTED)

Inbound Call(INITIATING)

Inbound Call(DROPPED)

Inbound Call(INITIATING)

Inbound Call(INITIATED)

Print Message

Inbound Call(ACTIVE)


Call Type (OUTBOUND)


Pass ACCEPT as a second parameter if you want to accept a preview outbound call

Reject Outbound Preview Call

agent_call

RejectOutboundPreview#<agent_login_id>

<dialog_id>,<REJECT>

Before Call Rejected

Agent State (RESERVED)

AgentState(RESERVED_OUTBOUND_PREVIEW)

NewOutboundPreviewCall

Inbound Call(ACTIVE)

Inbound Call(ACTIVE)

After Call Rejected

Inbound Call(ACTIVE)

Inbound Call(DROPPED)

Pass REJECT as a second parameter if you want to reject preview outbound call

Close Outbound Preview Call

agent_call

CloseOutboundPreview#<agent_login_id>

<dialog_id>,<CLOSE>

Before Call Closed

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND_PREVIEW)

NewOutboundPreviewCall

Inbound Call(ACTIVE)

Inbound Call(ACTIVE)

After Call Closed

Inbound Call(ACTIVE)

Inbound Call(DROPPED)

Pass CLOSE as a second parameter if you want to close preview outbound call

Outbound Progressive Call

agent_call

AnswerCall# <agent_login_Id>

<Dialog_ID>

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND)

NewOutboundCall

Print Message

Inbound Call

Call Type (OUTBOUND)


Outbound Predictive Call

gent_call

AnswerCall# <agent_login_Id>

<Dialog_ID>

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND)

NewOutboundCall

Print Message

Inbound Call

Call Type (OUTBOUND)


Schedule a callback call

agent_call

SHCEDULECALLBACK#<agent_login_id>

<targetMediaAddress>,<dialog_id>,<callbackTime>,<callbackNumber>

Print Message

Inbound Call

Callback scheduled

Print Message

Inbound Call

Call Type (OUTBOUND)


Update a callback call

agent_call

UPDATECALLBACK#<agent_login_id>

<targetMediaAddress>,<dialog_id>,<callbackTime>,<callbackNumber>

Print Message

Inbound Call

Callback Updated

Print Message

Inbound Call

Call Type (OUTBOUND)


Cancel the scheduled callback call

agent_call

CANCELSHCEDULECALLBACK#<agent_login_id>

<targetMediaAddress>,<dialog_id>

Callback Canceled

Print Message

Inbound Call

Call Type (OUTBOUND)


 Reclassify an outbound direct preview call

agent_call

RECLASSIFYCALL#<agent_login_id>

<targetMediaAddress>,<dialog_id>,<Value>

Reclassify Created

Print Message

Inbound Call


Accept the personal callback call

agent_call

AcceptOutboundPreview#<agent_login_id>

<dialog_id>,<ACCEPT>

Before Call Accepted

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND_PREVIEW)

NewOutboundPreviewCall

Inbound Call(ACTIVE)

Inbound Call(ACTIVE)

After Call Accepted

Inbound Call(ACCEPTED)

Inbound Call(INITIATING)

Inbound Call(DROPPED)

Inbound Call(INITIATING)

Inbound Call(INITIATED)

Print Message

Inbound Call(ACTIVE)


Call Type (OUTBOUND)


Reject the personal callback Call

agent_call

RejectOutboundPreview#<agent_login_id>

<dialog_id>,<REJECT>

Before Call Rejected

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND_PREVIEW)

NewOutboundPreviewCall

Inbound Call(ACTIVE)

Inbound Call(ACTIVE)

After Call Rejected

Inbound Call(ACTIVE)

Inbound Call(DROPPED)


Get Skill Group List

skill_group

GETSKILLGROUP#<agent_login_id>

If you want All skill groups

<ALL>,<0>,<0>

If you want Indexing of skill groups

<INDEXING>,<1>,<25>

SkillGroup

Implemented only for UCCE

Get Supervisor List

supervisor_list

GETSUPERVISOR#<agent_login_id>


SupervisorList

Implemented only for UCCE

Get Agent Extension

agent_extension

GETAGENTEXTENSION

#<agent_login_id>

<F_Number>

AgentExtension

Implemented only for UCCE

Supervisor Commands

Input Message

Category

Message Type

Message Parameters

Expected Output

Comments

Get Queue Info

supervisor_queue_info

getqueuelist#<agent_login_Id>


QueueInfo



Silent Monitor (Supervisor Function)

supervisor_dialog

silentmonitor#<agent_login_Id>

<Agent_Extension>

On Supervisor

Inbound Call

On Agent

New Inbound Call

Inbound Call


End Silent Monitor (Supervisor Function)

supervisor_dialog

endsilentmonitor#<agent_login_Id>

<Dialog_ID>

Inbound Call


Drop Participant (Supervisor Function)

supervisor_dialog

dropparticipant#<agent_login_Id>

<Agent_Extension>,<Dialog_ID>

Agent State

Print Message


Get Team Users (Supervisor Function)

supervisor_team

getteamusers#<agent_login_Id>

<TeamID>,<true>

Get Team User

If you want to get team user and also want to subscribe team events then pass

"<true>" as an extra parameter.

Otherwise just pass 

<TeamID>

Get Team Users State (Supervisor Function)

supervisor_team_member_state

getteamuserstate#<agent_login_Id>

<Team_Agent_LoginID>


Not implemented in client yet

Make a Barge Call

agent_call

bargein#<agent_login_Id>

<Team_Agent_Extension>,<Dialog_ID>

Inbound Call


Agent Logout

agent_state

Logout#<agent_login_Id>


Agent State


Make agent not ready

agent_state

MakeNotReady#<agent_login_Id>


Agent State


Admin Commands

Input Message

Category

Message Type

Message Parameters

Expected Output

Comments

Get Team and Global Phonebooks

phonebook

GetPhonebooks#<agent_login_id>


Phonebooks


Get Contacts of a Phonebook

contacts

GetPhonebookContacts#<agent_login_id>

<PhonebookID>

Contacts


Get Team Phonebooks

phonebook

GetTeamPhonebooks#<agent_login_id>

<TeamID>

TeamPhonebooks


Queue Name

The queue name is received every time an agent consults/transfers/conferences with another agent, but on the Alerting event, the queue name remains empty & on the Answering event it shows the value in the queue name.
On answering the call but not on alerting event{}
Queue name appears in all below cases for CCE 12.6
Extension:
Consult. 
Consult-Transfer.
Direct-Transfer.
Consult-Conference
Queue DN
Consult.
Direct-Transfer.
Consult-Transfer.
Consult-Conference

GC Events

GC events as published by GC after receiving Finesse events:

System Status

Attribute

Value

Description

Sample Output

type

System



System
JS
{
"type": "System",
"status": "OUT_OF_SERVICE"
}


status


IN_SERVICE | OUT_OF_SERVICE

SUBSCRIPTION_FAILED

Attribute

Value

Description

Sample Output

type

Error



System
JS
{
  "type": "Error",
  "errorType": "SUBSCRIPTION_FAILED || Unauthorized",
  "errorMessage": "Invalid Credentials"
} 


Connect Status

Attribute

Value

Description

Sample Output

type

ConnectStatus



System
JS
{
  "type": "ConnectStatus",
  "status": "ConnectSuccess"
} 


status


ConnectSuccess

Agent Info 

Attribute

Value

Description

Sample Output

type

AgentInfo



Agent Info
JS
{
  "type": "AgentInfo",
  "firstName": "jehanzeb4",
  "lastName": "riaz",
  "supervisor": false,
  "wrapUpOnIncoming": "",
  "totalNumberOfTeams": "",
  "teams": [],
  "team": {
    "id": "7",
    "name": "Demo"
  },
  "agentId": "jehanzeb4"
}


firstName


Agent's first name

lastName


Agent's last name

supervisor

true | false

Is this agent a supervisor?

wrapUpOnIncoming



totalNumberOfTeams


Total numbers of teams

teams


If the agent is a supervisor, it's an array of all teams. Each element is a team object as defined below. 

team


Agent's team

agentId


Agent ID

Agent State 

Attribute

Value

Description

Sample Output Agent

Sample Output Supervisor

type

State



Agent State
JS
{
  "type": "State",
  "agentId": "jehanzeb6",
  "state": "NOT_READY",
  "reasonCode": "8",
  "stateChangeTimeString": "",
  "pendingState": "",
  "stateChangeTime": "2019-09-17 12:46:21",
  "fullName": "jehanzeb Riaz",
  "extension": "42801",
  "label": "Break"
 }



State

Agent state

From one of the following agent states: 

UNKNOWN,
READY,
NOT_READY,
LOGOUT,
TALKING,
RESERVED,
RESERVED_OUTBOUND,
RESERVED_OUTBOUND_PREVIEW,
WORK,
WORK_READY,
HOLD


Agent State
JS
{
  "type": "State",
  "teamAgentId": "jehanzeb6",
  "state": "NOT_READY",
  "reasonCode": "8",
  "stateChangeTimeString": "",
  "pendingState": "",
  "stateChangeTime": "2019-09-17 12:46:21",
  "fullName": "jehanzeb Riaz",
  "extension": "42801",
  "label": "Break",
"agentId": "jehanzeb6"
  }


reasonCode


Not Ready reason codes as defined in Finesse


stateChangeTimeString


not used


pendingState


Only available with UCCE and as passed by Cisco Finesse


stateChangeTime

2019-09-17 12:46:21

Date & Time of state change


fullName


Agent full name


extension


Agent's extension


label

break

state change label


Inbound Call State

Attribute

Value

Description

Sample Output

type

InboundCall

Attributes may vary for each type of Call object.


Agent Call
CODE
{
  "type": "InboundCall",
  "dialogId": "16871253",
  "state": "INITIATED",
  "startTime": "2019-09-17 15:32:15",
  "associatedDialogId": null,
  "fromAddress": "4012",
  "callVariables": [
    {
      "callVariable1": ""
    },
    {
      "callVariable2": ""
    },
    {
      "callVariable3": ""
    },
    {
      "callVariable4": ""
    },
    {
      "callVariable5": ""
    },
    {
      "callVariable6": ""
    },
    {
      "callVariable7": ""
    },
    {
      "callVariable8": ""
    },
    {
      "callVariable9": ""
    },
    {
      "callVariable10": ""
    },
    {
      "ani": "4012"
    }
  ],
  "participants": [
    {
      "mediaAddress": "1006",
      "state": "INITIATED",
      "addressType": "AGENT_DEVICE",
	  "stateCause": "",
 	  "stateChangeTime": "2019-09-17 12:46:21"
     }
  ],
  "callType": "",
  "queueName":"hassnain_SG",
  "agentId": "jehanzeb6"
}


dialogID


Finesse Dialog ID

state


One of the Finesse dialog states

startTime


The start time of the call 

associatedDialogId


Finesse Dialog ID

fromAddress


A number from an inbound call is placed

callVariables


A total of 10 call variables as received from Finesse

participants


Participants engaged in the call

callType


Call type

agentId


Agent ID

queueName


Queue Name


New Outbound Call State

Attribute

Value

Description

Sample Output

type

OutboundCall

Attributes may vary for each type of Call object.


Agent Call
CODE
{
  "type": "NewOutboundCall",
  "dialogId": "16871253",
  "fromAddress": "4012",
  "callVariables": [
    {
      "callVariable1": ""
    },
    {
      "callVariable2": ""
    },
    {
      "callVariable3": ""
    },
    {
      "callVariable4": ""
    },
    {
      "callVariable5": ""
    },
    {
      "callVariable6": ""
    },
    {
      "callVariable7": ""
    },
    {
      "callVariable8": ""
    },
    {
      "callVariable9": ""
    },
    {
      "callVariable10": ""
    },
    {
      "ani": "4012"
    }
  ],
"participants": [
    {
      "mediaAddress": "1006",
      "state": "INITIATED",
      "addressType": "AGENT_DEVICE",
	  "stateCause": "",
 	  "stateChangeTime": "2019-09-17 12:46:21"
     }
  ],
  "callType": "",
  "queueName":"hassnain_SG", 
  "agentId": "jehanzeb6"
}


dialogID


Finesse Dialog ID

state


One of the Finesse dialog states

startTime


The start time of the call 

prevDialogId


Finesse Dialog ID

fromAddress


A number from an inbound call is placed

callVariables


A total of 10 call variables as received from Finesse

participants


Participants engaged in the call

callType


Call type

agentId


Agent ID

queueName


Queue Name

New Outbound Preview Call State

Attribute

Value

Description

Sample Output

type

OutboundCall

Attributes may vary for each type of Call object.

Agent Call
CODE
{
  "type": "NewOutboundPreviewCall",
  "dialogId": "16871253",
  "fromAddress": "4012",
  "callVariables": [
    {
      "callVariable1": ""
    },
    {
      "callVariable2": ""
    },
    {
      "callVariable3": ""
    },
    {
      "callVariable4": ""
    },
    {
      "callVariable5": ""
    },
    {
      "callVariable6": ""
    },
    {
      "callVariable7": ""
    },
    {
      "callVariable8": ""
    },
    {
      "callVariable9": ""
    },
    {
      "callVariable10": ""
    },
    {
      "ani": "4012"
    }
  ],
"participants": [
    {
      "mediaAddress": "1006",
      "state": "INITIATED",
      "addressType": "AGENT_DEVICE",
	  "stateCause": "",
 	  "stateChangeTime": "2019-09-17 12:46:21"
     }
  ],
  "callType": "",
  "queueName":"hassnain_SG", 
  "agentId": "jehanzeb6"
}

dialogID

Finesse Dialog ID

state

One of the Finesse dialog states

startTime

The start time of the call 

prevDialogId

Finesse Dialog ID

fromAddress

A number from an inbound call is placed

callVariables

A total of 10 call variables as received from Finesse

participants

Participants engaged in the call

callType

Call type

agentId

Agent ID

queueName

Queue Name

New Inbound Call

Attribute

Value

Description

Sample Output

type

NewInboundCall



New Call
CODE
{
  "type": "NewInboundCall",
  "dialogId": "16871263",
  "fromAddress": "1006",
  "callVariables": [
    {
      "callVariable1": ""
    },
    {
      "callVariable2": ""
    },
    {
      "callVariable3": ""
    },
    {
      "callVariable4": ""
    },
    {
      "callVariable5": ""
    },
    {
      "callVariable6": ""
    },
    {
      "callVariable7": ""
    },
    {
      "callVariable8": ""
    },
    {
      "callVariable9": ""
    },
    {
      "callVariable10": ""
    },
    {
      "ani": "1006"
    }
  ],
"participants": [
    {
      "mediaAddress": "1006",
      "state": "INITIATED",
      "addressType": "AGENT_DEVICE",
	  "stateCause": "",
 	  "stateChangeTime": "2019-09-17 12:46:21"
     }
  ],
  "callType": "",
  "queueName":"hassnain_SG",      
  "agentId": "jehanzeb4"
}


dialogID


Finesse Dialog ID

fromAddress


A number from an inbound call is placed

callVariables


A total of 10 call variables as received from Finesse

callType


Call Type

agentId


Agent ID

queueName


Queue Name

Reason Codes 

Attribute

Value

Description

Sample Output

type

ReasonCodes



Reason Codes
CODE
 {
      "type": "ReasonCodes",
      "category": "WrapUp",
      "reasonCodes": [
        {
          "code": "2",
          "label": "Information"
        },
        {
          "code": "3",
          "label": "Parked by Agent 1"
        },
        {
          "code": "4",
          "label": "Parked by Agent 2"
        },
        {
          "code": "5",
          "label": "Unparked by Agent 1"
        },
        {
          "code": "6",
          "label": "Unparked by Agent 2"
        },
        {
          "code": "7",
          "label": "ne"
        }
      ],
      "agentId": "75002"
    }


category

WrapUp | LOGOUT | NOT_READY

as passed in the request

reasonCodes


key-value pair of defined reason codes of the specified category

agentId


Agent ID

Consult Call State

Attribute

Value

Description

Sample Output

type

ConsultCall



Consult Call States
CODE
{
"type": "ConsultCall",
"state": "INITIATED",
"assDialogId": "16871288",
"fromAddress": "1004",
"toAddress": "1006",
"startTime": "2019-09-17 17:17:03",
"callVariables": [
{
"callVariable1": ""
},
{
"callVariable2": ""
},
{
"callVariable3": ""
},
{
"callVariable4": ""
},
{
"callVariable5": ""
},
{
"callVariable6": ""
},
{
"callVariable7": ""
},
{
"callVariable8": ""
},
{
"callVariable9": ""
},
{
"callVariable10": ""
},
{
"ani": "1004"
}
],
"participants": [
{
"mediaAddress": "1004",
"state": "INITIATED",
"addressType": "AGENT_DEVICE",
"stateCause": "",
"stateChangeTime": "2019-09-17 12:46:21"
 }
],
 "callType": "", 
 "queueName":"hassnain_SG", 
 "agentId": "jehanzeb4"
}


state

INITIATING | INITIATED

state of call

assDialogId


This is an associated Dialog ID.

In case of consult call, dialogId is named as  assDialogId

startTime


Starting Time of call 

fromAddress


A number from which consult call is initiated

toAddress


A number to which the consult call is requested

callVariables


Call Variables in Finesse

participants


Participants engaged in call

 callType


Call Type

agentId


Agent ID

queueName


Queue Name

Release Call Output

Attribute

Value

Description

Sample Output

type

InboundCall



Dropped Call
JS
{
    "type": "InboundCall",
    "dialogId": "16839909",
    "associatedDialogId": "16839907",
    "state": "DROPPED",
    "callType": "CONFERENCE",
    "queueName": "",
    "participants": [
        {
            "mediaAddress": "30163",
            "state": "DROPPED",
            "addressType": "AGENT_DEVICE",
            "stateCause": "",
            "stateChangeTime": "2024-05-14 14:29:17"
        },
        {
            "mediaAddress": "30161",
            "state": "DROPPED",
            "addressType": "AGENT_DEVICE",
            "stateCause": "",
            "stateChangeTime": "2024-05-14 14:29:17"
        }
    ],
    "agentId": "5650550"
}


dialogId


ID of the call

prevDialogId

null

prevDialogId is not null if call is being transferred to another agent

state


state of call

agentId


Agent Id

queueName


Queue Name

Complete Conference

Attribute

Value

Description

Sample Output

type

InboundCall



Complete Conference
CODE
{
  "type": "InboundCall",
  "dialogId": "16871286",
  "state": "ACTIVE",
  "startTime": "2019-09-17 17:16:10",
  "associatedDialogId": null,
  "fromAddress": "1005",
  "callVariables": [
    {
      "callVariable1": ""
    },
    {
      "callVariable2": ""
    },
    {
      "callVariable3": ""
    },
    {
      "callVariable4": ""
    },
    {
      "callVariable5": ""
    },
    {
      "callVariable6": ""
    },
    {
      "callVariable7": ""
    },
    {
      "callVariable8": ""
    },
    {
      "callVariable9": ""
    },
    {
      "callVariable10": ""
    },
    {
      "ani": "1005"
    }
  ],
  "participants": [
    {
      "mediaAddress": "1005",
      "state": "ACTIVE",
      "addressType": "",
      "stateCause": "",
      "stateChangeTime": "2019-09-17 12:46:21"
     },
    {
      "mediaAddress": "1004",
      "state": "ACTIVE",
      "addressType": "AGENT_DEVICE",
      "stateCause": "",
      "stateChangeTime": "2019-09-17 12:46:21"
     },
    {
      "mediaAddress": "1006",
      "state": "ACTIVE",
      "addressType": "AGENT_DEVICE",
      "stateCause": "",
      "stateChangeTime": "2019-09-17 12:46:21"
     }
  ],
 "callType": "",  
 "queueName":"hassnain_SG", 
 "agentId": "jehanzeb4"
}


dialogId


DialogId is id of the call

state

Active

States in Finnese

startTime


Starting Time of call 

prevDialogId

null

Dialog Id in Finesse

fromAddress


A number from an inbound call is placed

callVariables


 Call Variables in Finesse

participants


Participants engaged in call

callType


Call Tyep

agentId


Agent ID

queueName


Queue Name

Transfer Call

Attribute

Value

Description

Sample Output

type

InboundCall



Complete Transfer
CODE
{
  "type": "InboundCall",
  "dialogId": "16871286",
  "state": "ACTIVE",
  "startTime": "2019-09-17 17:16:10",
  "associatedDialogId": null,
  "fromAddress": "1005",
  "callVariables": [
    {
      "callVariable1": ""
    },
    {
      "callVariable2": ""
    },
    {
      "callVariable3": ""
    },
    {
      "callVariable4": ""
    },
    {
      "callVariable5": ""
    },
    {
      "callVariable6": ""
    },
    {
      "callVariable7": ""
    },
    {
      "callVariable8": ""
    },
    {
      "callVariable9": ""
    },
    {
      "callVariable10": ""
    },
    {
      "ani": "1005"
    }
  ],
  "participants": [
    {
      "mediaAddress": "1005",
      "state": "ACTIVE",
      "addressType": "",
      "stateCause": "",
      "stateChangeTime": "2019-09-17 12:46:21"
     },
    {
      "mediaAddress": "1004",
      "state": "ACTIVE",
      "addressType": "AGENT_DEVICE",
      "stateCause": "",
      "stateChangeTime": "2019-09-17 12:46:21"
     },
    {
      "mediaAddress": "1006",
      "state": "ACTIVE",
      "addressType": "AGENT_DEVICE",
      "stateCause": "",
      "stateChangeTime": "2019-09-17 12:46:21"
     }
  ],
 "callType": "",  
 "queueName":"hassnain_SG", 
 "agentId": "jehanzeb4"
}


dialogId


Dialog Id in Finesse

state

Held

States in Finnese

startTime


Starting Time of call 

associatedDialogId

null

Dialog Id in Finesse

fromAddress


A number from an inbound call is placed

callVariables


Call Variables in Finesse

participants


Participants engaged in call

callType


Call Type

agentId


Agent ID

Get Dialog State

Attribute

Value

Description

Sample Output

type

DialogState



Dialog State
JS
{
  "type": "DialogState",
  "dialogId": "16871286",
  "state": "HELD",
  "agentId": "jehanzeb6"
}


dialogId


Dialog Id in Finesse

state

INITIATED | ALERTING | ACTIVE | HELD | NOT_FOUND

This is state of the call

agentId


Agent ID


Get All Agents

Attribute

Value

Description

Sample Output

type

Agents



Get All Agents
JS
 
   { 
      "type":"Agents",
      "users":[ 
         { 
            "firstName":"jehanzeb6",
            "lastName":"riaz",
            "extension":"1006"
         },
         { 
            "firstName":"jehanzeb7",
            "lastName":"riaz",
            "extension":"1007"
         }
      ],
        "agentId": "jehanzeb6"
   }


users


List of login agents

Get Team User

Attribute

Value

Description

Sample Output

type

Team Agents



Get All Agents
JS
{ 
      "type":"TeamAgents",
      "users":[ 
         { 
            "firstName":"jehanzeb6",
            "lastName":"riaz",
            "extension":"1006",
			"loginId": "75001",
 			"state": "Not_Ready",
 			"pendingState": "",
 			"mediaType": "AGENT_DEVICE",
 			"stateChangeTime": "",
 			"label": "Not_Ready"
          },
         {               											     
            "firstName":"jehanzeb6",
            "lastName":"riaz",
            "extension":"1006",
			"loginId": "75001",
 			"state": "Not_Ready",
 			"pendingState": "",
 			"mediaType": "AGENT_DEVICE",
 			"stateChangeTime": "",
 			"label": "Not_Ready"           }
      ],
        "agentId": "jehanzeb6"
}


users


List of team user

Get Queue List

Attribute

Value

Description

Sample Output

type

Queue Stats



GetQueueInfo
JS
For UCCE

[
    {
        "type": "QueueStats",
        "queue": [
            {
                "queueName": "jehanzeb6",
                "agentsNotReady": "0",
                "agentsReady": "0",
                "agentsTalkingInbound": "1",
                "agentsTalkingInternal": "0",
                "agentsTalkingOutbound": "1",
                "agentsWrapUpNotReady": "0",
                "agentsWrapUpReady": "0",
                "callsInQueue": "0",
                "startTimeOfLongestCallInQueue": "0"
            },
            {
                "queueName": "jehanzeb6",
                "agentsNotReady": "0",
                "agentsReady": "0",
                "agentsTalkingInbound": "1",
                "agentsTalkingInternal": "0",
                "agentsTalkingOutbound": "1",
                "agentsWrapUpNotReady": "0",
                "agentsWrapUpReady": "0",
                "callsInQueue": "0",
                "startTimeOfLongestCallInQueue": "0"
            }
        ],
        "agentId": "jehanzeb6"
    }
]



For UCCX Supervisor  

{
  "type": "QueueStats",
  "queue2": {
    "queueName": "CTI",
    "queue_SnapShot": {
      "SnapShot_type": "SnapShot",
      "WaitingCalls": 0,
      "AgentsLoggedIn": 0,
      "AgentsReady": 0,
      "AgentsNotReady": 0,
      "AgentsInAfterCallWork": 0,
      "AgentsTalking": 0,
      "AgentsReserved": 0
    },
    "queue_SinceMidNight": {
      "SnapShot_type": "SnapShot_SinceMidNight",
      "WaitingCalls": 0,
      "AgentsLoggedIn": 0,
      "AgentsReady": 0,
      "AgentsNotReady": 0,
      "AgentsInAfterCallWork": 0,
      "AgentsTalking": 0,
      "AgentsReserved": 0
    }
  },
  "queue1": {
    "queueName": "osja1",
    "queue_SnapShot": {
      "SnapShot_type": "SnapShot",
      "WaitingCalls": 0,
      "AgentsLoggedIn": 0,
      "AgentsReady": 0,
      "AgentsNotReady": 0,
      "AgentsInAfterCallWork": 0,
      "AgentsTalking": 0,
      "AgentsReserved": 0
    },
    "queue_SinceMidNight": {
      "SnapShot_type": "SnapShot_SinceMidNight",
      "WaitingCalls": 0,
      "AgentsLoggedIn": 0,
      "AgentsReady": 0,
      "AgentsNotReady": 0,
      "AgentsInAfterCallWork": 0,
      "AgentsTalking": 0,
      "AgentsReserved": 0
    }
  }
}


queue


queue stats info

Phonebooks

Attribute

Value

Description

Sample Output (JSON)

type

PhoneBook

List of phonebooks


JS
{
    "type": "PhoneBook",
    "phoneBook": [
        {
            "name": "jehanzeb",
            "type": "Team",
            "id": "1"
        },
        {
            "name": "jehanzeb2",
            "type": "GLOBAL",
            "id": "10"
        }
    ],
    "agentId": "5650550"
}


Team Phonebooks

Attribute

Value

Description

Sample Output (JSON)

type

Team PhoneBook

List of phonebooks


JS
{
    "type": "TeamPhoneBook",
    "phoneBook": [
        {
            "name": "jehanzeb",
            "type": "Team",
            "id": "1"
        },
        {
            "name": "jehanzeb2",
            "type": "Team",
            "id": "10"
        }
    ],
    "agentId": "5650550"
}


Contacts

Attribute

Value

Description

Sample Output (JSON)

type

phoneBook_contacts

List of contacts


JS
{
    "type": "phoneBookContacts",
    "contact": [
        {
            "description": "jehanzeb_contact",
            "firstName": "jehanzeb",
            "lastName": "riaz",
            "phoneNumber": "123456789",
            "id": "1"
        },
        {
            "description": "jehanzeb_contact",
            "firstName": "jehanzeb",
            "lastName": "riaz",
            "phoneNumber": "123456789",
            "id": "10"
        }
    ],
    "agentId": "5650550"
}


Print Message

Attribute

Value

Description

Sample Output (JSON)

type

status

status-bar


JS
{
    "type": "Control",
    "location": "statusbar",
	"message": "message",
    "agentId": "5650550"
}


Participant Drop Message

Attribute

Value

Description

Sample Output (JSON)

type

control

status-bar


JS
{
    "type": "Control",
    "participantDropped": "20107",
    "agentId": "5650550"
}


CallBack Message

Attribute

Value

Description

Sample Output (JSON)

type

callback

callback scheduled 


JS
{
    "type": "callback",
    "title": "title",
    "data": "data",
    "agentId": "5650550"
}


Reclassify Message

Attribute

Value

Description

Sample Output (JSON)

type

callback

reclassify 

 

JS
{
    "type": "CALLBACK",
    "title": "RECLASSIFY",
    "data": "RECLASSIFY Successfully",
    "agentId": "5650550"
}


No Data Found Message

Attribute

Value

Description

Sample Output (JSON)

type

callback

callback scheduled 


JS
{
    "type": "no_data_found",
    "title": "tiltle",
    "data": "data",
    "agentId": "5650550"
}


Get Skill Groups

Attribute

Value

Description

Sample Output

type

skillGroup



Get All Agents
JS
{
    "type": "skillGroup",
    "skillGroups": {
        "skill_1": "A",
        "skill_2": "B",
        "skill_3": "C",
        "skill_4": "E",
        "skill_5": "F.SG",
        "skill_6": "GSG",
        "skill_7": "H.SG",
        "skill_8": "A.SG",
        "skill_9": "D.SG",
        "skill_10": "V.SG",
        "skill_11": "C.SG",
        "skill_12": "S.SG"
    },
    "agentId": "5650550"
}


skills


List of all skillGroups

Get Supervisor List

Attribute

Value

Description

Sample Output

type

supervisors



Get All Agents
JS
{
  "type": "supervisors",
  "supervisorList": [
    {
      "supervisorName": "Sup1_12",
      "supervisorId": "5000",
      "supervisorExtension": "",
      "supervisorState": "LOGOUT"
    },
    {
      "supervisorName": "sup_2_12",
      "supervisorId": "75900",
      "supervisorExtension": "",
      "supervisorState": "LOGOUT"
    },
    {
      "supervisorName": 			 "CUCM_PG.Sana_Saqib",
      "supervisorId": "244441205",
      "supervisorExtension": "",
      "supervisorState": "LOGOUT"
    }
  ],
  "agentId": "75001"
}


supervisors


List of all supervisors

Get Agent Extension

Attribute

Value

Description

Sample Output

type

agentExtension



Get All Agents
JS
{
  "type": "agentExtension",
  "port": 1316,
  "dialNumber": 1318
}


agentExtension


mobile agent port and dialNumber 


Errors

Error_Code

Error_Origin

Error Description

Expected Driver Behaviour


CF_INVALID_CALLED_DEVICE

Finesse

The called device is not valid

display the error message and continue regular operations


CF_INVALID_CALLING_DEVICE

Finesse

The calling device is not valid

display the error message and continue regular operations


CF_INVALID_CONNECTION_ID_FOR_ACTIVE_CALL

Finesse

The active connection ID in the request is invalid

display the error message and continue regular operations


CF_INVALID_CONSULT_TYPE

Finesse

The consult type is invalid

display the error message and continue regular operations


CF_AGENT_ACCOUNT_LOCKED_OUT

Finesse

The account is locked out

display the error message and continue regular operations


CF_INVALID_CSTA_DEVICE_IDENTIFIER

Finesse

The device ID is not valid.

display the error message and ask user to enter valid Extension


CF_RESOURCE_BUSY

Finesse

An internal resource is busy



CF_INVALID_LOGON_DEVICE_SPECIFIED

Finesse

The request specified an invalid logon device.

display the error message and ask user to enter valid Extension


CF_GENERIC_UNSPECIFIED_REJECTION

Finesse

The request has been rejected (no specific details available).



CF_INVALID_OBJECT_STATE

Finesse

The object is in the incorrect state for the request.



CF_INVALID_PASSWORD_SPECIFIED

Finesse

The request specified an invalid agent password.

Prompt user to supply a valid password


CF_GENERIC_SYSTEM_RESOURCE_AVAILABILITY

Finesse

        

The request failed due to lack of system resources (no specific details available)

Ref: http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/crs/express_10_0/programming/guide/UCCX_BK_C239BA3D_00_cti-protocol-developer-guide_chapter_01010.html

E_CTI_INVALID_CALLID

Finesse

A request message was received with an invalid CallID value.



USER_NOT_FOUND

Finesse

When Agent ID isn't found in Finesse

Display the error message
Configuration update in Siebel / Finesse is required to match Agent definition (ID/Pwd).
Driver/client app should show the error message

GENERAL_ERROR

Finesse

when root cause is unclear

display the error message and continue regular operations


CF_GENERIC_OPERATION

Finesse

An operation error occurred (no specific details available).

display error message according to the last command sent


BAD_DESTINATION

Finesse

Agent called to an invalid extension

display the error message and continue regular operations


DOWN

GC

IOException
When Requester gets no response from Finesse
GC tries to establish connection with the secondary Finesse

display the error message and continue regular operations


LICENSES_EXCEEDED

GC

User license limit exceeded 

display the error message


MISSING_EXTENSION

GC

Missing Extension

display the error message and ask user to enter extension


MISSING_NUMBER

GC

Number to dial is missing in request

display the error message and ask user to enter dial number


MISSING_PASSWORD

GC

Password is missing in request

display the error message and ask user for credentials


MISSING_REASON_CODE

GC

GC/Finesse expects reason-code that wasn't provided by the client

display the error message and ask user to provide reason code


NO_DIALOG_ID

GC

The requested dialog doesn't exists in GC 

send getdialogstate request for any active dialogs


NOT_REACHABLE

GC

SocketTimeoutException
Timeout exception on connecting to Finesse via Requester
After 2 unsuccessful retries, GC tries to establish connection with secondary Finesse

display the error message and continue regular operations


PLEASE_RETRY

GC

invalid request params, IOException, request timeout

display the error message and continue regular operations


SUBSCRIPTION_FAILED

GC

Invalid credentials supplied for agent login

display the error message and ask user to enter valid credentials


UNABLE_TO_SUBSCRIBE_TO_FINESSE

GC

Invalid credentials supplied for agent login

display the error message and ask user to enter valid credentials


WRONG_EXTENSION

GC

Extension is not valid (contains alphabetic characters)

display the error message and ask user to enter valid Extension


SESSION_INVALIDATED

GC

The current session session for login has been invalidate, user has been logged in from a new destination. GC will send a logout message followed by this message

display the error message and ask user to login again


Note: Some of the error from finesse are mentioned here. Rest of the Finesse errors can be found in this document on page 17: https://drive.google.com/open?id=0B0txXw8kofb1blBxenFmcHBWcms

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.