Recording API

Agent Commands

Used to view real-time information about agents and their activities.

Agent Status
Description

Returns the state of the specified agent (AgentID, BusinessUnit, AgentPhone, SystemUsername, CrmUsername, ActiveCall, InactiveCalls, Username, DeviceId, DeviceAlias, DesktopOnlySessions) based on supplied parameters.

HTTP Method GET
URI

http://[RecordingApiServerAddress]/api/Agent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • n/a
Example(s):

http://[RecordingApiServerAddress]/api/Agent?agentIdentifier=Id&value=2

Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.
Agent List
Description

Returns a list of all agents and their statuses currently stored in the Recording API tracker, which persists across service restarts.

HTTP Method GET
URI

http://[RecordingApiServerAddress]/api/Agent/GetAll

Required Parameters
  • n/a
Optional Parameters
  • n/a
Example(s):

http://[RecordingApiServerAddress]/api/Agent/GetAll

Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.

Blackout Commands

Multiple Recording API servers sync blackout statuses to each other over RabbitMQ. Blackouts are based on the agent, not the call, so if a blackout starts and an agent receives a transfer or changes calls, the blackout will continue until stopped or until the configured maxagentblackout threshold is reached.

The BlackoutStartTime and BlackoutStopTime parameters use standard DateTimeOffset formatting. TimeOffset is the number of seconds (integer). The following factors apply:

  • If only the TimeOffSet is present, then the blackout start/stop time is determined by the Recording API and the value is whenever the Recording API received the command plus the TimeOffSet.
  • If both are present, then only the BlackoutStartTime and BlackoutStopTime parameters will be applied and TimeOffSet will be ignored.
  • If both are absent, then the blackout start/stop time is determined by the Recording API and the value is whenever the Recording API received the command.
  • BlackoutStartTime and BlackoutStopTime are determined on the client side.
StartForAgent
Description

Initiates a blackout for the current call for the specified agent based on supplied parameters.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/Blackout/StartForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • BlackoutStartTime – When to start the blackout
  • TimeOffset – Used to account for time differences caused by Daylight Saving Time or time zone differences between the agent/request source location and the Recording API location.
Example(s):
http://[RecordingApiServerAddress]/api/Blackout/StartForAgent
{"AgentIdentifier":"Id", "Value":"1"}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.
StopForAgent
Description

Terminates a blackout for the current call for the specified agent based on supplied parameters.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/blackout/StopForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • BlackoutStopTime – When to stop the blackout.
  • TimeOffset – Used to account for time differences caused by Daylight Saving Time or time zone differences between the agent/request source location and the Recording API location.
Example(s):
http://[RecordingApiServerAddress]/api/Blackout/StopForAgent
{"AgentIdentifier":"Id", "Value":"1"}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.

Active Recording Commands

Used to initiate, update, duplicate, and terminate audio recordings for agents.

StartForAgent
Description

Initiates a new audio recording for an agent based on supplied parameters.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/Record/StartForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • CallIdentifier – A user-specified value that uniquely identifies the recording. The value can be used in subsequent API calls to take action on the same recording.
  • CallMetadata – Information supplied with the request that will be added to custom fields defined in the Terminology page.
Example(s):
http://[RecordingApiServerAddress]/api/Record/StartForAgent
{"AgentIdentifier":"Id", "Value":"2"}

or

{"AgentIdentifier":"Phone", "Value":"805003"}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.
StopForAgent
Description

Ends active audio recording for an agent based on supplied parameters.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/Record/StopForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • CallIdentifier – A user-specified value that uniquely identifies the recording. The value can be used in subsequent API calls to take action on the same recording.
  • CallMetadata – Information supplied with the request that will be added to custom fields defined in the Terminology page.
Example(s):
http://[RecordingApiServerAddress]/api/Record/StopForAgent
{"AgentIdentifier":"Id", "Value":"2"}

or

{"AgentIdentifier":"Phone", "Value":"805003"}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.
UpdateForAgent
Description

