Agent Survey API
This API allows for collecting agent feedback through a form on the agent desktop. The form collects feedback from agents on the effectiveness of U-Assist’s various capabilities - alerts, ACW summary, and ACW disposition.
The survey is designed as follows:
![]() |
How helpful is U-Assist? (Take input from 1 OR 2 OR 3 below)
Very Helpful (if selected, then end survey)
Somewhat helpful (if selected, then display Text box free form input and end survey)
Not helpful (If selected, Prompt the following question:) How many calls went wrong today? (Take input from A OR B OR C below)
A. Some: Which components?
ACW Summary: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
ACW Disposition: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
Agent alerts: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
B. Most: Which components?
ACW Summary: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
ACW Disposition: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
Agent alerts: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
C. All: Which components?
ACW Summary: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
ACW Disposition: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
Agent alerts: If selected, then check boxes for the following:
a) Inaccurate
b) Incomplete
c) Not relevant
d) Other: If selected, then free form input
Very helpful: Agent selects this business process when no correction was required in the auto generated ACW Summary/Disposition and Alerts.
Somewhat helpful: Agent selects this business process when fewer corrections were required in the auto generated ACW Summary/Disposition and Alerts.
Not helpful: Agent selects this business process when they find the ACW summary/disposition generated and alerts displayed were inappropriate.
Level |
|
---|---|
Not Helpful Call Count |
|
Components |
|
Feedback Items |
|
Endpoint
Method: POST
URL: http://localhost:port/survey/agent/{orgName}/{agentCrmId}
Path Parameters
Parameter Name | Data Type | Required / Optional | Description |
---|---|---|---|
| String | Required | Name of the Organization to which the Agent belongs to |
| String | Required | The user ID from the client/customer database. If the audio logger provides the station-id instead of agent-id, this user ID for the Agents should be the agent's station-id. |
Request Body
{ "survey": { "level": "Very helpful/Somewhat helpful/Not helpful", "feedback": "", "components": { "notHelpfulCalls": "Some/Most/All", "summary": { "feedbackItems": ["Inaccurate", "Incomplete", "Not relevant"], "otherText": "" }, "disposition": { "feedbackItems": ["Inaccurate", "Incomplete", "Not relevant"], "otherText": "" }, "alerts": { "feedbackItems": ["Inaccurate", "Incomplete", "Not relevant"], "otherText": "" } } } }
Request Parameters
Parameter Name | Data Type | Required / Optional | Description |
---|---|---|---|
| String | Required | The level is the feedback of the Agent on the overall capabilities of U-Assist in the session. The level selected can be one of the following:
|
| String | Required | The feedback field captures the description to support the level selection. Feedback is mandatory when the following levels are selected:
|
| String | Required | If the level Not helpful is selected, the agent is then prompted to answer the question” How many calls went wrong today?” The possible answers are Some or Most or All. It helps to understand the severity of the not helpful calls.
In addition to the above input, the agent needs to indicate which of the following components went wrong:
|
| String | Required | If quality of the ACW summary generated is unsatisfactory, then the agent can select one or more feedbackItems. The available feedbackItems are:
Inaccurate: If the generated ACW summary contains information (entities) that was incorrectly detected from the transcript. Incomplete: If the generated ACW summary has detected only some entities from the conversation. Irrelevant: If the generated ACW summary has information (entities) that is entirely different from the actual conversation, or unwanted information is added to the summary. |
| String | Optional | If the agent finds the ACW summary feedback categories are not matching to her/his requirement, then the agent can provide their feedback in the otherText. |
| String | Required | If the quality of ACW disposition generated is unsatisfactory, then the agent can select one or more feedbackItems. The available feedbackItems are:
Inaccurate: If the generated ACW summary contains information (entities) that was incorrectly detected from the transcript. Incomplete: If the generated ACW summary has detected only some entities from the conversation. Irrelevant: If the generated ACW summary has information (entities) that is entirely different from the actual conversation, or unwanted information is added to the ACW summary. |
| String | Optional | If the agent finds the above ACW disposition feedback categories are not matching to her/his requirement, then the agent can provide their feedback in the otherText. |
| String | Required | If the quality of Alerts notified are unsatisfactory, then the agent can select one or more feedbackItems. The available feedbackItems are:
If the alert message is not accurate, then agent should select inaccurate. If the alert message is not meaningful, then agent should select incomplete. If the alert message is entirely different from the actual conversation, then agent should select Not relevant. |
| String | Optional | If the agent finds the above alert feedback categories are not matching to her/his requirement, then the agent can provide their feedback in the otherText. |
Sample Request for the feedback Very helpful
curl --location --request GET 'https://api.<region>.cloud.uniphore.com/v2/survey/agent/org001/agentCrm001' \ --header 'Content-Type: application/json' \ --data-raw '{ "level": "Very helpful" }'
Sample Request for the feedback Somewhat helpful
curl --location --request POST 'https://api.<region>.cloud.uniphore.com/v2/survey/agent/org001/agentCrm001' \ --header 'Content-Type: application/json' \ --data-raw '{ "level": "Somewhat helpful", "feedback": "agent provided feedback here" }'
Sample Request for the feedback Not helpful
curl --location --request POST 'https://api.<region>.cloud.uniphore.com/v2/survey/agent/org001/agentCrm001' \ --header 'Content-Type: application/json' \ --data-raw '{ "level": "Not helpful", "components": { "notHelpfulCalls": "Most", "summary": { "feedbackItems": [ "Inaccurate" ], "otherText": "some reason" }, "disposition": { "feedbackItems": [ "Inaccurate", "Incomplete", "Not relevant" ] }, "alerts": { "feedbackItems": [], "otherText": "another reason" } } }'
Response and Error Codes
API Code / Internal Code | Resource | Message | Description |
---|---|---|---|
200 | agentId | Survey for agent {agentId} submitted successfully | This response code is returned when an agent submits a survey. |
400 | agentId | '{agentId}' user not found for '{orgId}' organization | The given agent id is not available in the specified organization. |
400 / 1002 | LEVEL | Invalid level provided | The level should be Very helpful or Somewhat helpful or Not helpful. Any level other than these three options are considered Invalid level. |
400 / 1101 | FEEDBACK | No feedback provided | It is mandatory to provide feedback when the level Somewhat Helpful is selected. This error is returned when the agent fails to give the feedback. |
400 / 1102 | FEEDBACK | Feedback exceeded max length of 300 allowed characters | In the Somewhat Helpful level, the Feedback should not exceed the maximum allowed length which is 300 characters. |
400 / 1007 | FEEDBACK | Feedback contains disallowed special characters | The following special characters are not in the feedback: `@#$^&*~<>;'_:"()[]{}|= If any of this special character is detected in the feedback, then this error is returned. |
400 / 1101 | COMPONENTS | No feedback component provided | The feedback component should not be null. |
400 / 1101 | COMPONENTS | At least one feedback component must be marked | If an agent selects Not Helpful level, then at least one feedback component must be selected as feedback is mandatory for this level. |
400 / 1002 | NOT_HELPFUL_CALLS | Invalid count provided for not helpful calls | The Not helpful calls count should be Some or Most or All. Any text other than these three options are considered Invalid count. |
400 / 1002 | COMPONENT_LEVEL | Invalid component level provided | For each component – Summary, Disposition and Alert, agent should select one of the following options – Inaccurate, Incomplete, Not Relevant, Others. If any option other than is given, then the system throws this error. |
400 / 1101 | OTHER_TEXT | Description for 'Other' text option cannot be empty | When ‘Other’ component is selected for a Not helpful level then description is mandatory. |
400 / 1102 | OTHER_TEXT | Feedback exceeded max length of 300 allowed characters | In the Not Helpful level, the Feedback should not exceed the maximum allowed length which is 300 characters. |
400 / 1007 | OTHER_TEXT | Invalid feedback provided; special characters detected | The following special characters are not allowed in the feedback of Not Helpful level `@#$^&*~<>;'_:"()[]{}|= If any of this special character is detected in the Not Helpful feedback, then this error is returned. |
500 | Internal Server Error |
Example Response: Response Code 200
{ "data": "Survey for agent agentCrm001 submitted successfully", "errors": "" }
Example Response: User not found for given organization
{ "data": "", "errors": "'agentCrm001' user not found for 'org001' organization" }
Example Response: Invalid level provided
{ "data": "", "errors": [ { "code": "1002", "resource": "LEVEL", "resourceId": "invalid level", "field": null, "message": "Invalid level provided" } ] }
Example Response: No feedback provided - Somewhat Helpful
{ "data": "", "errors": [ { "code": "1101", "resource": "FEEDBACK", "resourceId": null, "field": null, "message": "No feedback provided!" } ] }
Example Response: Feedback exceeds max length of 300 characters - Somewhat Helpful
{ "data": "", "errors": [ { "code": "1102", "resource": "FEEDBACK", "resourceId": "Feedback with length greater than 300 characters", "field": null, "message": "Feedback exceeded max length of 300 allowed characters" } ] }
Example Response: Somewhat Helpful level Feedback contains disallowed special characters
Disallowed special characters are `@#$^&*~<>;'_:"()[]{}|=
{ "data": "", "errors": [ { "code": "1007", "resource": "FEEDBACK", "resourceId": "Feedback with special characters", "field": null, "message": "Invalid feedback provided, special characters detected." } ] }
Example Response: No components provided - Not Helpful
When COMPONENTS field is null
{ "data": "", "errors": [ { "code": "1101", "resource": "COMPONENTS", "resourceId": null, "field": null, "message": "No feedback components provided" } ] }
When no COMPONENTS data is provided
{ "data": "", "errors": [ { "code": "1101", "resource": "COMPONENTS", "resourceId": null, "field": null, "message": "At least one feedback component must be marked." } ] }
Example Response: Invalid Not helpful Calls count provided
{ "data": "", "errors": [ { "code": "1002", "resource": "NOT_HELPFUL_CALLS", "resourceId": "invalid not helpful calls", "field": null, "message": "Invalid count provided for 'not helpful calls'" } ] }
Example Response: Invalid feedback item Component Level provided for Not Helpful
{ "data": "", "errors": [ { "code": "1002", "resource": "COMPONENT_LEVEL", "resourceId": "Invalid feedback item", "field": null, "message": "Invalid component level provided" } ] }
Example Response: Empty Other Text provided - Not Helpful
{ "data": "", "errors": [ { "code": "1101", "resource": "OTHER_TEXT", "resourceId": null, "field": null, "message": "Description for 'Other' text option cannot be empty" } ] }
Example Response: Other Text exceeds max length of 300 characters - Not Helpful
{ "data": "", "errors": [ { "code": "1102", "resource": "OTHER_TEXT", "resourceId": "Other Text with length greater than 300 characters", "field": null, "message": "Feedback exceeded max length of 300 allowed characters" } ] }
Example Response: Other Text contains disallowed special characters - Not Helpful
Disallowed special characters: `@#$^&*~<>;'_:"()[]{}|=
{ "data": "", "errors": [ { "code": "1007", "resource": "OTHER_TEXT", "resourceId": "Other text with special characters", "field": null, "message": "Invalid feedback provided, special characters detected." } ] }