Generic Connector JSON API

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

For Rest Command

{
  "data": {
    "type": "HELLO#<client_destination>",
    "body": "null",
    "sessionUrl": "<sessionUrl>",
    "callbackFqdn": "<callbackFqdn>",
    "callbackEndpoint": "<callbackEndpoint>"
  }
}







System Status



Send Heartbeatwhile logged in

system

Beat#<client_destination>



System Status



Connect AgentID with Client Unique Name

agent_info

Connect#<agent_login_Id>

For Rest Command

{
"data": {
"type": "Connect#<agent_login_Id>",
"body": "<client_destination>,<agent_password>",
"sessionUrl": "<sessionUrl>",
"callbackFqdn": "<callbackFqdn>",
"callbackEndpoint": "<callbackEndpoint>"
}
}

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

agent_state

Login#<agent_login_Id>

For Rest Command

{
"data": {
"type": "Login#<agent_login_Id>",
"body": "<agent_password>,<agent_extension>",
"sessionUrl": "<sessionUrl>"
}
}

<agent_password>,<agent_extension>

Agent State, Agent Info

Dialog State,



Mobile Agent Login

agent_state

MobileAgentLogin#<agent_login_Id>

For Rest Command

{
"data": {
"type": "MobileAgentLogin#<agent_login_Id>",
"body": "<agent_password>,<agent_extension>,<agent_phone>,<connection_mode>",
"sessionUrl": "<sessionUrl>"
}
}

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

agent_state

Logout#<agent_login_Id>



Agent State

Supervisor Command

Make agent ready

agent_state

MakeReady#<agent_login_Id>



Agent State



Make agent not ready

agent_state

MakeNotReady#<agent_login_Id>



Agent State

Supervisor Command

Get agent current state

agent_state

GetState#<agent_login_Id>



Agent State

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

Agent State

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

Agent State



Unhold a call

agent_call

RetrieveCall#<agent_login_Id>

<Dialog_ID>

Inbound Call

Agent State



Release a call

agent_call

ReleaseCall#<agent_login_Id>

<Dialog_ID>

Inbound Call

Agent State



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>

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 Call

agent_call

ConsultCall#<agent_login_Id>

<Other_Party_Extension_Number>,<Dialog_ID>

Consult Call



Consult Initiation

agent_call

ConsultCall#<agent_login_Id>

<Other_Party_Extension_Number>,<Dialog_ID>

Consult Call



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

Dialog State



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 yet

Make Work Not Ready

agent_state

makeworknotready#<agentID>







Make Work Ready

agent_state

makeworkready#<agentID>







Get Dialog Participants

agent_call

getDialogParticipants#<agent_login_id>

<dialog_id>





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>

Inbound Call

Will receive this InboundCall event with updated call variables

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

team_phonebooks

GetTeamPhonebooks#<agent_login_id>

<TeamID>

TeamPhonebooks



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>

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 Call