Checklist scoring
Required and forbidden steps, per-item weights and a final 0–100 score.
Call QA
Score 100% of calls against a checklist instead of spot-checking. The model finds violations, computes scores and sends alerts.
Checklist
Evidence
“Hello, my name is Anna, company…” · 00:04
“…look, just cut it out already” · 12:47
Required and forbidden steps, per-item weights and a final 0–100 score.
Every verdict comes with a quote and a timestamp, so supervisors review in seconds.
Day-by-day trends, agent weak spots and webhook alerts on violations.
How it works
The call lands in your recording library — via the API, Telegram bot or dashboard.
Required script steps and forbidden phrases — each item has its own weight.
Verdicts with quotes and timestamps, day-by-day trends and webhook alerts.
API
Evaluate a recording against a checklist and get a per-item verdict with evidence and a weighted score.
curl -X POST https://ttsapi.ru/v1/qa/evaluate \
-H "X-Api-Key: rtt_…" \
-H "Content-Type: application/json" \
-d '{
"recording_id": "rec_…",
"checklist": [
{ "id": "greeting", "kind": "required", "weight": 2 },
{ "id": "profanity", "kind": "forbidden" }
]
}'
from voicekit import VoiceKitClient
client = VoiceKitClient(api_key="rtt_…")
result = client.qa_evaluate(
"rec_…",
[
{"id": "greeting", "kind": "required", "weight": 2},
{"id": "profanity", "kind": "forbidden"},
],
)
print(result["score"]) # 83.3
import { VoiceKitClient } from "voicekit-client";
const client = new VoiceKitClient({ apiKey: "rtt_…" });
const result = await client.qaEvaluate("rec_…", [
{ id: "greeting", kind: "required", weight: 2 },
{ id: "profanity", kind: "forbidden" },
]);
console.log(result.score, result.passed, result.failed);
using VoiceKit;
var client = new VoiceKitClient("rtt_…");
var qa = await client.QaEvaluateAsync(
"rec_…",
new object[]
{
new { id = "greeting", kind = "required", weight = 2 },
new { id = "profanity", kind = "forbidden" },
});
Console.WriteLine(qa?["score"]);
{
"recording_id": "rec_…",
"score": 83.3,
"total_checks": 3,
"passed": 2,
"failed": 1,
"violation": true,
"items": [
{ "id": "greeting", "verdict": "passed",
"reason": "Оператор поздоровался и представился",
"quote": "Здравствуйте, меня зовут Анна…", "start": 0.0, "end": 2.1, "weight": 2.0 },
{ "id": "profanity", "verdict": "failed",
"reason": "Найдена запрещённая формулировка",
"quote": "…", "start": 12.4, "end": 13.0, "weight": 1.0 }
]
}
FAQ
QA is available on Pro and Business: evaluation is built from a library recording and requires a language model.
Required script steps and forbidden phrases. Each item has its own weight; the result is a 0–100 score with evidence.
No, evaluation is built from a library recording — upload audio via the API, bot or dashboard.
Usually a few seconds, depending on recording length and queue. The result can be delivered via webhook.
Available on the Pro and Business plans — evaluate QA on your own calls.