Document toolboxDocument toolbox

(4.4.12) 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

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

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

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

Attribute

Value

Description

Sample Output

type

System





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



status



IN_SERVICE | OUT_OF_SERVICE

SUBSCRIPTION_FAILED

Attribute

Value

Description

Sample Output

Attribute

Value

Description

Sample Output

type

Error





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



Connect Status

Attribute

Value

Description

Sample Output

Attribute

Value

Description

Sample Output

type

ConnectStatus





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



status



ConnectSuccess

Agent Info 

Attribute

Value

Description

Sample Output

Attribute

Value

Description

Sample Output

type

AgentInfo





Agent Info
{ "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

Attribute

Value

Description

Sample Output Agent

Sample Output Supervisor

type

State





Agent State
{ "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
{ "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

Attribute

Value

Description

Sample Output

type

InboundCall

Attributes may vary for each type of Call object.



Agent Call
{ "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

Attribute

Value

Description

Sample Output

type

OutboundCall

Attributes may vary for each type of Call object.



Agent Call
{ "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

Attribute

Value

Description

Sample Output

type

OutboundCall

Attributes may vary for each type of Call object.

 

Agent Call
{ "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

Attribute

Value

Description

Sample Output

type

NewInboundCall





New Call
{ "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

Attribute

Value

Description

Sample Output

type

ReasonCodes





Reason Codes
{ "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

Attribute

Value

Description

Sample Output

type

ConsultCall





Consult Call States
{ "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

Attribute

Value

Description

Sample Output

type

InboundCall





Dropped Call
{ "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

Attribute

Value

Description

Sample Output

type

InboundCall





Complete Conference
{ "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

Attribute

Value

Description

Sample Output

type

InboundCall





Complete Transfer
{ "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

Attribute

Value

Description

Sample Output

type

DialogState





Dialog State
{ "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

Attribute

Value

Description

Sample Output

type

Agents





Get All Agents
{ "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

Attribute

Value

Description

Sample Output

type

Team Agents





Get All Agents
{ "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

Attribute

Value

Description

Sample Output

type

Queue Stats





GetQueueInfo
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)

Attribute

Value

Description

Sample Output (JSON)

type

PhoneBook

List of phonebooks



{ "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)

Attribute

Value

Description

Sample Output (JSON)

type

Team PhoneBook

List of phonebooks



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



Contacts

Attribute

Value

Description

Sample Output (JSON)

Attribute

Value

Description

Sample Output (JSON)

type

phoneBook_contacts

List of contacts



{ "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)

Attribute

Value

Description

Sample Output (JSON)

type

status

status-bar



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



Participant Drop Message

Attribute

Value

Description

Sample Output (JSON)

Attribute

Value

Description

Sample Output (JSON)

type

control

status-bar



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



CallBack Message

Attribute

Value

Description

Sample Output (JSON)

Attribute

Value

Description

Sample Output (JSON)

type

callback

callback scheduled 



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



Reclassify Message

Attribute

Value

Description

Sample Output (JSON)

Attribute

Value

Description

Sample Output (JSON)

type

callback

reclassify 

 

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



No Data Found Message

Attribute

Value

Description

Sample Output (JSON)

Attribute

Value

Description

Sample Output (JSON)

type

callback

callback scheduled 



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



Get Skill Groups

Attribute

Value

Description

Sample Output

Attribute

Value

Description

Sample Output

type

skillGroup





Get All Agents
{ "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

Attribute

Value

Description

Sample Output

type

supervisors





Get All Agents
{ "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

Attribute

Value

Description

Sample Output

type

agentExtension





Get All Agents
{ "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