Posting call quality feedback using the API
This method lets you post feedback for calls. You can access call quality feedback information received through this API on the Call Debug UI, and view aggregated reports on the Call Insights Reporting dashboard.
API Endpoint
POST
https://stats.plivo.com/v1/Call/{call_uuid}/Feedback/
Arguments
call_uuidRequired | The call UUID of the call for which feedback is being posted. |
ratingRequired | Quality rating for the call. Allowed values: float between [1,5]. PS: for integer values both ‘x’ or ‘x.`0’ are accepted. |
issuesRequired only if rating is <5 | List of issues observed on the call. One or more of the following: AUDIO_LAG, BROKEN_AUDIO, CALL_DROPPED, CALLERID_ISSUE, DIGITS_NOT_CAPTURED, ECHO, HIGH_CONNECT_TIME, LOW_AUDIO_LEVEL, ONE_WAY_AUDIO, OTHERS, ROBOTIC_AUDIO |
Notes | Optional free text field that can be used to send descriptive feedback for the call. |
HTTP responses we send
HTTP Status Code | Message |
201 | Feedback has been posted |
401 | Authentication failed |
404 | Resource cannot be found* |
404 | Please check the Call UUID** |
405 | HTTP method not allowed |
422 | Rating has to be a float between 1 -5 |
422 | Issues have to be an array of one or more than one of the following: AUDIO_LAG, BROKEN_AUDIO, CALL_DROPPPED, CALLERID_ISSUES, DIGITS_NOT_CAPTURED, ECHO, HIGH_CONNECT_TIME, LOW_AUDIO_LEVEL, ONE_WAY_AUDIO, OTHERS, ROBOTIC_AUDIO |
500 | Server error |
* Generic response indicating error in resource used in the Post API call
** Specific response indicating the error in call UUID used in Post API call
Response attributes
HTTP status code | HTTP status code from the list above |
api_id | Identifies the request |
error | Indicates there’s an error and provides information regarding the error |
message | Provides information regarding the feedback post |
Response
HTTP Status Code: 201
{
"message": "Feedback has been posted",
"api_id": "97ceeb52-58b6-11e1-86da-77300b68f8bb",
"status": "success"
}
Example Request
1
2
3
4
5
6
7
8
9
10
11
12
#
# Example for Call Feedback creation
#
import plivo
client = plivo.RestClient('<auth_id>','<auth_token>')
response = client.call_feedback.create(
call_uuid="b38149eb-b8fe-45d5-85b2-78ee4424788f",
rating="4",
issues=["AUDIO_LAG"],
notes="Call quality was good")
print(response)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#
# Example for Call Feedback creation
#
require 'rubygems'
require 'plivo'
include Plivo
include Plivo::Exceptions
api = RestClient.new("<auth_id>","<auth_token>")
begin
response = api.call_feedback.create('f28149eb-b8fe-45d5-85b2-78ee4424788f',
4,
["AUDIO_LAG"],
"Call quality was good")
puts response
rescue PlivoRESTError => e
puts 'Exception: ' + e.message
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Example for Call Feedback creation
var plivo = require('plivo');
(function main() {
'use strict';
var client = new plivo.Client("<auth_id>","<auth_token>");
client.callFeedback.create('f18149eb-b8fe-45d5-85b2-78ee4424788f',
4,
issues = ["AUDIO_LAG"],
notes = "Call quality was good").then(function (response) {
console.log(response);
}, function (err) {
console.error(err);
});
})();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
/**
* Example for Call Feedback creation
*/
require 'vendor/autoload.php';
use Plivo\RestClient;
use Plivo\Exceptions\PlivoRestException;
$client = new RestClient("<auth_id>","<auth_token>");
try {
$response = $client->callFeedback->create('f18149eb-b8fe-45d5-85b2-78ee4424788f',
4,
["AUDIO_LAG"],
"Call quality was good");
print_r($response);
}
catch (PlivoRestException $ex) {
print_r($ex);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import com.plivo.api.Plivo;
import com.plivo.api.exceptions.PlivoRestException;
import com.plivo.api.models.callfeedback.CallFeedback;
import com.plivo.api.models.callfeedback.CallFeedbackCreateResponse;
import java.io.IOException;
import java.util.Collections;
/**
* Example for Call Feedback creation
*/
class CallFeedbackCreate {
public static void main(String[] args) {
Plivo.init("<auth_id>","<auth_token>");
try {
CallFeedbackCreateResponse response = CallFeedback
.creator("f18149eb-b8fe-45d5-85b2-78ee4424788f", (float) 4)
.issues(Collections.singletonList("AUDIO_LAG")).notes("Call quality was good").create();
System.out.println(response);
} catch (PlivoRestException | IOException e) {
e.printStackTrace();
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
* Example for Call Feedback Creation
*/
using System;
using System.Collections.Generic;
using Plivo;
using Plivo.Exception;
namespace PlivoExamples
{
internal class Program
{
public static void Main(string[] args)
{
var api = new PlivoApi("<auth_id>","<auth_token>");
try
{
var response = api.CallFeedback.Create(
callUUID: "a18149eb-b8fe-45d5-85b2-78ee4424788f",
rating: 4,
issues: new List<string> { "AUDIO_LAG" },
notes: "Call quality was good");
Console.WriteLine(response);
}
catch (PlivoRestException e)
{
Console.WriteLine("Exception: " + e.Message);
}
}
}
}
1
2
3
4
curl -i --user AUTH_ID:AUTH_TOKEN \
-H "Content-Type: application/json" \
-d '{"issues": ["AUDIO_LAG"], "rating": "4", "notes": "Call quality was good"}' \
https://stats.plivo.com/v1/Call/f6bf3c48-afdf-4e42-a30e-9e00fda351d/Feedback/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Example for Call Feedback creation
package main
import "fmt"
import "github.com/plivo/plivo-go/v7"
func main() {
client, err := plivo.NewClient("<auth_id>","<auth_token>", &plivo.ClientOptions{})
if err != nil {
fmt.Print("Error", err.Error())
return
}
issuesArr := []string{**"AUDIO_LAG"**}
response, err := client.CallFeedback.Create(
plivo.CallFeedbackParams{
CallUUID: "f18149eb-b8fe-45d5-85b2-78ee442478",
Rating: "4",
Issues: issuesArr,
Notes: "Call quality was good"})
if err != nil {
fmt.Print("Error", err.Error())
return
}
fmt.Printf("Response: %#v\n", response)
}
Rate this page
🥳 Thank you! It means a lot to us!
×
Help Us Improve
Thank you so much for rating the page, we would like to get your input for further improvements!
Subscribe to Updates
Thank you for your feedback!