Samtale-API
En samtale er ett intervju mellom AI-en og én respondent. API-et returnerer hvem respondenten er, AI-sammendraget med ett svar per spørsmål og hele transkripsjonen. Se API-oversikten for autentisering, paginering og feil.
List opp samtaler#
HTTP
GET /api/v1/projects/{project_id}/conversationsReturnerer samtalene i et prosjekt, de nyeste først, hver med AI-sammendraget sitt. Transkripsjoner er ikke med i listen. Hent dem med Hent en samtale.
Søkeparametere#
| Parameter | Beskrivelse |
|---|---|
status | Én eller flere av invited, opened, started, completed, cancelled, atskilt med komma. Uten den returneres alle statuser unntatt invited. |
sentiment | Én eller flere av positive, negative, neutral, mixed, atskilt med komma |
created_after | Bare samtaler som ble opprettet på eller etter dette ISO 8601-tidspunktet, for eksempel 2026-05-01T00:00:00Z |
created_before | Bare samtaler som ble opprettet på eller før dette tidspunktet |
search | Tekst det skal søkes etter i sammendrag, sitater og opplysninger om respondenten. Opptil 200 tegn. |
limit | 1 til 100. Standard er 25. |
cursor | next_cursor fra forrige side |
Bare fullførte samtaler har et fullstendig sammendrag, så de fleste integrasjoner sender status=completed.
Eksempel#
curl -G "https://diaform.io/api/v1/projects/b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d/conversations" \
-H "Authorization: Bearer $DIAFORM_API_KEY" \
--data-urlencode "status=completed" \
--data-urlencode "sentiment=negative,mixed" \
--data-urlencode "created_after=2026-05-01T00:00:00Z" \
--data-urlencode "limit=50"Svar#
JSON
{
"data": [
{
"id": "0f8d43a2-6df9-49c8-bf5d-fd2b6ec2d9ee",
"project_id": "b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d",
"status": "completed",
"created_at": "2026-05-07T12:00:00.123456+00:00",
"started_at": "2026-05-07T12:01:11.482913+00:00",
"ended_at": "2026-05-07T12:15:41.204+00:00",
"duration_seconds": 870,
"country": "DE",
"overall_sentiment": "mixed",
"respondent": {
"label": "alex@acme.com",
"email": null,
"identities": [
{ "type": "email", "value": "alex@acme.com", "source": "owner" },
{ "type": "name", "value": "Alex", "source": "ai" }
]
},
"metadata": {},
"invite": {
"id": "3a4f49c7-b8f4-4c44-8f74-fd8e4277c3e4",
"status": "completed",
"created_at": "2026-05-07T12:00:00.123456+00:00",
"opened_at": "2026-05-07T12:01:11.482913+00:00",
"completed_at": "2026-05-07T12:15:41.204+00:00"
},
"summary": {
"overall_sentiment": "mixed",
"answers": [
{
"question_id": "V1StGXR8_Z5jdHi6B-myT",
"question": "How did your first week with the product go?",
"summary": "Setup was quick, but inviting teammates was confusing.",
"sentiment": "mixed",
"confidence": "high",
"quotes": ["I had no idea where the invite button was"]
}
],
"urgent_issues": [],
"additional_insights": "Would pay more for a Slack integration."
}
}
],
"has_more": true,
"next_cursor": "WyIyMDI2LTA1LTA3VDEyOjAwOjAwLjEyMzQ1NiswMDowMCIsIjBmOGQ0M2EyIl0"
}Felt for samtaler#
| Felt | Type | Beskrivelse |
|---|---|---|
id | string | ID-en til samtalen, den samme som webhooks sender som conversation_id |
project_id | string | Prosjektet den hører til |
status | string | invited, opened, started, completed eller cancelled. Dashbordet viser started som Pågår. |
created_at | string | Når samtalen ble opprettet. For invitasjoner er det da invitasjonen ble opprettet. |
started_at | string eller null | Når intervjuet startet |
ended_at | string eller null | Når samtalen ble fullført eller avbrutt |
duration_seconds | number eller null | Tiden fra start til slutt |
country | string eller null | Landkoden til respondenten, når den er kjent |
overall_sentiment | string eller null | positive, negative, neutral eller mixed. Det samme som summary.overall_sentiment. |
respondent.label | string eller null | Det beste navnet på respondenten: e-postadressen, deretter navnet, deretter en annen identitet |
respondent.email | string eller null | Eldre felt, null for nye samtaler. Les e-postadresser fra respondent.identities. |
respondent.identities | array | Alt som er kjent om respondenten. source er owner (du oppga den), ai (hentet ut fra meldingene til respondenten) eller system (lagt til av Diaform). |
metadata | object | Tomt for invitasjoner og direkte lenker. For innebygde samtaler inneholder det detaljer om innbyggingen, for eksempel "embed": true og embed_parent_origin. |
invite | object eller null | Detaljer om invitasjonen når samtalen kom fra en respondentinvitasjon, ellers null |
summary | object eller null | AI-sammendraget. null til samtalen er avsluttet og sammendraget er klart. |
Felt for sammendraget#
| Felt | Type | Beskrivelse |
|---|---|---|
overall_sentiment | string | positive, negative, neutral eller mixed |
answers | array | Én oppføring per spørsmål respondenten fikk |
answers[].question_id | string | ID-en til spørsmålet i prosjektet |
answers[].question | string | Spørsmålet slik det ble stilt |
answers[].summary | string | Et kort sammendrag av svaret |
answers[].sentiment | string | positive, negative, neutral eller mixed |
answers[].confidence | string | high, medium eller low: hvor fullstendig spørsmålet ble besvart |
answers[].quotes | array | Sitater som skiller seg ut, med respondentens egne ord. Ofte tom. |
urgent_issues | array | Kritiske problemer respondenten tok opp, som korte strenger |
additional_insights | string eller null | Nyttige tilbakemeldinger som ikke hørte til noe spørsmål |
Hent en samtale#
HTTP
GET /api/v1/conversations/{conversation_id}Returnerer én samtale med alle feltene fra listen, pluss transkripsjonen i messages.
Eksempel#
curl "https://diaform.io/api/v1/conversations/0f8d43a2-6df9-49c8-bf5d-fd2b6ec2d9ee" \
-H "Authorization: Bearer $DIAFORM_API_KEY"Svar#
Feltene som også finnes i listen, er forkortet her.
JSON
{
"id": "0f8d43a2-6df9-49c8-bf5d-fd2b6ec2d9ee",
"project_id": "b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d",
"status": "completed",
"overall_sentiment": "mixed",
"summary": {},
"messages": [
{
"role": "interviewer",
"text": "Hi! Thanks for taking the time. How did your first week with the product go?"
},
{
"role": "respondent",
"text": "Setup was fast. But I had no idea where the invite button was."
},
{
"role": "interviewer",
"text": "Where did you expect to find it?"
}
]
}| Felt | Type | Beskrivelse |
|---|---|---|
messages | array | Transkripsjonen i rekkefølge. Tom når respondenten aldri svarte. |
messages[].role | string | interviewer (AI-en) eller respondent |
messages[].text | string | Det som ble sagt. Muntlige svar vises som transkripsjon, og et valg eller en vurdering vises som tekst, for eksempel Selected answers: Pro. |