Document toolboxDocument toolbox

(4.4.11) 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 MessageCategoryMessage TypeMessage ParametersExpected OutputComments
Send Heartbeat while not logged insystemHello#<client_destination>
System Status
Send Heartbeatwhile logged insystemBeat#<client_destination>
System Status

Connect AgentID with Client Unique Name

agent_infoConnect#<agent_login_Id>

<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 Loginagent_stateLogin#<agent_login_Id><agent_password>,<agent_extension>

Agent State, Agent Info

Dialog State,


Mobile Agent Loginagent_stateMobileAgentLogin#<agent_login_Id><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 Logoutagent_stateLogout#<agent_login_Id>
Agent StateSupervisor Command
Make agent readyagent_stateMakeReady#<agent_login_Id>
Agent State
Make agent not readyagent_stateMakeNotReady#<agent_login_Id>
Agent StateSupervisor Command
Get agent current stateagent_stateGetState#<agent_login_Id>

Agent State

Dialog State


Not Ready with reason codeagent_stateMakeNotReadyWithReason#<agent_login_Id><agent_reason_code>Agent State
Make a callagent_callMakeCall# <agent_login_Id><Other_Party_Extension_Number>

Agent State

Inbound Call


Answer a callagent_callAnswerCall# <agent_login_Id><Dialog_ID>Inbound Call
Hold a callagent_callHoldCall#<agent_login_Id><Dialog_ID>

Inbound Call

Agent State


Unhold a callagent_callRetrieveCall#<agent_login_Id><Dialog_ID>

Inbound Call

Agent State


Release a callagent_callReleaseCall#<agent_login_Id><Dialog_ID>

Inbound Call

Agent State


Get Agent Wrap-up Reason Codesagent_workwrapupreasoncode#<agent_login_Id>
Reason Codes
Get Agent Logout Reason Codesagent_statereasoncodelogout#<agent_login_Id>
Reason Codes
Get Agent Not Ready Reason Codesagent_statereasoncodenotready#<agent_login_Id>
Reason Codes
Blind Transferagent_callTransfer_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 Callagent_callConsultCall#<agent_login_Id><Other_Party_Extension_Number>,<Dialog_ID>Consult Call
Conference Inititationagent_callConsultCall#<agent_login_Id><Other_Party_Extension_Number>,<Dialog_ID>Consult Call
Complete Transferagent_callTransferCall#<agent_login_Id><agent_extension>,<Dialog_ID>Transfer Call
Complete Conferenceagent_callConferencecall#<agent_login_Id><agent_extension>,<Dialog_ID>Conference Call
Get Dialog Stateagent_dialoggetdialogstate#<agent_login_Id><Dialog_ID>Dialog State
Update Dialog Wrap-up Codesagent_dialogwrapup#<agent_login_Id><Wrapup_Reason>,<dialog_id>
No response is received when this event is called.
Logout with Reasonagent_statelogoutwithreason#<agent_login_Id><ReasonCode>Agent State
Abrupt Agent Disconnectionagent_stateforce_logout#<agent_login_Id>
Agent StateHad do send this message in backend but the output is same as of in Expected Output
Get Dialog State Controlsagent_dialoggetdialogstatecontrols#<agent_login_Id><Dialog_ID>
Not Implemented yet
Make Work Not Readyagent_statemakeworknotready#<agentID>


Make Work Readyagent_statemakeworkready#<agentID>


Get Dialog Participantsagent_callgetDialogParticipants#<agent_login_id><dialog_id>

Get Logged in Agentsagent_callgetallagents#<agent_login_id>
Get All Agents
Update Dialog Variableagent_callupdate_call_variable#<agent_login_Id><dialog_id>,<variable_name=variable_value>Inbound CallWill receive this InboundCall event with updated call variables
Pause Zoom Call RecordingzoomZOOMPauseRecording#<agent_login_Id>


Resume Zoom Call RecordingzoomZOOMResumeRecording#<agent_login_Id>


Refreshagent_staterefresh#<agent_login_Id>


Get Team and Global PhonebooksphonebookGetPhonebooks#<agent_login_id>
Phonebooks
Get Team Phonebooksteam_phonebooksGetTeamPhonebooks#<agent_login_id><TeamID>TeamPhonebooks
Get Contacts of a PhonebookcontactsGetPhonebookContacts#<agent_login_id><PhonebookID>Contacts
Accept Outbound Preview Callagent_callAcceptOutboundPreview#<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 Callagent_callRejectOutboundPreview#<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)

