Generic Connector JSON API

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

Agent Commands

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 StatusNot implemented in client yet.

Connect AgentID with Client Unique Name

agent_infoConnect#<agent_login_Id><client_destination>,<agent_password>
No response
Agent Loginagent_stateLogin#<agent_login_Id><agent_password>,<agent_extension>

Agent State, Agent Info


Mobile Agent Loginagent_stateMobileAgentLogin#<agent_login_Id><agent_password>,<agent_extension>,<agent_phone>,<connection_mode>Agent State, Agent InfoOnly 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 State
Make agent readyagent_stateMakeReady#<agent_login_Id>
Agent State
Make agent not readyagent_stateMakeNotReady#<agent_login_Id>
Agent State
Get agent current stateagent_stateGetState#<agent_login_Id>
Agent 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>Inbound Call
Answer a callagent_callAnswerCall# <agent_login_Id><Dialog_ID>Inbound Call
Hold a callagent_callHoldCall#<agent_login_Id><Dialog_ID>Inbound Call
Unhold a callagent_callRetrieveCall#<agent_login_Id><Dialog_ID>Inbound Call
Release a callagent_callReleaseCall#<agent_login_Id><Dialog_ID>Inbound Call
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>
Used only in UCCE, will update later.
Transfer Initiationagent_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>Agent Dialog
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 in client yet
Make Work Not Readyagent_statemakeworknotready#<agentID>

Not implemented in client yet
Make Work Readyagent_statemakeworkready#<agentID>

Not implemented in client yet
Get Dialog Participantsagent_callgetDialogParticipants#<agent_login_id><dialog_id>
Deprecated, Not implemented in client yet
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>
Not implemented in client yet
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>Inbound CallPass ACCEPT as a second parameter if you want to accept preview outbound call
Reject Outbound Preview Callagent_callRejectOutboundPreview#<agent_login_id><dialog_id>,<REJECT>Inbound CallPass REJECT as a second parameter if you want to reject preview outbound call
Close Outbound Preview Callagent_callCloseOutboundPreview#<agent_login_id><dialog_id>,<CLOSE>Inbound CallPass CLOSE as a second parameter if you want to close preview outbound call
Schedule a callback callagent_call
SHCEDULECALLBACK#<agent_login_id>
<targetMediaAddress>,<dialog_id>,<callbackTime>,<callbackNumber>

Update a callback callagent_callUPDATECALLBACK#<agent_login_id><targetMediaAddress>,<dialog_id>,<callbackTime>,<callbackNumber>

Cancel the scheduled callback callagent_callCANCELSHCEDULECALLBACK#<agent_login_id><targetMediaAddress>,<dialog_id>

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

Accept the personal callback callagent_callAcceptOutboundPreview#<agent_login_id><dialog_id>,<REJECT>

Reject the personal callback Callagent_callRejectOutboundPreview#<agent_login_id><dialog_id>,<REJECT>

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>Inbound Call
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_LoginID >,<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

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

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
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"
 }
agentId
Agent ID
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

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",
  "prevDialogId": null,
  "fromAddress": "4012",
  "callVariables": [
    {
      "callVariable1": ""
    },
    {
      "callVariable2": ""
    },
    {
      "callVariable3": ""
    },
    {
      "callVariable4": ""
    },
    {
      "callVariable5": ""
    },
    {
      "callVariable6": ""
    },
    {
      "callVariable7": ""
    },
    {
      "callVariable8": ""
    },
    {
      "callVariable9": ""
    },
    {
      "callVariable10": ""
    },
    {
      "ani": "4012"
    }
  ],
  "participantsCount": "3",
  "participants": [
    {
      "mediaAddress": "1006",
      "state": "INITIATED",
      "addressType": "AGENT_DEVICE",
	  "stateCause": "",
 	  "stateChangeTime": "2019-09-17 12:46:21"
     }
  ],
  "callType": "",
  "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

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"
    }
  ],
   "callType": "",
   "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


Reason Codes 

AttributeValueDescriptionSample Output
typeReasonCodes
Reason Codes
{
"type": "ReasonCodes",
"category": "WrapUp",
"reasonCodes": [
{
"1": "Complaint"
},
{
"2": "Inquiry New"
},
{
"3": "Conf call"
},
{
"4": "Transfer call"
},
{
"5": "Customer new call"
},
{
"6": "Old call customer"
},
{
"7": "Bill Inquiry"
}
],
"agentId": "jehanzeb4"
}
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": "", 
 "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

Release Call Output

AttributeValueDescriptionSample Output
typeInboundCall
Dropped Call
{
  "type": "InboundCall",
  "dialogId": "16871284",
  "prevDialogId": null,
  "state": "DROPPED",
  "agentId": "jehanzeb6"
}
dialogId
ID of the call
prevDialogIdnullprevDialogId is not null if call is being transferred to another agent
state
state of call
agentId
Agent Id

Complete Conference

AttributeValueDescriptionSample Output
typeInboundCall
Complete Conference
{
  "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": "",  
 "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

Transfer Call

AttributeValueDescriptionSample Output
typeInboundCall
Complete Transfer
{
  "type": "InboundCall",
  "dialogId": "16874257",
  "state": "HELD",
  "startTime": "2019-09-20 16:25:14",
  "prevDialogId": 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": "",  
 "agentId": "jehanzeb4"
}
dialogId
Dialog Id in Finesse
stateHeldStates 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 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,
    {
      "queue": [
        {
          "queueName": "MSUSD",
          "type": "SnapShot",
          "WaitingCalls": 0,
          "AgentsLoggedIn": 1,
          "AgentsReady": 0,
          "AgentsNotReady": 1,
          "AgentsInAfterCallWork": 0,
          "AgentsTalking": 0,
          "AgentsReserved": 0
        },
        {
          "type": "SinceMidNight",
          "WaitingCalls": 0,
          "AbandonedCalls": 0,
          "HandledCalls": 0,
          "TotalCalls": 0,
          "LongestCallInQueue": 0,
          "LongestHandleTime": 0
        }
      ]
    }{
      "queue": [
        {
          "queueName": "AXA",
          "type": "SnapShot",
          "WaitingCalls": 0,
          "AgentsLoggedIn": 1,
          "AgentsReady": 0,
          "AgentsNotReady": 1,
          "AgentsInAfterCallWork": 0,
          "AgentsTalking": 0,
          "AgentsReserved": 0
        },
        {
          "type": "SinceMidNight",
          "WaitingCalls": 0,
          "AbandonedCalls": 0,
          "HandledCalls": 0,
          "TotalCalls": 0,
          "LongestCallInQueue": 0,
          "LongestHandleTime": 0
        }
      ]
    }{
      "queue": [
        {
          "queueName": "CTI",
          "type": "SnapShot",
          "WaitingCalls": 0,
          "AgentsLoggedIn": 1,
          "AgentsReady": 0,
          "AgentsNotReady": 1,
          "AgentsInAfterCallWork": 0,
          "AgentsTalking": 0,
          "AgentsReserved": 0
        },
        {
          "type": "SinceMidNight",
          "WaitingCalls": 0,
          "AbandonedCalls": 0,
          "HandledCalls": 0,
          "TotalCalls": 0,
          "LongestCallInQueue": 0,
          "LongestHandleTime": 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" 
		  }
      ]
   }
]

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