Updates call metadata for an active audio call recording based on supplied parameters.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/Record/UpdateForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • CallIdentifier – A user-specified value that uniquely identifies the recording. The value can be used in subsequent API calls to take action on the same recording.
  • CallMetadata – Information supplied with the request that will be added to custom fields defined in the Terminology page.
Example(s):
http://[RecordingApiServerAddress]/api/Record/UpdateForAgent
{"AgentIdentifier":"Phone", "Value":"805003", "CallMetadata":{"user2":"1234567890"}}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.
StartDuplicateForAgent
Description

Initiates a duplicate call recording based on supplied parameters for an agent who is already being recorded by another schedule. If CallIdentifier is not specified, the Recording API will assume it should duplicate the active call. An inactive call would be a secondary call for an agent that is on hold, awaiting cold transfer pickup, or is parked.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/Record/StartDuplicateForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • CallIdentifier – A user-specified value that uniquely identifies the recording. The value can be used in subsequent API calls to take action on the same recording.
  • CallMetadata – Information supplied with the request that will be added to custom fields defined in the Terminology page.
Example(s):
http://[RecordingApiServerAddress]/api/Record/StartDuplicateForAgent
{"AgentIdentifier":"Phone", "Value":"5003", "CallIdentifier":"111222"}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.
StopDuplicateForAgent
Description

Ends a duplicate call recording based on supplied parameters for an agent who is already being recorded by another schedule.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/Record/StopDuplicateForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • CallIdentifier – A user-specified value that uniquely identifies the recording. The value can be used in subsequent API calls to take action on the same recording.
  • CallMetadata – Information supplied with the request that will be added to custom fields defined in the Terminology page.
Example(s):
http://[RecordingApiServerAddress]/api/Record/StopDuplicateForAgent
{"AgentIdentifier":"Phone", "Value":"5003”}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.

Screen Recording Commands

Used to initiate, update, and terminate screen recordings for agents.

StartForAgent
Description

Initiates a new screen recording for an agent based on supplied parameters.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/ScreenRecord/StartForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • CallMetadata – Information supplied with the request that will be added to custom fields defined in the Terminology page.
Example(s):
http://[RecordingApiServerAddress]/api/ScreenRecord/StartForAgent
{"AgentIdentifier":"Phone", "Value":"7000", "CallMetadata":{"user1":"API Initiated"}}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.
UpdateForAgent
Description

Updates call metadata for an active screen recording based on supplied parameters.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/ScreenRecord/UpdateForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • CallMetadata – Information supplied with the request that will be added to custom fields defined in the Terminology page.
Example(s):
http://[RecordingApiServerAddress]/api/ScreenRecord/UpdateForAgent
{"AgentIdentifier":"Phone", "Value":"7000", "CallMetadata":{"user1":"API Initiated"}}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.
StopForAgent
Description

Ends the active screen recording for an agent based on supplied parameters.

HTTP Method POST
URI

http://[RecordingApiServerAddress]/api/ScreenRecord/StopForAgent

Required Parameters
  • AgentIdentifier – Agent ID, CrmUsername, Phone, SystemUsername, Username
  • Value – The unique AgentIdentifier value to match
Optional Parameters
  • CallMetadata – Information supplied with the request that will be added to custom fields defined in the Terminology page.
Example(s):
http://[RecordingApiServerAddress]/api/ScreenRecord/StopForAgent
{"AgentIdentifier":"Phone", "Value":"7000", "CallMetadata":{"user1":"API Initiated"}}
Possible Returns
  • 200 OK – Request was completed, information was returned, or element matching specified parameters was found.
  • 404 Not Found – Requested item (agent, device) could not be located due to missing body parameter(s), does not currently exist in the API tracker(s), or nothing was found that matched the criteria provided.
  • 500 Internal Server Error – Can be caused by service misconfiguration or other problems with the server outside the scope of the inContact WFO API services.