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

Supervisor Commands

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

Not implemented in client yet
Silent Monitor (Supervisor Function)supervisor_dialogsilentmonitor#<agent_login_Id><Agent_Extension>
Not implemented in client yet
Drop Participant (Supervisor Function)supervisor_dialogdropparticipant#<agent_login_Id><Agent_Extension>,<Dialog_ID>
Not implemented in client yet
Get Team Users (Supervisor Function)supervisor_teamgetteamusers#<agent_login_Id><TeamID>
Not implemented in client yet
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>
Not implemented in client yet

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": "",
  "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

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"
}
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

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"
    }
  ],
  "participants": [
    {
      "mediaAddress": "1006",
      "state": "INITIATED",
      "addressType": "AGENT_DEVICE"
    }
  ],
  "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
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"
    }
  ],
  "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
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"
}
],
"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
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": ""
    },
    {
      "mediaAddress": "1004",
      "state": "ACTIVE",
      "addressType": "AGENT_DEVICE"
    },
    {
      "mediaAddress": "1006",
      "state": "ACTIVE",
      "addressType": "AGENT_DEVICE"
    }
  ],
  "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
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"
    }
  ],
  "participants": [
    {
      "mediaAddress": "1005",
      "state": "ACTIVE",
      "addressType": ""
    },
    {
      "mediaAddress": "1004",
      "state": "HELD",
      "addressType": "AGENT_DEVICE"
    }
  ],
  "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
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