Skip to main content

Uniphore Customer Portal

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:

image12.png

How helpful is U-Assist? (Take input from 1 OR 2 OR 3 below)

  1. Very Helpful (if selected, then end survey)

  2. Somewhat helpful (if selected, then display Text box free form input and end survey)

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

  1. Very helpful

  2. Somewhat helpful

  3. Not helpful

Not Helpful Call Count

  1. Some

  2. Most

  3. All

Components

  1. ACW Summary

  2. ACW Disposition

  3. Alerts

Feedback Items

  1. Inaccurate

  2. Incomplete

  3. Not relevant

  4. Other Text

Endpoint

Method: POST

URL: http://localhost:port/survey/agent/{orgName}/{agentCrmId}

Path Parameters

Parameter Name

Data Type

Required / Optional

Description

orgName

String

Required

Name of the Organization to which the Agent belongs to

agentCrmId

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

Level

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:

  • Very helpful

  • Somewhat helpful

  • Not helpful

Feedback

String

Required

The feedback field captures the description to support the level selection.

Feedback is mandatory when the following levels are selected:

  • Somewhat helpful

  • Not helpful

notHelpfulCalls

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.

  • Some indicates that Some calls were Not helpful.

  • Most indicates that majority of the calls were Not helpful.

  • All indicates that each call in the entire session was Not helpful.

In addition to the above input, the agent needs to indicate which of the following components went wrong:

  • summary-feedbackItems

  • disposition-feedbackItems

  • alerts-feedbackItems

summary – feedbackItems

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

  • Incomplete

  • Not relevant

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.

summary-otherText

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.

disposition- feedbackItems

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

  • Incomplete

  • Not relevant

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.

dispostion-otherText

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.

alerts - feedbackItems

String

Required

If the quality of Alerts notified are unsatisfactory, then the agent can select one or more feedbackItems. The available feedbackItems are:

  • Inaccurate

  • Incomplete

  • Not relevant

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.

alerts-otherText

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."
    }
  ]
}