Files
ViciDialSVN/agc_2-X/trunk/docs/AGENT_EVENTS_PUSH.txt
T
mattf 48c6b7f4ab Updated AGENT_EVENTS_PUSH.txt doc
git-svn-id: svn://192.168.202.10@3437 3d104415-ff17-0410-8863-d5cf3c621b8a
2021-05-05 21:20:56 +00:00

197 lines
8.3 KiB
Plaintext

Agent Events Push Started: 2017-05-31 Updated: 2021-05-05
This feature allows for selected events in the VICIdial agent screen to push out event triggers through HTTP requests sent to a URL as defined in the System Settings.
There are two System Settings configurations that need to be set for Agent Events Push to work:
Agent Push Events - This setting will enable the sending of events from agent screens to the URL defined below. Default is 0 for disabled.
Agent Push URL - If Agent Push Events are enabled above, this is the URL that the events will be sent to. The variables that you can use within the URL are --A--user--B--, --A--event--B--, --A--message--B--, --A--lead_id--B--, --A--counter--B--. Since this function uses AJAX, it must reference a local script on the web server. If you want to reference an external web address then you should use the get2post.php script that can be found in the extras directory.
The "agent_events" function operates through AJAX in the agent screen, and as such it can only access web scripts that are local on the web server. So, if you want to send these HTTP Push events to an external server, you will have to use a script like the get2post.php script that is included in the "extras" directory in the source code and copy it to the "agc" web directory on your webserver. Below is an example of how to populate the System Settings "Agent Push URL" field to use the get2post.php script:
get2post.php?uniqueid=--A--epoch--B--.--A--agent_log_id--B--&type=event&HTTPURLTOPOST=192.168.1.3/agc/vdc_call_url_test.php?user=--A--user--B--&lead_id=--A--lead_id--B--&event=--A--event--B--&message=--A--message--B--&counter=--A--counter--B--
The above URL is passing the following fields to the external web script: user, lead_id, event, message
Here is a list of the supported events that will be pushed out if you have configured Agent Events Push on your system:
logged_in - After the agent screen has finished loading, this event will be triggered. The session ID, server_ip, version, build and script will be attached to this event
logged_out - There are a few different types of logouts, this is the starting of the logout process, the reason for the logout will be attached to this event
logged_out_complete - triggered when logout process is complete, this event may not trigger reliably due to agent closing browser
state_ready - When the agent state changes to READY or CLOSER, this event will trigger, the state will be attached to the event
state_paused - When the agent status changes to PAUSED, this event will trigger, the state will be attached to the event
call_dialed - For manual dial calls this will trigger when the call is dialed, the number dialed and number type are attached to this event
call_answered - For auto-dial and inbound calls this is the first trigger event. For manual dial it triggers when Answer signal is received. call_id is attached to event
call_dead - This indicates that the customer line has hung up before the agent clicked to hang up the call
call_script - Triggered when the script tab has loaded
dead_trigger_audio - Triggered if audio has been played to the agent based on the Dead Call Trigger Audio campaign settings
dead_trigger_url - Triggered if URL request has been started based on the Dead Call Trigger URL campaign settings
dead_trigger_url_sent - Triggered if URL request has been confirmed received based on the Dead Call Trigger URL campaign settings
other_answered - Triggers if EMAIL or CHAT is received by the agent, type will be attached to event
agent_hangup - This is when the agent hangs up the call
dispo_screen_open - The dispo screen has been opened and is awaiting the agent action to set a disposition
dispo_set - This is when the agent submits a disposition for the call they jsut finished, a message containing the selected disposition will be attached to this event
dispo_set_twice - If the Dispo is somehow sent a second time for the same call, this will trigger
3way_start - This indicates that the agent has started a 3way call, where the call is going will be attached to this event
3way_answered - This indicates that the 3way party has answered the call. call_id of customer call is attached to event
3way_agent_hangup - This indicates that the agent has clicked to hangup the 3way call
3way_agent_leave - This indicates that the agent has clicked to leave the 3way call and move to a new session
transfer_local_closer - The agent has transferred a call to an In-Group using Local Closer, the in-group transferred to will be attached to the event
transfer_blind - The agent has blind transferred a call, the destination transferred to will be attached to the event
transfer_vmail - The agent has transferred a call to the voicemail message process
park_started - This indicates that the agent has sent the customer to a park
park_retrieved - This indicates that the agent has received the customer back from park
park_ivr_started - This indicates that the agent has sent the customer to a park IVR
park_ivr_retrieved - This indicates that the agent has received the customer back from a park IVR
agent_alert - These are the small box agent alerts that appear to the agent, the message will be attached to this event. Example is "Dial timed out..."
login_invalid - This agent screen was not opened properly
session_disabled - Another live agent session was open using your user ID. It has been disabled. Click OK to continue to the agent screen
blind_monitor_alert - Blind monitor alerts are enabled in the campaign, and someone is monitoring this agent
manual_dial_open - The Manual Dial screen has been opened
callback_select_open - The Scheduled Callbacks date selection screen has been opened
time_sync - There is a Time Synchronization issue on the system
session_disabled - This agent's session has been disabled
customer_gone - The customer has gone screen has been opened
none_in_session - There is noone in the agent session
transfer_panel_open - The transfer conference panel has been opened
transfer_panel_closed - The transfer conference panel has been closed
ingroup_screen_open - The In-Group selection screen has been opened
ingroup_screen_closed - The In-Group selection screen has been closed
territory_screen_open - The Territory selection screen has been opened
territory_screen_closed - The Territory selection screen has been closed
contact_search_open - The Contact search screen has been opened
lead_search_open - The lead search screen has been opened
pause_code_open - The pause code selection screen has been opened
update_fields - API trigger to update customer information fields, will attach fields updated and new values
session_empty - This event triggers when the agent session has no channels in it
session_channels - This event triggers when the agent session goes from having no channels to having at least one channel in it
Due to the nature of AJAX to be "Asynchronous", and also some VICIdial campaign settings, the above events may not always be sent or received in the same order. To help in building your application around these event order fluctuations, here is a list of events that are triggered only after an AJAX transaction has completed, and those that are based only on Javascript/PHP events, like an agent click, javascript timer or other non-AJAX transaction:
EVENTS THAT TRIGGER AFTER AJAX PROCESS HAS COMPLETED:
logged_out_complete
call_answered
call_dead
call_script
dead_trigger_url_sent
other_answered
agent_hangup
dispo_set
3way_answered
3way_agent_hangup
blind_monitor_alert
time_sync
customer_gone
update_fields
session_empty
session_channels
EVENTS THAT TRIGGER BY JAVASCRIPT/PHP ACTIONS(NON-AJAX) ALONE:
logged_in
logged_out
state_ready
state_paused
call_dialed
dead_trigger_audio
dead_trigger_url
dispo_screen_open
dispo_set_twice
3way_start
3way_agent_leave
transfer_local_closer
transfer_blind
park_started
park_retrieved
park_ivr_started
park_ivr_retrieved
login_invalid
manual_dial_open
callback_select_open
transfer_panel_open
transfer_panel_closed
transfer_vmail
ingroup_screen_open
ingroup_screen_closed
territory_screen_open
territory_screen_closed
contact_search_open
lead_search_open
pause_code_open
MULTI-PURPOSE EVENTS THAT HAVE VARIOUS TRIGGERS:
agent_alert
session_disabled
none_in_session
NOTE: For information on using these Agent Events with your own custom WebSocket applications, please read the WEBSOCKETS_SUPPORT.txt document also in this directory.