(4.4.11) Generic Connector JSON API

(4.4.11) 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>

 

System Status

 

Send Heartbeatwhile logged in

system

Beat#<client_destination>

 

System Status

 

Connect AgentID with Client Unique Name

agent_info

Connect#<agent_login_Id>

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

<agent_password>,<agent_extension>

Agent State, Agent Info

Dialog State,

 

Mobile Agent Login

agent_state

MobileAgentLogin#<agent_login_Id>

<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

 

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>

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

agent_call

RejectOutboundPreview#<agent_login_id>

<dialog_id>,<REJECT>

Before Call Rejected

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND_PREVIEW)

NewOutboundPreviewCall

Inbound Call(ACTIVE)

Inbound Call(ACTIVE)

After Call Rejected

Inbound Call(ACTIVE)

Inbound Call(DROPPED)

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>

Before Call Closed

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND_PREVIEW)

NewOutboundPreviewCall

Inbound Call(ACTIVE)

Inbound Call(ACTIVE)

After Call Closed

Inbound Call(ACTIVE)

Inbound Call(DROPPED)

Pass CLOSE as a second parameter if you want to close preview outbound call

Outbound Progressive Call

agent_call

AnswerCall# <agent_login_Id>

<Dialog_ID>

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND)

NewOutboundCall

Print Message

Inbound Call

Call Type (OUTBOUND)

 

Outbound Predictive Call

gent_call

AnswerCall# <agent_login_Id>

<Dialog_ID>

Agent State (RESERVED)

Agent State (RESERVED_OUTBOUND)

NewOutboundCall

Print Message

Inbound Call

Call Type (OUTBOUND)

 

Schedule a callback call

agent_call

SHCEDULECALLBACK#<agent_login_id>

<targetMediaAddress>,<dialog_id>,<callbackTime>,<callbackNumber>

Print Message

Inbound Call

Callback scheduled

Print Message