CallAnalysisSaveRequestDTO
Request body for POST /v1/open-api/call-history/{uuid}/analysis — the analysis
produced by an external service for one conversation.
Every field is optional except insights[].summary. The order of every list is
preserved as sent; there is no orderIndex field to supply.
Kind of conversation the analysis was produced from.
Omitted or null is treated as CALL.
Possible values: [CALL, MEET, ZOOM, TEAMS, OFFLINE]
CALLLanguage of the conversation, as an ISO 639-1 code. Max 8 characters.
Possible values: <= 8 characters
uzLength of the analysed conversation in seconds.
Possible values: >= 0
312Start time of the conversation (epoch seconds).
1719734400Overall quality score of the conversation, 0–100.
Possible values: >= 0 and <= 100
82Short human-readable label for overallScore (e.g. Yaxshi, Good).
Possible values: <= 128 characters
YaxshiFree-text justification of the overall score. No length limit.
Menejer ehtiyojni aniqladi, lekin narx e'tirozini yopmadi.Name of the analysis provider that produced this result.
Possible values: <= 64 characters
openaiConcrete model / engine version used by the provider.
Possible values: <= 128 characters
gpt-4o-minichapters object[]nullable
Timeline segments of the conversation. Max 50 items.
Possible values: <= 50
Segment title.
Possible values: <= 255 characters
Ehtiyojni aniqlashOffset of the segment start from the beginning of the call, in seconds.
Possible values: >= 0
25Length of the segment in seconds.
Possible values: >= 0
140speakers object[]nullable
Participants of the conversation and their talk-time split. Max 20 items.
Possible values: <= 20
Display name of the speaker. Transcript lines are matched to speakers by this
name first, so keep it identical to transcript[].speakerName.
Possible values: <= 255 characters
Aziz KarimovRole of the speaker in the conversation.
Possible values: [MANAGER, CLIENT, OTHER]
MANAGERFree-text label shown in the UI, e.g. Mijoz · GreenLeaf MChJ.
Possible values: <= 255 characters
Menejer · UysotShare of the conversation this speaker talked, in percent.
58.4Total time this speaker talked, in seconds.
Possible values: >= 0
182transcript object[]nullable
Transcript lines in chronological order. Max 2000 items.
Possible values: <= 2000
Name of the speaker of this line. Should match a speakers[].name.
Possible values: <= 255 characters
Aziz KarimovFallback used to match the speaker when speakerName does not match.
Possible values: [MANAGER, CLIENT, OTHER]
MANAGERStart offset of the line, in seconds from the beginning of the call.
Possible values: >= 0
0End offset of the line, in seconds from the beginning of the call.
Possible values: >= 0
6The spoken text. No length limit.
Assalomu alaykum, Uysot kompaniyasidan Aziz.insights object[]nullable
Analytical blocks rendered as cards in the UI. Max 20 items.
Possible values: <= 20
Stable machine key of the insight, e.g. summary, objections.
Possible values: <= 64 characters
summaryCard heading.
Possible values: <= 255 characters
Qisqacha xulosaRequired and must not be blank. Short summary in Markdown. Exactly one summary per insight.
Possible values: non-empty
Mijoz uch xonali kvartira bilan qiziqdi, narx muhokama qilindi.Full text in Markdown — sections and bullet lists live inside this single string. No length limit.
### Asosiy nuqtalar
- Byudjet: 700–800 mln so'm
- Ipoteka varianti so'raldiscoreCategories object[]nullable
Per-category breakdown of the overall score. Max 30 items.
Possible values: <= 30
Category name.
Possible values: <= 255 characters
E'tiroz bilan ishlashScore achieved in this category, 0–100.
Possible values: >= 0 and <= 100
60Maximum score achievable in this category, 1–100.
Possible values: >= 1 and <= 100
100recommendations object[]nullable
Actionable recommendations for the operator. Max 30 items.
Possible values: <= 30
Short recommendation heading.
Possible values: <= 255 characters
Narx e'tirozini yopingFull recommendation text. No length limit.
To'lov jadvali variantlarini oldindan tayyorlab qo'ying.How urgent the recommendation is.
Possible values: [HIGH, MEDIUM, LOW]
HIGHIcon key used by the UI to render the recommendation.
Possible values: <= 64 characters
price-tag{
"sourceType": "CALL",
"language": "uz",
"durationSec": 312,
"startedAt": 1719734400,
"overallScore": 82,
"overallScoreLabel": "Yaxshi",
"overallScoreComment": "Menejer ehtiyojni aniqladi, lekin narx e'tirozini yopmadi.",
"provider": "openai",
"providerModel": "gpt-4o-mini",
"chapters": [
{
"title": "Ehtiyojni aniqlash",
"startSec": 25,
"durationSec": 140
}
],
"speakers": [
{
"name": "Aziz Karimov",
"role": "MANAGER",
"roleLabel": "Menejer · Uysot",
"talkPercent": 58.4,
"talkSeconds": 182
}
],
"transcript": [
{
"speakerName": "Aziz Karimov",
"speakerRole": "MANAGER",
"startSec": 0,
"endSec": 6,
"text": "Assalomu alaykum, Uysot kompaniyasidan Aziz."
}
],
"insights": [
{
"key": "summary",
"title": "Qisqacha xulosa",
"summary": "Mijoz uch xonali kvartira bilan qiziqdi, narx muhokama qilindi.",
"body": "### Asosiy nuqtalar\n- Byudjet: 700–800 mln so'm\n- Ipoteka varianti so'raldi"
}
],
"scoreCategories": [
{
"title": "E'tiroz bilan ishlash",
"value": 60,
"maxValue": 100
}
],
"recommendations": [
{
"title": "Narx e'tirozini yoping",
"text": "To'lov jadvali variantlarini oldindan tayyorlab qo'ying.",
"priority": "HIGH",
"icon": "price-tag"
}
]
}