Close AI
Erstellen Sie Close AI Desktop-Integrationen mit Sitzungsanalyse, Prompt-Vorlagen, Coaching-Dashboards, Skripten und Analytics-Einstellungen über die Talkturo API.
{
"sessions": [
{
"id": "4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20",
"user_id": "9d0a7b6c-5e4f-3210-9876-abcdef123456",
"account_id": "1a2b3c4d-5678-4ef0-9123-abcdef987654",
"title": "Discovery call with Northwind",
"session_type": "sales_call",
"started_at": "2025-02-14T09:30:00.000Z",
"ended_at": "2025-02-14T09:58:42.000Z",
"status": "completed",
"duration_seconds": 1722,
"updated_at": "2025-02-14T10:01:12.000Z"
}
],
"count": 1
}
{
"session": {
"id": "4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20",
"user_id": "9d0a7b6c-5e4f-3210-9876-abcdef123456",
"title": "Discovery call with Northwind",
"session_type": "sales_call",
"started_at": "2025-02-14T09:30:00.000Z",
"ended_at": "2025-02-14T09:58:42.000Z",
"status": "completed",
"duration_seconds": 1722,
"updated_at": "2025-02-14T10:01:12.000Z",
"created_at": "2025-02-14T09:30:00.000Z",
"parent_session_id": null
},
"transcripts": [
{
"id": "8b7c6d5e-4f3a-2190-8765-fedcba654321",
"session_id": "4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20",
"start_at": "2025-02-14T09:30:04.000Z",
"end_at": "2025-02-14T09:30:18.000Z",
"speaker": "rep",
"text": "What would you like to improve in your current sales process?",
"lang": "en",
"created_at": "2025-02-14T09:30:19.000Z"
}
],
"messages": [],
"summary": {
"session_id": "4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20",
"generated_at": "2025-02-14T10:00:00.000Z",
"model": "close-ai",
"text": "The call identified a clear reporting gap.",
"tldr": "Strong discovery with an unresolved pricing objection.",
"bullet_json": [],
"action_json": [],
"tokens_used": 842,
"updated_at": "2025-02-14T10:00:00.000Z"
},
"analysis": null
}
{
"ok": true,
"title": "Northwind discovery review"
}
{
"ok": true,
"deleted": true
}
{
"analysis": {
"session_id": "4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20",
"close_score": 78,
"score_breakdown": {},
"strengths": [],
"weaknesses": [],
"risks": [],
"objections": [],
"questions": [],
"personality": {},
"talk_metrics": {},
"script_coverage": {},
"language": "en",
"model": "close-ai",
"generated_at": "2025-02-14T10:05:00.000Z"
}
}
{
"presets": [
{
"id": "b4c3d2e1-9876-4a5b-8123-abcdef456789",
"user_id": "9d0a7b6c-5e4f-3210-9876-abcdef123456",
"title": "Discovery coaching",
"prompt": "Evaluate discovery depth, question quality, and next-step clarity.",
"is_default": true,
"is_template": true,
"created_at": "2025-02-01T08:00:00.000Z",
"updated_at": "2025-02-14T09:00:00.000Z"
}
]
}
{
"preset": {
"id": "b4c3d2e1-9876-4a5b-8123-abcdef456789",
"user_id": "9d0a7b6c-5e4f-3210-9876-abcdef123456",
"title": "Discovery coaching",
"prompt": "Evaluate discovery depth, question quality, and next-step clarity.",
"is_default": true,
"is_template": true,
"created_at": "2025-02-14T10:10:00.000Z",
"updated_at": "2025-02-14T10:10:00.000Z"
}
}
{
"analytics_system_prompt": "Focus on actionable coaching feedback and measurable improvements.",
"updated_at": "2025-02-14T10:15:00.000Z"
}
{
"analytics_system_prompt": "Focus on actionable coaching feedback and measurable improvements.",
"updated_at": "2025-02-14T10:15:00.000Z"
}
{
"kpis": {
"calls": 42,
"callsDeltaPct": 12.5,
"avgCloseScore": 74,
"avgDurationSeconds": 1280,
"activeMembers": 8,
"analyzedCount": 36
},
"coaching": {
"evaluations": 36,
"strengths": [
{
"label": "Discovery questions",
"count": 21
}
],
"weaknesses": [
{
"label": "Next-step clarity",
"count": 14
}
],
"risks": [
{
"label": "Pricing objection",
"count": 9
}
]
},
"objections": {
"total": 18,
"byCategory": [
{
"key": "pricing",
"count": 9,
"avgCloseScore": 68
}
],
"byType": [
{
"key": "budget",
"count": 6,
"avgCloseScore": 65
}
],
"byIntensity": [
{
"key": "high",
"count": 4,
"avgCloseScore": 59
}
]
},
"questions": {
"open": 74,
"closed": 31,
"deep": 28,
"missed": [
{
"label": "Decision process",
"count": 11
}
]
},
"personality": [
{
"type": "Analytical",
"count": 15
}
],
"language": {
"avgTalkSharePct": 46,
"avgWpm": 142,
"avgPatiencePct": 71,
"avgLongestMonologueSeconds": 38
},
"script": {
"calls": 32,
"avgCoveragePct": 81,
"avgOrderDeviationPct": 12,
"blocks": [
{
"name": "Discovery",
"avgPct": 88
}
]
},
"scores": {
"distribution": [
{
"bucket": "0-39",
"count": 2
},
{
"bucket": "40-59",
"count": 5
},
{
"bucket": "60-79",
"count": 17
},
{
"bucket": "80-100",
"count": 12
}
],
"avg": 74
},
"durationDistribution": [
{
"bucket": "0-5m",
"count": 3
},
{
"bucket": "5-10m",
"count": 8
},
{
"bucket": "10-15m",
"count": 13
},
{
"bucket": "15-30m",
"count": 15
},
{
"bucket": "30m+",
"count": 3
}
],
"trends": [
{
"date": "2025-02-14",
"calls": 4,
"avgCloseScore": 76
}
],
"members": [
{
"userId": "9d0a7b6c-5e4f-3210-9876-abcdef123456",
"name": "Alex Morgan",
"calls": 12,
"evaluations": 10,
"avgCloseScore": 78,
"avgDurationSeconds": 1190,
"strengths": 8,
"weaknesses": 3,
"risks": 2,
"avgCoveragePct": 86,
"personality": "Analytical"
}
]
}
{
"scripts": [
{
"id": "c1d2e3f4-5678-4a90-8123-abcdef123789",
"name": "Enterprise discovery",
"content": {
"sections": [],
"prompts": []
},
"is_active": true,
"updated_at": "2025-02-14T10:20:00.000Z"
}
]
}
{
"script": {
"id": "c1d2e3f4-5678-4a90-8123-abcdef123789",
"name": "Enterprise discovery",
"content": {
"sections": [],
"prompts": []
},
"is_active": false,
"updated_at": "2025-02-14T10:20:00.000Z"
}
}
{
"script": {
"id": "c1d2e3f4-5678-4a90-8123-abcdef123789",
"name": "Enterprise discovery v2",
"content": {
"sections": [],
"prompts": []
},
"is_active": true,
"updated_at": "2025-02-14T10:25:00.000Z"
}
}
{
"ok": true
}
Close AI API
Die Close AI API stellt Sitzungen, Transkripte, Analysen, Prompt-Vorlagen, Coaching-Dashboards, Skripte und Analytics-Einstellungen bereit.
Base URL:
https://app.talkturo.com
Alle Endpunkte verwenden die browserbasierte Supabase-Session-Cookie-Authentifizierung. Browser senden das Session-Cookie automatisch mit. Für cURL-Beispiele verwenden Sie einen Cookie-Jar mit einer bereits authentifizierten Supabase-Session.
Die Datenzugriffsrechte werden abhängig vom Endpunkt über Supabase RLS oder eine explizite Session- und Workspace-Prüfung erzwungen.
Endpunktübersicht
| Bereich | Endpunkte |
|---|---|
| Sitzungen | Sitzungen auflisten, Sitzung abrufen, umbenennen, löschen und analysieren |
| Prompts | Prompt-Vorlagen auflisten und erstellen |
| Einstellungen | Analytics-Einstellungen abrufen und aktualisieren |
| Dashboard | Aggregierte Coaching- und Sitzungsdaten abrufen |
| Skripte | Skripte auflisten, erstellen, aktualisieren und löschen |
Sitzungen
Sitzungen auflisten
GET /api/close-ai/sessions
Ruft die Sitzungen der authentifizierten Person ab. Die Ergebnisse werden paginiert und können nach Titel und Workspace gefiltert werden.
Abfrageparameter
Anzahl der zurückgegebenen Sitzungen. Der Wert wird auf den Bereich 1 bis 100 begrenzt. Standardwert ist 50.
Anzahl der zu überspringenden Sitzungen. Ungültige oder nicht numerische Werte werden effektiv als 0 behandelt.
Case-insensitive Teilstringsuche im Feld title.
Workspace-Slug. Wenn der Workspace gefunden wird, enthält die Antwort Sitzungen dieses Workspaces sowie Legacy-Sitzungen mit account_id gleich null.
Anfrage
curl "https://app.talkturo.com/api/close-ai/sessions?limit=25&offset=0&q=discovery&account=acme-sales" \
--cookie-jar /tmp/talkturo-session-cookies.txt \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/sessions?limit=25&offset=0&q=discovery&account=acme-sales",
{
credentials: "include"
}
);
const data = await response.json();
console.log(data);
Antwortfelder
Liste der Sitzungen.
Anzahl der Sitzungen in der aktuellen Antwort.
Sitzungsfelder
UUID der Sitzung.
UUID der Person, der die Sitzung gehört.
UUID des zugehörigen Workspaces oder null für Legacy-Sitzungen.
Titel der Sitzung.
Typ der Sitzung.
Startzeitpunkt der Sitzung als Timestamp.
Endzeitpunkt der Sitzung oder null, wenn die Sitzung noch nicht beendet wurde.
Aktueller Status der Sitzung.
Sitzungsdauer in Sekunden.
Zeitpunkt der letzten Änderung.
Beispielantwort
Sitzung abrufen
GET /api/close-ai/sessions/{sessionId}
Ruft eine einzelne Sitzung mit Transkripten, AI-Nachrichten, Zusammenfassung und Analyse ab.
Pfadparameter
UUID der Sitzung.
Anfrage
curl "https://app.talkturo.com/api/close-ai/sessions/4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20" \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/sessions/4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20",
{
credentials: "include"
}
);
const data = await response.json();
console.log(data);
Antwortfelder
Sitzungsmetadaten einschließlich id, title, status, Zeitstempeln und Dauer.
Transkriptsegmente. Das Array ist leer, wenn keine Transkripte vorhanden sind.
AI-Nachrichten der Sitzung. Das Array ist leer, wenn keine Nachrichten vorhanden sind.
Zusammenfassung der Sitzung oder null, wenn noch keine Zusammenfassung gespeichert wurde.
Close AI Analyse oder null, wenn noch keine Analyse gespeichert wurde.
Felder von transcripts
UUID des Transkriptsegments.
UUID der zugehörigen Sitzung.
Startzeitpunkt des Segments.
Endzeitpunkt des Segments.
Sprecher des Segments.
Transkribierter Text.
Sprache des Segments.
Felder von messages
UUID der Nachricht.
Zeitpunkt, zu dem die Nachricht gesendet wurde.
Rolle der Nachricht.
Nachrichteninhalt.
Anzahl der verwendeten Tokens.
Verwendetes AI-Modell.
Analysefelder
Close Score der Sitzung.
Aufschlüsselung des Close Scores.
Erkannte Stärken.
Erkannte Schwächen.
Erkannte Risiken.
Erkannte Einwände.
Analysierte Fragen.
Erkanntes Persönlichkeitsprofil.
Gesprächsmetriken.
Abdeckung des verwendeten Skripts.
Beispielantwort
Der Endpunkt gibt 404 mit {"error":"not_found"} zurück, wenn die Sitzung nicht gefunden wird. summary und analysis sind dagegen null, wenn für die Sitzung noch kein entsprechender Datensatz existiert.
Sitzung umbenennen
PATCH /api/close-ai/sessions/{sessionId}
Ändert den Titel einer Sitzung. Ein leerer String löscht den Titel.
Pfadparameter
UUID der Sitzung.
Body-Parameter
Neuer Sitzungstitel. Verwenden Sie einen leeren String, um den Titel zu löschen.
Anfrage
curl -X PATCH "https://app.talkturo.com/api/close-ai/sessions/4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20" \
-H "Content-Type: application/json" \
--data '{"title":"Northwind discovery review"}' \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/sessions/4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20",
{
method: "PATCH",
credentials: "include",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
title: "Northwind discovery review"
})
}
);
const data = await response.json();
console.log(data);
Sitzung löschen
DELETE /api/close-ai/sessions/{sessionId}
Löscht eine Sitzung. Die zugehörigen Transkripte, AI-Nachrichten, Zusammenfassungen und Analysen werden über den Foreign-Key-Cascade ebenfalls gelöscht.
Pfadparameter
UUID der Sitzung.
Anfrage
curl -X DELETE "https://app.talkturo.com/api/close-ai/sessions/4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20" \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/sessions/4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20",
{
method: "DELETE",
credentials: "include"
}
);
const data = await response.json();
console.log(data);
Ein Löschvorgang für eine nicht vorhandene oder nicht zugängliche ID wird als erfolgreich gemeldet, wenn Supabase keinen Fehler zurückgibt.
Sitzung analysieren
POST /api/close-ai/sessions/{sessionId}/analyze
Startet die Close AI Analyse für eine Sitzung und speichert das Ergebnis.
Pfadparameter
UUID der Sitzung.
Body-Parameter
Optionaler Workspace-Slug zur Workspace-Zuordnung von Legacy-Sitzungen.
Anfrage
curl -X POST "https://app.talkturo.com/api/close-ai/sessions/4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20/analyze" \
-H "Content-Type: application/json" \
--data '{"accountSlug":"acme-sales"}' \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/sessions/4f8c2e19-7c5d-4e1a-9b2d-7a8f3c6d1e20/analyze",
{
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
accountSlug: "acme-sales"
})
}
);
const data = await response.json();
console.log(data);
Der Request-Body ist optional. Ungültiges JSON wird bei diesem Endpunkt ignoriert und nicht als eigener Fehler zurückgegeben.
Prompts
Prompt-Vorlagen auflisten
GET /api/close-ai/prompts
Ruft die Prompt-Vorlagen der authentifizierten Person ab. Die Ergebnisse werden nach Standardstatus und Aktualisierungszeitpunkt sortiert.
Abfrageparameter
Wenn der Wert exakt true ist, werden nur Datensätze mit is_template gleich true zurückgegeben.
truefalseAnfrage
curl "https://app.talkturo.com/api/close-ai/prompts?templates=true" \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/prompts?templates=true",
{
credentials: "include"
}
);
const data = await response.json();
console.log(data);
Antwortfelder
Liste der Prompt-Vorlagen.
UUID der Vorlage.
Titel der Vorlage.
Prompt-Inhalt.
Gibt an, ob die Vorlage als Standardvorlage markiert ist.
Gibt an, ob die Vorlage als Template markiert ist.
Prompt-Vorlage erstellen
POST /api/close-ai/prompts
Erstellt eine Prompt-Vorlage für die authentifizierte Person.
Body-Parameter
Titel der Vorlage mit einer Länge von 1 bis 200 Zeichen.
Prompt-Inhalt mit einer Länge von 1 bis 20000 Zeichen.
Markiert die Vorlage als Standardvorlage. Standardwert ist false. Wenn der Wert true ist, werden bestehende Standardvorlagen der Person zuerst zurückgesetzt.
Markiert die Vorlage als Template. Standardwert ist false.
Anfrage
curl -X POST "https://app.talkturo.com/api/close-ai/prompts" \
-H "Content-Type: application/json" \
--data '{"title":"Discovery coaching","prompt":"Evaluate discovery depth, question quality, and next-step clarity.","is_default":true,"is_template":true}' \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch("https://app.talkturo.com/api/close-ai/prompts", {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
title: "Discovery coaching",
prompt: "Evaluate discovery depth, question quality, and next-step clarity.",
is_default: true,
is_template: true
})
});
const data = await response.json();
console.log(data);
Einstellungen
Analytics-Einstellungen abrufen
GET /api/close-ai/settings
Ruft den Analytics-System-Prompt der authentifizierten Person ab.
Anfrage
curl "https://app.talkturo.com/api/close-ai/settings" \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch("https://app.talkturo.com/api/close-ai/settings", {
credentials: "include"
});
const data = await response.json();
console.log(data);
Antwortfelder
Benutzerdefinierter Analytics-System-Prompt oder null, wenn keiner gespeichert ist.
Zeitpunkt der letzten Aktualisierung oder null, wenn keine Einstellung vorhanden ist.
Analytics-Einstellungen aktualisieren
PUT /api/close-ai/settings
Erstellt oder aktualisiert den Analytics-System-Prompt.
Body-Parameter
Analytics-System-Prompt. Der Wert darf null sein. Ein String darf höchstens 20000 Zeichen enthalten.
Anfrage
curl -X PUT "https://app.talkturo.com/api/close-ai/settings" \
-H "Content-Type: application/json" \
--data '{"analytics_system_prompt":"Focus on actionable coaching feedback and measurable improvements."}' \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch("https://app.talkturo.com/api/close-ai/settings", {
method: "PUT",
credentials: "include",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
analytics_system_prompt:
"Focus on actionable coaching feedback and measurable improvements."
})
});
const data = await response.json();
console.log(data);
Dashboard
Dashboard-Daten abrufen
GET /api/close-ai/dashboard
Ruft aggregierte Close AI Daten für einen Workspace ab. Der Endpunkt prüft zuerst die Workspace-Mitgliedschaft und liest die Aggregationen anschließend mit dem Supabase Service- beziehungsweise Admin-Client.
Abfrageparameter
Workspace-Slug.
Zeitraum in Tagen. Der Wert wird auf den Bereich 1 bis 365 begrenzt. Standardwert ist 30.
Anfrage
curl "https://app.talkturo.com/api/close-ai/dashboard?account=acme-sales&days=30" \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/dashboard?account=acme-sales&days=30",
{
credentials: "include"
}
);
const data = await response.json();
console.log(data);
Antwortfelder
Kennzahlen zu Anrufen, Close Score, Gesprächsdauer, aktiven Mitgliedern und analysierten Sitzungen.
Aggregierte Stärken, Schwächen und Risiken aus den Analysen.
Einwände, gruppiert nach Kategorie, Typ und Intensität.
Offene, geschlossene und tiefgehende Fragen sowie verpasste Fragen.
Verteilung erkannter Persönlichkeitsprofile.
Gesprächsmetriken wie Talk Share, Wörter pro Minute und längster Monolog.
Skriptabdeckung und Abweichung von der vorgesehenen Reihenfolge.
Verteilung und Durchschnitt der Close Scores.
Verteilung der Sitzungsdauer nach Zeitintervallen.
Tägliche Anrufanzahl und durchschnittlicher Close Score.
Kennzahlen pro Workspace-Mitglied.
account ist erforderlich. Der Endpunkt gibt 404 zurück, wenn der Workspace nicht gefunden wurde, und 403, wenn die Person keinen Zugriff auf den Workspace hat.
Skripte
Skripte auflisten
GET /api/close-ai/scripts
Ruft die Skripte eines Workspaces ab.
Abfrageparameter
Workspace-Slug.
Anfrage
curl "https://app.talkturo.com/api/close-ai/scripts?account=acme-sales" \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/scripts?account=acme-sales",
{
credentials: "include"
}
);
const data = await response.json();
console.log(data);
Antwortfelder
Liste der Workspace-Skripte.
UUID des Skripts.
Name des Skripts.
Skriptinhalt mit sections und prompts.
Gibt an, ob das Skript im Workspace aktiv ist.
Zeitpunkt der letzten Aktualisierung.
Skript erstellen
POST /api/close-ai/scripts?account={account}
Erstellt ein Skript in einem Workspace.
Abfrageparameter
Workspace-Slug.
Body-Parameter
Name des Skripts. Wenn der Wert fehlt, leer ist oder kein String ist, verwendet die API Untitled script.
Anfrage
curl -X POST "https://app.talkturo.com/api/close-ai/scripts?account=acme-sales" \
-H "Content-Type: application/json" \
--data '{"name":"Enterprise discovery"}' \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/scripts?account=acme-sales",
{
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
name: "Enterprise discovery"
})
}
);
const data = await response.json();
console.log(data);
Skript aktualisieren
PUT /api/close-ai/scripts
Aktualisiert ein bestehendes Skript. Nur id ist erforderlich.
Body-Parameter
UUID des zu aktualisierenden Skripts.
Neuer Skriptname.
Skriptinhalt. Das Objekt enthält sections und prompts. Beide Arrays verwenden standardmäßig [].
Aktiviert oder deaktiviert das Skript. Wenn der Wert true ist, werden andere Skripte im selben Workspace deaktiviert.
Struktur von content
{
"sections": [
{
"id": "section-discovery",
"name": "Discovery",
"type": "script",
"content": "Explore the current process and desired outcomes.",
"next": [
{
"id": "next-priority",
"condition": "Prospect confirms an active priority",
"targetId": "section-priority"
}
],
"position": {
"x": 120,
"y": 80
}
}
],
"prompts": [
{
"id": "prompt-follow-up",
"trigger": "Prospect mentions a competitor",
"text": "Ask which capability is missing today.",
"enabled": true
}
]
}
sections[].type muss script oder info sein. position ist optional. next[].targetId darf null sein.
Anfrage
curl -X PUT "https://app.talkturo.com/api/close-ai/scripts" \
-H "Content-Type: application/json" \
--data '{"id":"c1d2e3f4-5678-4a90-8123-abcdef123789","name":"Enterprise discovery v2","content":{"sections":[],"prompts":[]},"is_active":true}' \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch("https://app.talkturo.com/api/close-ai/scripts", {
method: "PUT",
credentials: "include",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
id: "c1d2e3f4-5678-4a90-8123-abcdef123789",
name: "Enterprise discovery v2",
content: {
sections: [],
prompts: []
},
is_active: true
})
});
const data = await response.json();
console.log(data);
Skript löschen
DELETE /api/close-ai/scripts?id={id}
Löscht ein Skript aus dem Workspace.
Abfrageparameter
UUID des zu löschenden Skripts.
Anfrage
curl -X DELETE "https://app.talkturo.com/api/close-ai/scripts?id=c1d2e3f4-5678-4a90-8123-abcdef123789" \
--cookie /tmp/talkturo-session-cookies.txt
const response = await fetch(
"https://app.talkturo.com/api/close-ai/scripts?id=c1d2e3f4-5678-4a90-8123-abcdef123789",
{
method: "DELETE",
credentials: "include"
}
);
const data = await response.json();
console.log(data);
Für GET, POST und DELETE ist der Workspace-Kontext über account erforderlich. Ohne den Parameter antwortet die API mit {"error":"account_required"}.
Fehlerbehandlung
Die Endpunkte verwenden je nach Authentifizierung, Validierung und Datenzugriff unterschiedliche HTTP-Statuscodes.
| Status | Bedeutung |
|---|---|
400 | Ungültige Anfrage, fehlende Parameter, ungültiges JSON oder Datenbankfehler |
401 | Keine gültige Session vorhanden |
403 | Kein Zugriff auf den Workspace oder die Ressource |
404 | Ressource oder Workspace nicht gefunden |
422 | Sitzung enthält keine Transkript-Daten für die Analyse |
502 | Close AI Analyse konnte nicht ausgeführt werden |
500 | Unerwarteter Fehler oder Fehler beim Speichern |
Prüfen Sie bei 401 zuerst das Supabase-Session-Cookie. Bei 403 und 404 prüfen Sie zusätzlich die Workspace-Mitgliedschaft und den verwendeten account-Slug.