Pass REJECT as a second parameter if you want to reject preview outbound call
Close Outbound Preview Callagent_callCloseOutboundPreview#<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 Callagent_callAnswerCall# <agent_login_Id><Dialog_ID>

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND)

NewOutboundCall

Print Message

Inbound Call

Call Type (OUTBOUND)


Outbound Predictive Callgent_callAnswerCall# <agent_login_Id><Dialog_ID>

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND)

NewOutboundCall

Print Message

Inbound Call

Call Type (OUTBOUND)


Schedule a callback callagent_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 callagent_callUPDATECALLBACK#<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 callagent_callCANCELSHCEDULECALLBACK#<agent_login_id><targetMediaAddress>,<dialog_id>

Callback Canceled

Print Message

Inbound Call

Call Type (OUTBOUND)


 Reclassify an outbound direct preview callagent_callRECLASSIFYCALL#<agent_login_id><targetMediaAddress>,<dialog_id>,<Value>

Reclassify Created

Print Message

Inbound Call


Accept the personal callback callagent_callAcceptOutboundPreview#<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 Callagent_callRejectOutboundPreview#<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 Listskill_groupGETSKILLGROUP#<agent_login_id>
SkillGroupImplemented only for UCCE
Get Supervisor Listsupervisor_listGETSUPERVISOR#<agent_login_id>
SupervisorListImplemented only for UCCE
Get Agent Extensionagent_extension

GETAGENTEXTENSION

#<agent_login_id>
<F_Number>AgentExtensionImplemented only for UCCE

Supervisor Commands

Input MessageCategoryMessage TypeMessage ParametersExpected OutputComments
Get Queue Infosupervisor_queue_infogetqueuelist#<agent_login_Id>
QueueInfo



Silent Monitor (Supervisor Function)supervisor_dialogsilentmonitor#<agent_login_Id><Agent_Extension>

On Supervisor

Inbound Call

On Agent

New Inbound Call

Inbound Call


End Silent Monitor (Supervisor Function)supervisor_dialogendsilentmonitor#<agent_login_Id><Dialog_ID>Inbound Call
Drop Participant (Supervisor Function)supervisor_dialogdropparticipant#<agent_login_Id><Agent_Extension>,<Dialog_ID>

Agent State

Print Message


Get Team Users (Supervisor Function)supervisor_teamgetteamusers#<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_stategetteamuserstate#<agent_login_Id><Team_Agent_LoginID>
Not implemented in client yet
Make a Barge Callagent_callbargein#<agent_login_Id><Team_Agent_Extension>,<Dialog_ID>Inbound Call
Agent Logoutagent_stateLogout#<agent_login_Id>
Agent State
Make agent not readyagent_stateMakeNotReady#<agent_login_Id>
Agent State

Admin Commands

Input MessageCategoryMessage TypeMessage ParametersExpected OutputComments
Get Team and Global PhonebooksphonebookGetPhonebooks#<agent_login_id>
Phonebooks
Get Contacts of a PhonebookcontactsGetPhonebookContacts#<agent_login_id><PhonebookID>Contacts
Get Team PhonebooksphonebookGetTeamPhonebooks#<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

AttributeValueDescriptionSample Output
typeSystem
System
{
"type": "System",
"status": "OUT_OF_SERVICE"
}
status
IN_SERVICE | OUT_OF_SERVICE

SUBSCRIPTION_FAILED

AttributeValueDescriptionSample Output
type

Error


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

Connect Status

AttributeValueDescriptionSample Output
typeConnectStatus
System
{
  "type": "ConnectStatus",
  "status": "ConnectSuccess"
} 
status
ConnectSuccess

Agent Info 

AttributeValueDescriptionSample Output
typeAgentInfo
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
supervisortrue | falseIs 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 

AttributeValueDescriptionSample Output AgentSample Output Supervisor
typeState
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"
 }

StateAgent 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
stateChangeTime2019-09-17 12:46:21Date & Time of state change
fullName
Agent full name
extension
Agent's extension
labelbreakstate change label

Inbound Call State

AttributeValueDescriptionSample Output
typeInboundCallAttributes 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

AttributeValueDescriptionSample Output
typeOutboundCallAttributes 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 Inbound Call

AttributeValueDescriptionSample Output
typeNewInboundCall
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 

AttributeValueDescriptionSample Output
typeReasonCodes
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"
    }
categoryWrapUp | LOGOUT | NOT_READYas passed in the request
reasonCodes
key-value pair of defined reason codes of the specified category
agentId
Agent ID

Consult Call State

