API Overview
Command Message Structure
Messages are sent using standard HTTP request types (such as GET, POST, PUT, and so forth). The command's URI corresponds to its name. Parameters for requests are sent either in the URI itself or in the body in JSON format.
Many API commands require an agent identifier. To provide flexibility, inContact WFO can use a number of different fields for this purpose.
Valid values for AgentIdentifier are:
- Agent ID
- CrmUsername
- Phone
- SystemUsername
- Username
Possible Returns
API commands can generate the following 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.
Example
The following series of commands starts a new recording, updates the recording with 1234567890 for the User2 field of the recording record, starts and stops a blackout, and ends the call recording for an agent with Agent ID 1. The agent is using phone extension 4678.
Call Start
POST
http://[RecordingApiServerAddress]/api/Record/StartForAgent
{"AgentIdentifier":"Id", "Value":"1"}
or
{"AgentIdentifier":"Phone", "Value":"4678"}
Call Update
POST
http://[RecordingApiServerAddress]/api/Record/UpdateForAgent
{"AgentIdentifier":"Phone", "Value":"4678", "CallMetadata":{"user2":"1234567890"}}
Blackout Start
POST
http://[RecordingApiServerAddress]/api/Blackout/StartForAgent
{"AgentIdentifier":"Id", "Value":"1"}
Blackout Stop
POST
http://[RecordingApiServerAddress]/api/Blackout/StopForAgent
{"AgentIdentifier":"Id", "Value":"1"}
Call Stop
POST
http://[RecordingApiServerAddress]/api/Record/StopForAgent
{"AgentIdentifier":"Id", "Value":"1"}
or
{"AgentIdentifier":"Phone", "Value":"4678"}