API pre reporty
AI report prečíta skupinu dokončených rozhovorov a opíše sentiment, spoločné témy a problémy. API vracia reporty, ktoré váš tím vytvoril v dashboarde. Nové vytvárať nevie. Overenie, stránkovanie a chyby opisuje Prehľad API.
Zoznam reportov#
HTTP
GET /api/v1/projects/{project_id}/reportsVráti reporty projektu od najnovších, bez obsahu. Odstránené reporty sú vynechané.
Parametre dopytu#
| Parameter | Popis |
|---|---|
status | Jedna alebo viac hodnôt generating, completed, failed, oddelených čiarkami |
limit | 1 až 100. Predvolene 25. |
cursor | Hodnota next_cursor z predchádzajúcej stránky |
Príklad#
curl -G "https://diaform.io/api/v1/projects/b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d/reports" \
-H "Authorization: Bearer $DIAFORM_API_KEY" \
--data-urlencode "status=completed"Odpoveď#
JSON
{
"data": [
{
"id": "882f2ed7-07d9-4344-aced-9e523275b196",
"project_id": "b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d",
"status": "completed",
"title": "Support problems overshadow a well-liked product",
"focus": null,
"selection": {
"mode": "date_range",
"range_start": "2026-05-01T00:00:00+00:00",
"range_end": "2026-05-31T23:59:59+00:00"
},
"conversation_count": 48,
"first_conversation_at": "2026-05-01T08:12:09.692998+00:00",
"last_conversation_at": "2026-05-30T13:11:09.628765+00:00",
"sentiment_counts": {
"positive": 14,
"negative": 11,
"neutral": 8,
"mixed": 15,
"unknown": 0
},
"error_message": null,
"created_at": "2026-06-01T09:33:49.465144+00:00",
"completed_at": "2026-06-01T09:34:07.2+00:00"
}
],
"has_more": false,
"next_cursor": null
}Polia reportu#
| Pole | Typ | Popis |
|---|---|---|
id | string | ID reportu |
project_id | string | Projekt, ku ktorému patrí |
status | string | generating, completed alebo failed |
title | string alebo null | Názov, ktorý AI reportu dala. null, kým nie je dokončený. |
focus | string alebo null | Otázka, na ktorú sa mal report podľa vášho tímu zamerať, ak nejaká bola |
selection.mode | string | date_range (všetky dokončené rozhovory za obdobie) alebo manual (ručne vybrané rozhovory) |
selection.range_start, selection.range_end | string alebo null | Obdobie pre date_range. null znamená, že z tej strany nie je obmedzené. |
conversation_count | number | Koľko rozhovorov report pokrýva |
first_conversation_at, last_conversation_at | string alebo null | Kedy bol vytvorený najstarší a najnovší zahrnutý rozhovor |
sentiment_counts | object alebo null | Zahrnuté rozhovory podľa celkového sentimentu. null, kým report nie je dokončený. |
error_message | string alebo null | Prečo report so stavom failed zlyhal |
created_at | string | Kedy bol report vyžiadaný |
completed_at | string alebo null | Kedy bol dokončený alebo zlyhal |
Načítanie reportu#
HTTP
GET /api/v1/reports/{report_id}Vráti jeden report so všetkými poľami zo zoznamu, navyše s conversation_ids a napísaným obsahom v content.
Príklad#
curl "https://diaform.io/api/v1/reports/882f2ed7-07d9-4344-aced-9e523275b196" \
-H "Authorization: Bearer $DIAFORM_API_KEY"Odpoveď#
Polia spoločné so zoznamom sú tu vynechané.
JSON
{
"id": "882f2ed7-07d9-4344-aced-9e523275b196",
"status": "completed",
"title": "Support problems overshadow a well-liked product",
"conversation_ids": [
"0f8d43a2-6df9-49c8-bf5d-fd2b6ec2d9ee",
"912b8ced-f69d-4f50-b497-9a712fe59359"
],
"content": {
"summary": "Most respondents like the product and would recommend it, but support wait times came up in a quarter of the interviews.",
"focus_answer": null,
"sentiment_explanation": "Praise for the product is offset by frustration with support.",
"themes": [
{
"title": "Customer support is the top complaint",
"detail": "Twelve respondents described long waits before reaching support.",
"tone": "negative",
"mention_count": 12,
"conversation_ids": ["912b8ced-f69d-4f50-b497-9a712fe59359"],
"quotes": [
{
"conversation_id": "912b8ced-f69d-4f50-b497-9a712fe59359",
"text": "it took me 25 min to connect last time, which is too long",
"translation": null,
"respondent_label": "alex@acme.com",
"created_at": "2026-05-10T17:52:10.539708+00:00"
}
]
}
],
"issues": [
{
"title": "Invite emails land in spam",
"detail": "Three respondents never received their teammate invite.",
"severity": "high",
"mention_count": 3,
"conversation_ids": ["0f8d43a2-6df9-49c8-bf5d-fd2b6ec2d9ee"],
"quotes": []
}
],
"outliers": [
{
"title": "Request for an on-premise version",
"detail": "One enterprise respondent can't use cloud tools.",
"mention_count": 1,
"conversation_ids": ["0f8d43a2-6df9-49c8-bf5d-fd2b6ec2d9ee"]
}
]
}
}Polia obsahu#
content je null, kým je report v stave generating, a tiež keď skončil v stave failed.
| Pole | Typ | Popis |
|---|---|---|
conversation_ids | array | Všetky rozhovory, ktoré report pokrýva |
content.summary | string | Celkové zhrnutie reportu |
content.focus_answer | string alebo null | Odpoveď na focus reportu, ak bol zadaný |
content.sentiment_explanation | string | Čo stojí za rozdelením sentimentu |
content.themes | array | Opakujúce sa témy, od najčastejšie spomínaných |
content.themes[].tone | string | positive, negative, mixed alebo neutral |
content.issues | array | Konkrétne problémy na vyriešenie |
content.issues[].severity | string | high, medium alebo low |
content.outliers | array | Zaujímavé postrehy, ktoré spomenulo len pár respondentov. Nemajú citáty. |
title, detail | string | Pri každej téme, probléme a ojedinelom hlase: titulok a krátke vysvetlenie |
mention_count | number | V koľkých rozhovoroch to zaznelo |
conversation_ids | array | Tieto rozhovory. Ktorýkoľvek z nich načítate cez API pre rozhovory. |
quotes[].text | string | Vlastné slová respondenta |
quotes[].translation | string alebo null | Anglický preklad, ak je citát v inom jazyku |
quotes[].conversation_id | string | Rozhovor, z ktorého citát pochádza |
quotes[].respondent_label | string alebo null | Kto to povedal, ak je to známe |
quotes[].created_at | string | Kedy bol tento rozhovor vytvorený |
Report je snímka rozhovorov v čase, keď bol napísaný. Ak sa rozhovor neskôr odstráni, jeho citáty sa z reportu odstránia.