AttributeValueDescriptionSample Output
typeConsultCall
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"
}
stateINITIATING | INITIATEDstate 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

AttributeValueDescriptionSample Output
typeInboundCall
Dropped Call
{
  "type": "InboundCall",
  "dialogId": "16871286",
  "state": "DROPPED",
  "associatedDialogId": null,
  "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
ID of the call
prevDialogIdnullprevDialogId is not null if call is being transferred to another agent
state
state of call
agentId
Agent Id
queueName
Queue Name

Complete Conference

AttributeValueDescriptionSample Output
typeInboundCall
Complete Conference
{
  "type": "InboundCall",
  "dialogId": "16871286",
  "state": "ACTIVE",
  "startTime": "2019-09-17 17:16:10",
  "associatedDialogUri": 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
stateActiveStates in Finnese
startTime
Starting Time of call 
prevDialogIdnullDialog 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

AttributeValueDescriptionSample Output
typeInboundCall
Complete Transfer
{
  "type": "InboundCall",
  "dialogId": "16874257",
  "state": "HELD",
  "startTime": "2019-09-20 16:25:14",
  "associatedDialogId": null,
  "fromAddress": "1005",
  "callVariables": [
    {
      "callVariable1": ""
    },
    {
      "callVariable2": ""
    },
    {
      "callVariable3": ""
    },
    {
      "callVariable4": ""
    },
    {
      "callVariable5": ""
    },
    {
      "callVariable6": ""
    },
    {
      "callVariable7": ""
    },
    {
      "callVariable8": ""
    },
    {
      "callVariable9": ""
    },
    {
      "callVariable10": ""
    },
    {
      "ani": "1005"
    }
  ],  


{
  "type": "InboundCall",
  "dialogId": "16871286",
  "state": "ACTIVE",
  "startTime": "2019-09-17 17:16:10",
  "prevDialogId": 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
stateHeldStates in Finnese
startTime
Starting Time of call 
associatedDialogIdnullDialog 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

AttributeValueDescriptionSample Output
typeDialogState
Dialog State
{
  "type": "DialogState",
  "dialogId": "16871286",
  "state": "HELD",
  "agentId": "jehanzeb6"
}
dialogId
Dialog Id in Finesse
stateINITIATED | ALERTING | ACTIVE | HELD | NOT_FOUNDThis is state of the call
agentId
Agent ID

Get All Agents

AttributeValueDescriptionSample Output
typeAgents
Get All Agents
[ 
   { 
      "type":"Agents",
      "users":[ 
         { 
            "firstName":"jehanzeb6",
            "lastName":"riaz",
            "extension":"1006"
         },
         { 
            "firstName":"jehanzeb7",
            "lastName":"riaz",
            "extension":"1007"
         }
      ]
   }
]
users
List of login agents

Get Team User

AttributeValueDescriptionSample Output
typeTeam 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"           }
      ]
   }
]
users
List of team user

Get Queue List

AttributeValueDescriptionSample Output
typeQueue 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"                 }
      ]
   }
]


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

AttributeValueDescriptionSample Output (JSON)
typePhoneBookList of phonebooks
[ 
   { 
      "type":"PhoneBook",
      "phoneBook":[ 
         { 
            "name":"jehanzeb",
            "type":"Team",
            "id":"1"
          },
         {               											     
            "name":"jehanzeb2",
            "type":"GLOBAL",
            "id":"10"
		  }
      ]
   }
]

Team Phonebooks

AttributeValueDescriptionSample Output (JSON)
typeTeam PhoneBookList of phonebooks
[ 
   { 
      "type":"TeamPhoneBook",
      "phoneBook":[ 
         { 
            "name":"jehanzeb",
            "type":"Team",
            "id":"1"
          },
         {               											     
            "name":"jehanzeb2",
            "type":"Team",
            "id":"10"
		  }
      ]
   }
]

Contacts

AttributeValueDescriptionSample Output (JSON)
typephoneBook_contactsList 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" 
		  }
      ]
   }
]

Print Message

AttributeValueDescriptionSample Output (JSON)
typestatusstatus-bar
[ 
   { 
      "type":"Control",
	  "location":"stautsbar",
	  "message":"message"
   }
]

CallBack Message

AttributeValueDescriptionSample Output (JSON)
typecallbackcallback scheduled 
[ 
   { 
      "type":"callback",
	  "title":"tiltle",
	  "data":"data"
   }
]

Reclassify Message

Attribute

Value

Description

Sample Output (JSON)

typecallbackreclassify 

 

