Generic Connector JTAPI

Generic Connector JTAPI

 

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

 

Agent Commands

Message types and their expected output are mentioned below.

Input Message

Category

Message Type

Message Parameters

Expected Output

Comments

Input Message

Category

Message Type

Message Parameters

Expected Output

Comments

Send Heartbeat while not logged in

system

Hello#<client_extension>



System Status



Send Heartbeatwhile logged in

system

Beat#<client_destination>



System Status

Not implemented in client yet.

Connect AgentID with Client Unique Name

agent_info

Connect#<agent_login_Id>

<client_destination>,<agent_password>



No response

Agent Login

agent_state

Login#<agent_login_Id>

<agent_password>,<agent_extension>

Agent State, Agent Info



Mobile Agent Login

agent_state

MobileAgentLogin#<agent_login_Id>

<agent_password>,<agent_extension>,<agent_phone>,<connection_mode>

Agent State, Agent Info

Only on UCCE but not tested yet. 
Set connection mode to “true” for “call by call”, “false” for “nailed connection”.

Agent Logout

agent_state

Logout#<agent_login_Id>



Agent State



Make agent ready

agent_state

MakeReady#<agent_login_Id>



Agent State



Make agent not ready

agent_state

MakeNotReady#<agent_login_Id>



Agent State



Get agent current state

agent_state

GetState#<agent_login_Id>



Agent State



Not Ready with reason code

agent_state

MakeNotReadyWithReason#<agent_login_Id>

<agent_reason_code>

Agent State



Make a call

agent_call

MakeCall# <agent_login_Id>

<Other_Party_Extension_Number>

Inbound Call



Answer a call

agent_call

AnswerCall# <agent_login_Id>

<Dialog_ID>

Inbound Call



Hold a call

agent_call

HoldCall#<agent_login_Id>

<Dialog_ID>

Inbound Call



Unhold a call

agent_call

RetrieveCall#<agent_login_Id>

<Dialog_ID>

Inbound Call



Release a call

agent_call

ReleaseCall#<agent_login_Id>

<Dialog_ID>

Inbound Call



Get Agent Wrap-up Reason Codes

agent_work

wrapupreasoncode#<agent_login_Id>



Reason Codes



Get Agent Logout Reason Codes

agent_state

reasoncodelogout#<agent_login_Id>



Reason Codes



Get Agent Not Ready Reason Codes

agent_state

reasoncodenotready#<agent_login_Id>



Reason Codes



Blind Transfer

agent_call

Transfer_sst#<agent_login_Id>

<Other_Party_Extension_Number>,<Dialog_ID>



Used only in UCCE, will update later.

Transfer Initiation

agent_call

ConsultCall#<agent_login_Id>

<Other_Party_Extension_Number>,<Dialog_ID>

Consult Call



Conference Inititation

agent_call

ConsultCall#<agent_login_Id>

<Other_Party_Extension_Number>,<Dialog_ID>

Consult Call



Complete Transfer

agent_call

TransferCall#<agent_login_Id>

<agent_extension>,<Dialog_ID>

Transfer Call



Complete Conference

agent_call

Conferencecall#<agent_login_Id>

<agent_extension>,<Dialog_ID>

Conference Call



Get Dialog State

agent_dialog

getdialogstate#<agent_login_Id>

<Dialog_ID>

Agent Dialog



Update Dialog Wrap-up Codes

agent_dialog

wrapup#<agent_login_Id>

<Wrapup_Reason>,<dialog_id>



No response is received when this event is called.

Logout with Reason

agent_state

logoutwithreason#<agent_login_Id>

<ReasonCode>

Agent State



Abrupt Agent Disconnection

agent_state

force_logout#<agent_login_Id>



Agent State

Had do send this message in backend but the output is same as of in Expected Output

Get Dialog State Controls

agent_dialog

getdialogstatecontrols#<agent_login_Id>

<Dialog_ID>



Not implemented in client yet

Make Work Not Ready

agent_state

makeworknotready#<agentID>





Not implemented in client yet

Make Work Ready

agent_state

makeworkready#<agentID>





Not implemented in client yet

Get Dialog Participants

agent_call

getDialogParticipants#<agent_login_id>

<dialog_id>



Deprecated, Not implemented in client yet

Get Logged in Agents

