...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Excerpt |
---|
A GC client can call this API to connect with Generic Connector. |
Table of Content Zone | |
---|---|
|
Agent Commands
Message types and their expected output are mentioned below.
Input Message | Category | Message Type | Message Parameters | Expected Output | Comments |
---|---|---|---|---|---|
Send Heartbeat while not logged in | system |
| |||
Send Heartbeatwhile logged in | system |
| Not implemented in client yet. | ||
Connect AgentID with Client Unique Name | agent_info |
|
| No response | |
Agent Login | agent_state |
|
| ||
Mobile Agent Login | agent_state |
| <agent_password>,<agent_extension>,<agent_phone>,<connection_mode> | Only on UCCE but not tested yet. | |
Agent Logout | agent_state |
| |||
Make agent ready | agent_state |
| |||
Make agent not ready | agent_state |
| |||
Get agent current state | agent_state |
| |||
Not Ready with reason code | agent_state |
|
| ||
Make a call | agent_call |
|
| ||
Answer a call | agent_call |
|
| ||
Hold a call | agent_call |
|
| ||
Unhold a call | agent_call |
|
| ||
Release a call | agent_call |
|
| ||
Get Agent Wrap-up Reason Codes | agent_work |
| |||
Get Agent Logout Reason Codes | agent_state |
| |||
Get Agent Not Ready Reason Codes | agent_state |
| |||
Blind Transfer | agent_call |
|
| Used only in UCCE, will update later. | |
Transfer Initiation | agent_call |
|
| ||
Conference Inititation | agent_call |
|
| ||
Complete Transfer | agent_call |
|
| ||
Complete Conference | agent_call |
|
| ||
Get Dialog State | agent_dialog |
|
| ||
Update Dialog Wrap-up Codes | agent_dialog |
|
| No response is received when this event is called. | |
Logout with Reason | agent_state |
|
| ||
Abrupt Agent Disconnection | 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 |
|
| Not implemented in client yet | |
Make Work Not Ready | agent_state |
| Not implemented in client yet | ||
Make Work Ready | agent_state |
| Not implemented in client yet | ||
Get Dialog Participants | agent_call |
|
| Deprecated, Not implemented in client yet | |
Get Logged in Agents | agent_call |
| |||
Update Dialog Variable | agent_call |
|
| Not implemented in client yet | |
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 |
| |||
Get Contacts of a Phonebook | contacts |
|
| ||
Accept Outbound Preview Call | agent_call | AcceptOutboundPreview#< |
| Pass ACCEPT as a second parameter if you want to accept preview outbound call | |
Reject Outbound Preview Call | agent_call | RejectOutboundPreview#< |
| Pass REJECT as a second parameter if you want to reject preview outbound call | |
Close Outbound Preview Call | agent_call | CloseOutboundPreview#< |
| Pass CLOSE as a second parameter if you want to close preview outbound call |
Supervisor Commands
Input Message | Category | Message Type | Message Parameters | Expected Output | Comments |
---|---|---|---|---|---|
Get Queue Info | supervisor_queue_info |
| |||
Silent Monitor (Supervisor Function) | supervisor_dialog |
|
| ||
End Silent Monitor (Supervisor Function) | supervisor_dialog |
|
| ||
Drop Participant (Supervisor Function) | supervisor_dialog |
|
| ||
Get Team Users (Supervisor Function) | supervisor_team |
|
| If you want to get team user and also want to subscribe team events then pass
Otherwise just pass
| |
Get Team Users State (Supervisor Function) | supervisor_team_member_state |
|
| Not implemented in client yet | |
Make a Barge Call | agent_call |
|
|
Admin Commands
Input Message | Category | Message Type | Message Parameters | Expected Output | Comments |
---|---|---|---|---|---|
Get Team and Global Phonebooks | phonebook |
| |||
Get Contacts of a Phonebook | contacts |
|
| ||
Get Team Phonebooks | phonebook |
|
GC Events
GC events as published by GC after receiving Finesse events:
System Status
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output | ||||
---|---|---|---|---|---|---|---|
type | System | System
|
| |||
status | IN_SERVICE | OUT_OF_SERVICE |
Agent Info
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output | ||||
---|---|---|---|---|---|---|---|
type | AgentInfo | Agent Info
|
| ||
firstName | Agent's first name | |
lastName | Agent's last name | |
supervisor | true | false | Is 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
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output | ||||
---|---|---|---|---|---|---|---|
type | State | Agent State
|
| ||
agentId | Agent ID | |
State | Agent state | From one of the following agent states: UNKNOWN, |
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 |
Inbound Call State
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output | |
---|---|---|---|---|
type | InboundCall | Attributes may vary for each type of Call object. | Agent Call
|
theme | Eclipse |
---|---|
title | Agent Call |
linenumbers | true |
collapse | true |
| ||
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 Outbound Preview Call
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | InboundCall | Attributes may vary for each type of Call object. |
Agent Call |
| ||
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 Outbound Call
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | InboundCall | Attributes may vary for each type of Call object. |
Agent Call |
| ||
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
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | NewInboundCall |
New Call |
| ||
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
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | ReasonCodes |
Reason Codes |
| ||
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
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | ConsultCall |
Consult Call States |
| ||
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 | |
agentId | Agent ID |
Release Call Output
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output | ||||
---|---|---|---|---|---|---|---|
type | InboundCall | Dropped Call
|
| ||
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 |
Complete Conference
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | InboundCall |
Complete Conference |
| ||
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 | |
agentId | Agent ID |
Transfer Call
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | InboundCall |
Complete Transfer |
| ||
dialogId | Dialog Id in Finesse | |
state | Held | 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 | |
agentId | Agent ID |
Get Dialog State
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output | ||||
---|---|---|---|---|---|---|---|
type | DialogState | Dialog State
|
| ||
dialogId | Dialog Id in Finesse | |
state | INITIATED | ALERTING | ACTIVE | HELD | NOT_FOUND | This is state of the call |
agentId | Agent ID |
Get All Agents
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | Agents |
Get All Agents |
|
|
|
| ||
users | List of login agents |
Get Team User
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output |
---|---|---|---|
type | Agents |
Get All Agents |
|
|
|
| ||
users | List of team user |
Phonebooks
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output (JSON) | Sample Output (Default) | |||
---|---|---|---|---|---|---|---|
type | object | List of phonebooks |
|
|
|
linenumbers | true |
---|---|
collapse | true |
|
Contacts
Anchor | ||||
---|---|---|---|---|
|
Attribute | Value | Description | Sample Output (JSON) | Sample Output (Default) | |||
---|---|---|---|---|---|---|---|
type | object | List of contacts |
|
|
|
|
GC Output Messages
Output Message Name | JMS Type | Message | Category | Comments | |
O-001 | Send Agent State | Nil | <agent_login_Id>#State#<agent_current_state>#<agent_full_name>(old format) | agent_state | |
O-002 | Errorindicationmessage | Nil | <agent_login_Id>#Error#<Error_Message> | agent_error | |
O-003 | Printmessage in agent windowas sent | Nil | <agent_login_Id>#Control#PrintStatusBar#<Message_To_Agent> | agent_control | |
O-004 | System In Service | Nil | System#IN_SERVICE | system | |
O-005 | System Out of Service | Nil | System#OUT_OF_SERVICE | system | |
|
|
|
|
| |
O-007 | Agent not found | Nil | <agent_login_Id>#State#RE_LOGIN | agent_state | a) Indication that an agent is not found in EF Generic Connector. |
O-008 | Inbound Call State | Nil | <agent_login_Id>#InboundCall#<Inboundcall_current_state>#DialogID:<dialog_ID>#<agent_full_name> (Old Format) | agent_call | “#DialogID:<dialog_ID>” is only sent in case of (Failed,Dropped,Deleted,Hold.Held,Wrap_up) <Inboundcall_current_state> will be equal “DROP” in case of (Failed,Dropped,Deleted) |
O-009 | New Inbound Call | Nil | <agent_login_Id>#NewInboundCall#<from_address>#<ani>,<callvariable1,callvariable2,..>#DialogID:<dialog_ID> (Old Format) | agent_call | |
O-010 | Indication of a consult call state4 | Nil | <agent_login_Id>#ConsultCall#<ConsultCall_current_state>#AssDialogID:<associated_dialog_ID> (Old Format) | agent_call | <ConsultCall_current_state> will be equal “DROP”in case of (Failed,Dropped,Deleted) |
O-011 | Agent info upon login | Nil | <agent_login_Id>#AgentInfo#<agent_first_name>#<agent_last_name>#<Is_Supervisor>#<wrap_up_mode>#<agent_full_name> | agent_info | allowed values for wrap_up mode are: |
O-012 | Supervisor Team Info | Nil | <agent_supervisor_login_Id>#TeamInfoIDs#TeamID#<agent_team_ID_1>,<agent_team_ID_2>,… #<agent_full_name> | supervisor_info | |
O-013 | Supervisor Team Info | Nil | <agent_supervisor_login_Id>#TeamInfoNames#TeamName#<agent_team_name_1>,<agent_team_name_2>,… #<agent_full_name> | supervisor_info | |
O-014 | Get DialogState Reply | Nil | <agent_login_Id>#DialogState#<dialog_state>#<dialog_ID>#<agent_full_name>#<fromAddress>#<Call-Variables>#<associated_dialog_ID>#AssDialogState#<fromAddress>#<Call-Variables> | agent_dialog | |
O-015 | Get Dialog State Controls Reply | Nil | <agent_login_Id>#<dialog_type>#DialogState#<dialog_state>#<dialog_ID>#<agent_full_name> | agent_dialog | |
O-016 | Reason Codes | Nil | <agent_login_Id>#ReasonCodes#Category:<category>#Codes:<code_1>,<code_2>,… #Labels:<label_1>,<label_2>,…#<agent_full_name> | agent_work | |
O-017 | Controls5 | Nil | <agent_login_Id>#Control#<control_1_index>,<control_1_visibleFlag>|<control_2_index>, <control_2_visibleFlag>|… | agent_control | |
|
|
|
|
| |
O-019 | Get Queue Info Reply | Nil | <agent_supervisor_login_Id>#QueueList# | supervisor_queue_info | |
O-020 | Get Team Users Reply (Supervisor Function) | Nil | <agent_supervisor_login_Id>#TeamUsersList#FirstName:<user_1_firstName>,LastName:<user_1_lastName>,Extension:<user_1_extension>, | supervisor_team | |
O-021 | Team Member State Changed | Nil | <agent_supervisor_login_Id>#TeamMemberStateChanged#<teamID>#<agent_state> | supervisor_team_member_state | |
O-022 | Conference Participants | Nil | <agent_supervisor_login_Id>#ConferenceParticipants#<extension_1>,<extension_2>,… | supervisor_dialog | |
|
|
|
|
|
|
O-024 | Dialog IDs on Failover | <agent_login_id>#DialogStatus#DialogID#DialogState#AssDialogID#AssDialogState | agent_state | In the case of failover GC sends the Dialog ID and Associated Dialog ID, with states and call type in JMS type | |
O-025 | AgentState on Connector Sync | Nil | AgentState#<Agent_Id>#<Agent_Password>#<Agent_Extension>#<SubscriptionTime> | connector_sync | On topic "ConnectorSync", the message is sent from one GC to the other. |
O-026 | Reconnect Destination | Nil | DESTINATION#<Destination_Name>#RECONNECT | agent_state | This new type is now for Destination events |
|
|
|
|
| |
O-028 | New Outbound Call | Nil | <agent_login_Id>#NewOutboundCall#<from_address>#ani=<ani>|<callvariable1>=value|<callvariable2>=value|<callvariable3>=value|..>#DialogID:<dialog_ID> | agent_call | BA Call variables List (Passed as it is to the GC Client) |
O-29 | Get Phonebooks (Administrator Function) | Nil | Phonebooks#name:<phonebook_1_name>,type:<phonebook_1_type>,id:<phonebook_1_id> | ||
O-30 | Get Team Phonebooks (Administrator Function) | Nil | TeamPhoneBooks#name:<phonebook_1_name>,type:<phonebook_1_type>,id:<phonebook_1_id> | ||
O-31 | Get PhoneBook Contacts (Administrator Function) | Nil | PhonebookContacts#description:<contact_1_description>,firstName:<contact_1_firstName>,lastName:<contact_1_lastName>,phoneNumber:<contact_1_phoneNumber>,id:<contact_1_id> |
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 | | ||
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 | |
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 | 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 | 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 |
User Messages
Message | Description |
Error#LICENSES_EXCEEDED | License exceeded, please contact system administrator. |
Error#SUBSCRIPTION_FAILED | Invalid LoginId / Password. |
Error#MISSING_EXTENSION | Extension is missing. |
Error#MISSING_PASSWORD | Password not set, please contact system administrator. |
Error#CF_INVALID_LOGON_DEVICE_SPECIFIED | Incorrect phone extension. |
Error#CF_GENERIC_UNSPECIFIED_REJECTION | Please reset your phone and try again |
Error#CF_RESOURCE_BUSY | Phone extension is already in use |
Error#FINESSE_UNAVAILABLE | System is not available, it will connect automatically once available. |
Error#GENERIC_ERROR | An error occurred, please try again later. |
Error#PLEASE_RETRY | An error occurred, please try again later. |
Error#NO_DIALOG_ID | Invalid operation or call not found. |
State#RE_LOGIN | Reconnecting, please wait... |
State#LOGOUT | You are Logged out |
State#LOGGED_IN | You are Logged in |
State#READY | Your State: Ready |
State#NOT_READY | Your State: Not Ready |
State#RESERVED | Your are Reserved, an inbound call is coming. |
State#TALKING | You are talking. |
State#WORK | Wrap up -> Not Ready |
State#WORK_READY | Wrap up -> Ready |
State#UNKNOWN | An error occurred, please refresh your browser. |
State#HOLD | Call is on hold. |
InboundCall#INITIATING | Call is initiated.. |
InboundCall#INITIATED | |
InboundCall#ALERTING | Call is ringing.. |
InboundCall#ACTIVE | Call is active.. |
InboundCall#FAILED | Call has failed.. |
InboundCall#DROP | Call has been released.. |
InboundCall#ACCEPTED | Call is accepted.. |
ConsultCall#ACTIVE | Consult call is active.. |
ConsultCall#INITIATING | |
ConsultCall#INITIATED | |
ConsultCall#ALERTING | Consult call is ringing.. |
ConsultCall#FAILED | Consult call has failed.. |
ConsultCall#DROP | Consult call has dropped. |