[
  {
    "type": "CALLBACK",
    "title": "RECLASSIFY",
    "data": "RECLASSIFY Successfully"
  }
]

No Data Found Message

AttributeValueDescriptionSample Output (JSON)
typecallbackcallback scheduled 
[ 
   { 
      "type":"no_data_found",
	  "title":"tiltle",
	  "data":"data"
   }
]

Get Skill Groups

AttributeValueDescriptionSample Output
typeskillGroup
Get All Agents
{
  "type": "skillGroup",
  "skillGroups": [
    {
      "skill_1": "000047496375",
      "skill_2": "Inbound.SG",
      "skill_3": "Layer_2.SG",
      "skill_4": "Transfer_Test.SG",
      "skill_5": "Transfer62210.SG",
      "skill_6": "Product.SKG",
      "skill_7": "QTransfer",
      "skill_8": "um.sg",
      "skill_9": "IB.SG",
      "skill_10": "inbound2.SG"
    }
  ],
  "agentId": "75001"
}
skills
List of all skillGroups

Get Supervisor List

AttributeValueDescriptionSample Output
typesupervisors
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

AttributeValueDescriptionSample Output
typeagentExtension
Get All Agents
{
  "type": "agentExtension",
  "port": 1316,
  "dialNumber": 1318
}
agentExtension
mobile agent port and dialNumber 


Errors

Error_CodeError_OriginError DescriptionExpected Driver Behaviour
CF_INVALID_CALLED_DEVICEFinesseThe called device is not validdisplay the error message and continue regular operations
CF_INVALID_CALLING_DEVICEFinesseThe calling device is not validdisplay the error message and continue regular operations
CF_INVALID_CONNECTION_ID_FOR_ACTIVE_CALLFinesseThe active connection ID in the request is invaliddisplay the error message and continue regular operations
CF_INVALID_CONSULT_TYPEFinesseThe consult type is invaliddisplay the error message and continue regular operations
CF_AGENT_ACCOUNT_LOCKED_OUTFinesseThe account is locked outdisplay the error message and continue regular operations
CF_INVALID_CSTA_DEVICE_IDENTIFIERFinesseThe device ID is not valid.display the error message and ask user to enter valid Extension
CF_RESOURCE_BUSYFinesseAn internal resource is busy

CF_INVALID_LOGON_DEVICE_SPECIFIEDFinesseThe request specified an invalid logon device.display the error message and ask user to enter valid Extension
CF_GENERIC_UNSPECIFIED_REJECTIONFinesseThe request has been rejected (no specific details available).

CF_INVALID_OBJECT_STATEFinesseThe object is in the incorrect state for the request.

CF_INVALID_PASSWORD_SPECIFIEDFinesseThe request specified an invalid agent password.Prompt user to supply a valid password
CF_GENERIC_SYSTEM_RESOURCE_AVAILABILITYFinesse        

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_CALLIDFinesseA request message was received with an invalid CallID value.

USER_NOT_FOUNDFinesseWhen Agent ID isn't found in FinesseDisplay 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_ERRORFinessewhen root cause is uncleardisplay the error message and continue regular operations
CF_GENERIC_OPERATIONFinesseAn operation error occurred (no specific details available).display error message according to the last command sent
BAD_DESTINATIONFinesseAgent called to an invalid extensiondisplay the error message and continue regular operations
DOWNGCIOException
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_EXCEEDEDGCUser license limit exceeded display the error message
MISSING_EXTENSIONGCMissing Extensiondisplay the error message and ask user to enter extension
MISSING_NUMBERGCNumber to dial is missing in requestdisplay the error message and ask user to enter dial number
MISSING_PASSWORDGCPassword is missing in requestdisplay the error message and ask user for credentials
MISSING_REASON_CODEGCGC/Finesse expects reason-code that wasn't provided by the clientdisplay the error message and ask user to provide reason code
NO_DIALOG_IDGCThe requested dialog doesn't exists in GC send getdialogstate request for any active dialogs
NOT_REACHABLEGCSocketTimeoutException
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_RETRYGCinvalid request params, IOException, request timeoutdisplay the error message and continue regular operations
SUBSCRIPTION_FAILEDGCInvalid credentials supplied for agent logindisplay the error message and ask user to enter valid credentials
UNABLE_TO_SUBSCRIBE_TO_FINESSEGCInvalid credentials supplied for agent logindisplay the error message and ask user to enter valid credentials
WRONG_EXTENSIONGCExtension is not valid (contains alphabetic characters)display the error message and ask user to enter valid Extension
SESSION_INVALIDATEDGCThe 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 messagedisplay 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