agent_call

getallagents#<agent_login_id>



Get All Agents



Update Dialog Variable

agent_call

update_call_variable#<agent_login_Id>

<dialog_id>,<variable_name>,<variable_value>



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

GetPhonebooks#<agent_login_id>



Phonebooks



Get Contacts of a Phonebook

contacts

GetPhonebookContacts#<agent_login_id>

<PhonebookID>

Contacts



Accept Outbound Preview Call

agent_call

AcceptOutboundPreview#<agent_login_id>

<dialog_id>,<ACCEPT>

Inbound Call

Pass ACCEPT as a second parameter if you want to accept preview outbound call

Reject Outbound Preview Call

agent_call

RejectOutboundPreview#<agent_login_id>

<dialog_id>,<REJECT>

Inbound Call

Pass REJECT as a second parameter if you want to reject preview outbound call

Close Outbound Preview Call

agent_call

CloseOutboundPreview#<agent_login_id>

<dialog_id>,<CLOSE>

Inbound Call

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

Input Message

Category

Message Type

Message Parameters

Expected Output

Comments

Get Queue Info

supervisor_queue_info

getqueuelist#<agent_login_Id>









Silent Monitor (Supervisor Function)

supervisor_dialog

silentmonitor#<agent_login_Id>

<Agent_Extension>





End Silent Monitor (Supervisor Function)

supervisor_dialog

endsilentmonitor#<agent_login_Id>

<Dialog_ID>





Drop Participant (Supervisor Function)

supervisor_dialog

dropparticipant#<agent_login_Id>

<Agent_Extension>,<Dialog_ID>





Get Team Users (Supervisor Function)

supervisor_team

getteamusers#<agent_login_Id>

<TeamID>,<true>



If you want to get team user and also want to subscribe team events then pass

"<true>" as an extra parameter.

Otherwise just pass 

<TeamID>

Get Team Users State (Supervisor Function)

supervisor_team_member_state

getteamuserstate#<agent_login_Id>

<Team_Agent_LoginID>



Not implemented in client yet

Make a Barge Call

agent_call

bargein#<agent_login_Id>

<Team_Agent_LoginID >,<Dialog_ID>





Admin Commands

Input Message

Category

Message Type

Message Parameters

Expected Output

Comments

Input Message

Category

Message Type

Message Parameters

Expected Output

Comments

Get Team and Global Phonebooks

phonebook

GetPhonebooks#<agent_login_id>



Phonebooks



Get Contacts of a Phonebook

contacts

GetPhonebookContacts#<agent_login_id>

<PhonebookID>

Contacts



Get Team Phonebooks

phonebook

GetTeamPhonebooks#<agent_login_id>



Phonebooks



GC Events

GC events as published by GC after receiving Finesse events:

System Status

Attribute

Value

Description

Sample Output

Attribute

Value

Description

Sample Output

type

System





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



status



IN_SERVICE | OUT_OF_SERVICE

Agent Info 

Attribute

Value

Description

Sample Output

Attribute

Value

Description

Sample Output

type

AgentInfo





Agent Info
{ "type": "AgentInfo", "firstName": "jehanzeb4", "lastName": "riaz", "supervisor": false, "wrapUpOnIncoming": "", "teams": [], "team": { "id": "7", "name": "Demo" }, "agentId": "jehanzeb4" }



firstName



Agent's first name

lastName



Agent's last name

supervisor

true | false

Is this agent a supervisor?

wrapUpOnIncoming





teams



If the agent is a supervisor, it's an array of all teams. Each element is a team object as defined below. 

team



Agent's team

agentId



Agent ID

Agent State 

Attribute

Value

Description

Sample Output

Attribute

Value

Description

Sample Output

type

State





Agent State
{ "type": "State", "agentId": "jehanzeb6", "state": "NOT_READY", "reasonCode": "8", "stateChangeTimeString": "", "pendingState": "", "stateChangeTime": "2019-09-17 12:46:21" }



agentId



Agent ID

State

Agent state

From one of the following agent states: 

UNKNOWN,
READY,
NOT_READY,
LOGOUT,
TALKING,
RESERVED,
RESERVED_OUTBOUND,
RESERVED_OUTBOUND_PREVIEW,
WORK,
WORK_READY,
HOLD

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