Assistenten
Erstellen, aktualisieren, klonen, löschen und verwalten Sie KI-Sprachassistenten über die Talkturo REST-API — konfigurieren Sie Prompts, Stimmen, Modelle und Telefonieeinstellungen.
curl -X POST "https://api.talkturo.com/api/assistants" \
-H "Authorization: Bearer tk_test_example_9xmk7q2r" \
-H "Content-Type: application/json" \
-d '{
"accountSlug": "acme-sales",
"name": "Inbound Qualification Assistant",
"templateId": "tmpl_voice_inbound"
}'
const response = await fetch("https://api.talkturo.com/api/assistants", {
method: "POST",
headers: {
"Authorization": "Bearer tk_test_example_9xmk7q2r",
"Content-Type": "application/json"
},
body: JSON.stringify({
accountSlug: "acme-sales",
name: "Inbound Qualification Assistant",
templateId: "tmpl_voice_inbound"
})
});
const data = await response.json();
console.log(data);
{
"success": true,
"assistant": {
"id": "7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e",
"account_slug": "acme-sales",
"name": "Inbound Qualification Assistant",
"type": "tmpl_voice_inbound",
"created_at": "2025-01-14T10:22:31.000Z",
"updated_at": "2025-01-14T10:22:31.000Z"
}
}
curl -X PATCH "https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e" \
-H "Authorization: Bearer tk_test_example_9xmk7q2r" \
-H "Content-Type: application/json" \
-d '{
"accountSlug": "acme-sales",
"name": "Inbound Qualification Assistant v2",
"voice": "alloy",
"model": "gpt-4o-realtime",
"transcriptor_options": {
"provider": "deepgram",
"model": "nova-2"
}
}'
const response = await fetch("https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e", {
method: "PATCH",
headers: {
"Authorization": "Bearer tk_test_example_9xmk7q2r",
"Content-Type": "application/json"
},
body: JSON.stringify({
accountSlug: "acme-sales",
name: "Inbound Qualification Assistant v2",
voice: "alloy",
model: "gpt-4o-realtime",
transcriptor_options: {
provider: "deepgram",
model: "nova-2"
}
})
});
const data = await response.json();
console.log(data);
{
"success": true,
"assistant": {
"id": "7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e",
"account_slug": "acme-sales",
"name": "Inbound Qualification Assistant v2",
"type": "tmpl_voice_inbound",
"created_at": "2025-01-14T10:22:31.000Z",
"updated_at": "2025-01-14T11:04:09.000Z"
}
}
curl -X DELETE "https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e" \
-H "Authorization: Bearer tk_test_example_9xmk7q2r"
const response = await fetch("https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e", {
method: "DELETE",
headers: {
"Authorization": "Bearer tk_test_example_9xmk7q2r"
}
});
const data = await response.json();
console.log(data);
{
"success": true,
"message": "Assistant deleted successfully"
}
curl -X POST "https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e/clone" \
-H "Authorization: Bearer tk_test_example_9xmk7q2r"
const response = await fetch("https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e/clone", {
method: "POST",
headers: {
"Authorization": "Bearer tk_test_example_9xmk7q2r"
}
});
const data = await response.json();
console.log(data);
{
"success": true,
"assistant": {
"id": "2f850d8a-a9d5-4906-af87-8c9838ab7d5d",
"name": "Inbound Qualification Assistant (Copy)",
"created_at": "2025-01-14T11:10:42.000Z",
"updated_at": "2025-01-14T11:10:42.000Z"
}
}
curl -X GET "https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e/usage-stats?accountId=9a7c2d41-5a13-4d5f-b8d1-2e7f1c4a8b90" \
-H "Authorization: Bearer tk_test_example_9xmk7q2r"
const response = await fetch("https://api.talkturo.com/api/assistants/7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e/usage-stats?accountId=9a7c2d41-5a13-4d5f-b8d1-2e7f1c4a8b90", {
method: "GET",
headers: {
"Authorization": "Bearer tk_test_example_9xmk7q2r"
}
});
const data = await response.json();
console.log(data);
{
"totalCalls": 148,
"totalMinutes": 912.0,
"avgDurationMinutes": 6.2,
"completedCallsWithDuration": 145,
"successRatePercent": 87.5,
"successEvaluatedCount": 130,
"timeline": {
"today": 5,
"last7Days": 45,
"last30Days": 148,
"last365Days": 148
},
"dailySeries": [
{ "date": "2025-02-18", "count": 6 },
{ "date": "2025-02-17", "count": 4 }
]
}
{
"success": true,
"assistant": {
"id": "7d2d1b8f-1f2e-4c24-8d31-6bf0c3d54b4e",
"account_slug": "acme-sales",
"name": "Inbound Qualification Assistant",
"type": "tmpl_voice_inbound",
"created_at": "2025-01-14T10:22:31.000Z",
"updated_at": "2025-01-14T10:22:31.000Z"
}
}
{
"success": true,
"message": "Assistant deleted successfully"
}
Assistenten verwalten
Erstellen Sie Assistenten, aktualisieren Sie ihre Konfiguration, klonen Sie bestehende Setups, löschen Sie nicht mehr benötigte Assistenten und rufen Sie Nutzungsdaten für Reporting oder operative Prüfungen ab.
Alle Assistant-Endpunkte unterstützen Dual-Authentifizierung über withApiAuth. Authentifizieren Sie sich entweder mit einem Talkturo-API-Schlüssel oder mit einem authentifizierten Session-Cookie.
Basispfad: /api/assistants
Endpunktübersicht
| Methode | Pfad | Beschreibung |
|---|---|---|
POST | /api/assistants | Erstellt einen neuen Assistenten |
PATCH | /api/assistants/{assistantId} | Aktualisiert die Konfiguration eines vorhandenen Assistenten |
DELETE | /api/assistants/{assistantId} | Löscht einen Assistenten |
POST | /api/assistants/{assistantId}/clone | Klont einen vorhandenen Assistenten |
GET | /api/assistants/{assistantId}/usage-stats | Ruft Nutzungsstatistiken für einen Assistenten ab |
GET | /api/assistants/{assistantId}/tool-configs | Werkzeugkonfigurationen auflisten |
GET | /api/assistants/{assistantId}/tool-configs/{toolType} | Spezifische Werkzeugkonfiguration abrufen |
POST | /api/assistants/{assistantId}/tool-configs/{toolType} | Werkzeugkonfiguration erstellen oder aktualisieren |
DELETE | /api/assistants/{assistantId}/tool-configs/{toolType} | Werkzeugkonfiguration(en) löschen |
GET | /api/assistants/{assistantId}/billing/estimate | Kostenschätzung pro Minute |
GET | /api/assistants/{assistantId}/knowledge-base | Angehängte Wissensdatenbank-Dateien auflisten |
POST | /api/assistants/{assistantId}/knowledge-base | Wissensdatenbank-Datei anhängen |
DELETE | /api/assistants/{assistantId}/knowledge-base/{fileId} | Wissensdatenbank-Datei trennen |
GET | /api/assistants/{assistantId}/telephony/phone-numbers | Zugewiesene Telefonnummern auflisten |
PATCH | /api/assistants/{assistantId}/telephony/phone-numbers | Telefonnummern zuweisen |
POST | /api/assistants/{assistantId}/telephony/inbound | Eingehende Anrufe aktivieren/deaktivieren |
POST | /api/assistants/{assistantId}/telephony/outbound | Ausgehende Anrufe aktivieren/deaktivieren |
POST | /api/assistants/{assistantId}/telephony/settings | Telefonieeinstellungen aktualisieren |
POST | /api/assistants/{assistantId}/telephony/test-call | Testanruf starten |
GET | /api/assistants/{assistantId}/telephony/assign-phone-numbers | Zuweisbare Telefonnummern auflisten |
GET | /api/assistants/{assistantId}/telephony/compliance-templates | Compliance-Vorlagen auflisten |
POST | /api/assistants/{assistantId}/test-link | Test-Link erstellen oder aktualisieren |
POST | /api/assistants/{assistantId}/crm-group | CRM-Gruppe zuweisen |
POST | /api/assistants/{assistantId}/webhooks/test | Test-Webhook-Event einreihen |
GET | /api/assistants/{assistantId}/prompt-versions | Prompt-Versionen auflisten |
POST | /api/assistants/{assistantId}/prompt-versions | Prompt-Version speichern |
DELETE | /api/assistants/{assistantId}/prompt-versions/{versionId} | Prompt-Version löschen |
POST | /api/assistants/{assistantId}/prompt-versions/{versionId}/restore | Prompt-Version wiederherstellen |
POST | /api/assistants/{assistantId}/tools/workflow | Workflow-Werkzeug anhängen |
DELETE | /api/assistants/{assistantId}/tools/workflow | Workflow-Werkzeug trennen |
Einen Assistenten erstellen
Erstellen Sie einen Assistenten mit einem Kontoslug und einem Namen. Optional können Sie auch eine Vorlage angeben, um den Assistententyp beim Anlegen zu setzen.
Request-Body
Der Slug des Kontos, in dem der Assistent erstellt wird.
Der Anzeigename des Assistenten.
Optionale Vorlagen-ID. Wenn angegeben, setzt Talkturo den Assistententyp aus dieser Vorlage.
Antwortfelder
Gibt an, ob die Anfrage erfolgreich war.
Das neu erstellte Assistant-Objekt.
Die eindeutige Kennung des Assistenten.
Der Kontoslug, dem der Assistent gehört.
Der Name des Assistenten.
Der Typ des Assistenten. Beim Erstellen wird dieser aus templateId abgeleitet, wenn eine Vorlage übergeben wurde.
Zeitstempel der Erstellung im ISO-8601-Format.
Zeitstempel der letzten Aktualisierung im ISO-8601-Format.
Einen Assistenten aktualisieren
Aktualisieren Sie einen vorhandenen Assistenten, indem Sie seine Kennung im Pfad und die zu ändernden Felder im Request-Body übergeben. Der Endpunkt akzeptiert accountSlug optional und validiert transcriptor_options gegen den gewählten Provider und das Modell, bevor Änderungen gespeichert werden.
Pfadparameter
Die UUID des zu aktualisierenden Assistenten.
Request-Body
Optionaler Kontoslug. Geben Sie ihn an, wenn Ihre Integration das Zielkonto explizit festlegen soll.
Beliebige Assistant-Felder, die aktualisiert werden sollen. Der Endpunkt akzeptiert partielle Updates.
Optionale Transkriptionskonfiguration. Talkturo validiert diese Konfiguration gegen den ausgewählten Provider und das Modell, bevor die Aktualisierung gespeichert wird.
Antwortfelder
Gibt an, ob die Anfrage erfolgreich war.
Das aktualisierte Assistant-Objekt.
Einen Assistenten löschen
Löschen Sie einen Assistenten dauerhaft über seine Kennung. Der Endpunkt prüft, ob der Assistent dem authentifizierten Konto gehört, bevor der Löschvorgang ausgeführt wird.
Pfadparameter
Die UUID des zu löschenden Assistenten.
Antwortfelder
Gibt an, ob die Anfrage erfolgreich war.
Bestätigung, dass der Assistent erfolgreich gelöscht wurde.
Einen Assistenten klonen
Klonen Sie einen vorhandenen Assistenten, um schnell eine neue Konfiguration auf Basis eines bestehenden Setups zu erstellen.
Pfadparameter
Die UUID des zu klonenden Assistenten.
Request-Body
Der Kontoslug für den Workspace, in dem der Klon erstellt werden soll. Wenn weggelassen, wird das dem API-Schlüssel zugeordnete Konto verwendet.
Antwortfelder
Gibt an, ob die Anfrage erfolgreich war.
Das neu geklonte Assistant-Objekt.
Die eindeutige Kennung des geklonten Assistenten.
Der Name des geklonten Assistenten.
Zeitstempel der Erstellung im ISO-8601-Format.
Zeitstempel der letzten Aktualisierung im ISO-8601-Format.
Nutzungsstatistiken abrufen
Rufen Sie aggregierte Nutzungsdaten für einen einzelnen Assistenten ab, um Aufrufe, Gesprächsminuten und den Zeitpunkt des letzten Anrufs zu prüfen.
Pfadparameter
Die UUID des Assistenten, dessen Nutzungsstatistiken Sie abrufen möchten.
Abfrageparameter
Die Konto-UUID, der den Assistenten besitzt. Gibt 400 zurück, wenn weggelassen.
Antwortfelder
Gesamtzahl der Anrufe, die vom Assistenten behandelt wurden.
Gesamtanrufdauer in Minuten, auf eine Nachkommastelle gerundet.
Durchschnittliche Anrufdauer in Minuten. Gibt null zurück, wenn keine Anrufe sowohl Start- als auch Endzeitstempel haben.
Anzahl der Anrufe mit sowohl started_at als auch ended_at Zeitstempeln.
Prozentsatz der erfolgreichen Anrufe, auf eine Nachkommastelle gerundet. Gibt null zurück, wenn keine Anrufe bewertet werden konnten.
Anzahl der Anrufe, die für die Erfolgsbewertung ausgewertet werden konnten.
Anrufanzahlen nach Zeitraum: today, last7Days, last30Days und last365Days.
Anzahl der Anrufe für den aktuellen UTC-Tag.
Anzahl der Anrufe in den letzten 7 Tagen.
Anzahl der Anrufe in den letzten 30 Tagen.
Anzahl der Anrufe in den letzten 365 Tagen.
Array täglicher Anrufanzahlen für die letzten 30 Tage. Jeder Eintrag enthält ein Datum im Format YYYY-MM-DD in UTC und eine Anzahl.
Datum des Tages im Format YYYY-MM-DD in UTC.
Anzahl der Anrufe für dieses Datum.
Werkzeugkonfigurationen
Werkzeugkonfigurationen ermöglichen es Ihnen, Drittanbieter-Tools wie Cal.com-Scheduling, Zapier oder benutzerdefinierte Webhooks an einen Assistenten anzuhängen. Alle Endpunkte erfordern Session-Authentifizierung.
| Methode | Pfad | Beschreibung |
|---|---|---|
GET | /api/assistants/{assistantId}/tool-configs | Alle aktivierten Werkzeugkonfigurationen auflisten |
GET | /api/assistants/{assistantId}/tool-configs/{toolType} | Konfigurationen für einen bestimmten Werkzeugtyp abrufen |
POST | /api/assistants/{assistantId}/tool-configs/{toolType} | Werkzeugkonfiguration erstellen oder aktualisieren |
DELETE | /api/assistants/{assistantId}/tool-configs/{toolType} | Werkzeugkonfiguration(en) löschen |
Konfigurationen für einen Werkzeugtyp abrufen
Rufen Sie Konfigurationen für einen einzelnen Werkzeugtyp ab. Verwenden Sie configId, wenn Sie eine bestimmte Konfiguration adressieren möchten, oder all=true, um alle Konfigurationen dieses Typs zurückzugeben.
Pfadparameter
Die UUID des Assistenten, dessen Werkzeugkonfigurationen Sie abrufen möchten.
Der Werkzeugtyp. Gültige Werte sind cal_com, zapier, cal_com_schedule, cal_com_get_bookings und cal_com_cancel.
cal_comzapiercal_com_schedulecal_com_get_bookingscal_com_cancelAbfrageparameter
Optionale UUID einer bestimmten Konfiguration.
Setzen Sie den Wert auf true, um alle Konfigurationen dieses Typs zurückzugeben.
Werkzeugkonfiguration erstellen oder aktualisieren
Erstellen Sie eine neue Werkzeugkonfiguration oder aktualisieren Sie eine vorhandene Konfiguration für den angegebenen Werkzeugtyp.
Abfrageparameter
Optionale UUID einer vorhandenen Konfiguration, die aktualisiert werden soll.
Request-Body
Freiform-Konfiguration für das Werkzeug.
Aktiviert oder deaktiviert die Konfiguration. Standardwert ist true.
Werkzeugkonfigurationen löschen
Löschen Sie entweder eine bestimmte Konfiguration oder alle Konfigurationen eines Werkzeugtyps.
Abfrageparameter
Optionale UUID einer bestimmten Konfiguration. Wenn weggelassen, löscht der Endpunkt alle Konfigurationen dieses Typs.
Die Werkzeugkonfigurations-Endpunkte verwenden Session-Authentifizierung und stehen nicht über API-Schlüssel zur Verfügung.
Kostenschätzung
Gibt eine geschätzte Kosten pro Minute in Credits zurück, basierend auf den Provider-Einstellungen des Assistenten und dem aktiven Kostenkatalog.
Endpunkt
GET /api/assistants/{assistantId}/billing/estimate
Pfadparameter
Die UUID des Assistenten, für den Sie die Kostenschätzung abrufen möchten.
Abfrageparameter
Konto-UUID.
LLM-Provider überschreiben für Live-Vorschau.
LLM-Modell überschreiben.
STT-Provider überschreiben.
STT-Modell überschreiben.
TTS-Provider überschreiben.
TTS-Modell überschreiben.
Setzen Sie den Wert auf true oder 1 für eine Realtime-Modus-Schätzung.
Antwortfelder
Aktiver Kostenkatalog mit Kennung und Namen.
Die eindeutige Kennung des aktiven Kostenkatalogs.
Der Name des aktiven Kostenkatalogs.
Annahmen, die zur Berechnung der Schätzung verwendet werden.
Angenommene Zeichen pro Minute für die TTS-Berechnung.
Angenommene Prompt-Tokens pro Minute für die LLM-Berechnung.
Angenommene Completion-Tokens pro Minute für die LLM-Berechnung.
Effektive Provider- und Modellinformationen des Assistenten für die Schätzung.
Angewendete Raten pro Minute und pro 1.000 Einheiten.
Aufschlüsselung der geschätzten Kosten pro Minute nach STT-, TTS-, LLM- und Telefonie-Komponenten.
Geschätzte Gesamtkosten pro Minute in Credits.
Wissensdatenbank-Anhänge
Verwalten Sie Wissensdatenbank-Dateien, die an einen Assistenten angehängt sind. Hängen Sie vorhandene Dateien aus der Kontobibliothek an. Diese Endpunkte laden keine neuen Dateien hoch. Siehe Wissensdatenbank für Datei-Upload und -Verwaltung.
| Methode | Pfad | Beschreibung | Auth | Scope |
|---|---|---|---|---|
GET | /api/assistants/{assistantId}/knowledge-base | Angehängte Wissensdatenbank-Dateien auflisten | API-Schlüssel oder Session | kb:read |
POST | /api/assistants/{assistantId}/knowledge-base | Vorhandene Datei anhängen | API-Schlüssel oder Session | kb:write |
DELETE | /api/assistants/{assistantId}/knowledge-base/{fileId} | Datei trennen | API-Schlüssel oder Session | kb:write |
Angehängte Wissensdatenbank-Dateien auflisten
Ruft alle Wissensdatenbank-Dateien ab, die an den Assistenten angehängt sind. Ergebnisse sind nach Anhänge-Erstellungszeit sortiert, neueste zuerst.
Endpunkt
GET /api/assistants/{assistantId}/knowledge-base
Pfadparameter
Die UUID des Assistenten.
Antwortfelder
Gibt true zurück, wenn die Anfrage erfolgreich ist.
Array von angehängten Wissensdatenbank-Dateiobjekten. Jedes Objekt enthält id, filename, mime_type, size_bytes, status, status_error, char_count, chunk_count, created_at und updated_at.
Wissensdatenbank-Datei anhängen
Hängen Sie eine vorhandene Wissensdatenbank-Datei aus der Kontobibliothek an den Assistenten an. Die Datei muss bereits existieren und zum selben Konto wie der Assistenten gehören. Dieser Vorgang ist idempotent, das Anhängen einer bereits angehängten Datei gibt Erfolg zurück, ohne ein Duplikat zu erstellen.
Endpunkt
POST /api/assistants/{assistantId}/knowledge-base
Pfadparameter
Die UUID des Assistenten.
Body-Parameter
UUID der Wissensdatenbank-Datei, die angehängt werden soll. Die Datei muss bereits in der Kontobibliothek existieren.
Antwortfelder
Gibt true zurück, wenn die Datei angehängt wurde oder bereits angehängt war.
Gibt true zurück, wenn die Datei bereits angehängt war und kein neuer Anhang erstellt wurde.
Wissensdatenbank-Datei trennen
Entfernen Sie eine Wissensdatenbank-Datei von einem Assistenten. Dies entfernt nur den Anhang. Die zugrunde liegende Datei bleibt in der Kontobibliothek. Das Trennen eines nicht vorhandenen Anhangs gibt trotzdem Erfolg zurück.
Endpunkt
DELETE /api/assistants/{assistantId}/knowledge-base/{fileId}
Pfadparameter
Die UUID des Assistenten.
UUID der Wissensdatenbank-Datei, die getrennt werden soll.
Antwortfelder
Gibt true zurück, wenn die Datei getrennt wurde oder nicht angehängt war.
Telefonieverwaltung
Verwalten Sie ein- und ausgehende Telefonie für einen Assistenten. Diese Endpunkte stellen LiveKit-Trunks bereit, konfigurieren diese, weisen Telefonnummern zu und starten Testanrufe.
Die meisten Telefonieverwaltungs-Endpunkte erfordern Session-Authentifizierung und unterstützen keine API-Schlüssel-Authentifizierung. Nur der Endpunkt zum Auflisten von Telefonnummern unterstützt API-Schlüssel.
| Methode | Pfad | Beschreibung | Auth |
|---|---|---|---|
GET | /api/assistants/{assistantId}/telephony/phone-numbers | Dem Assistenten zugewiesene Telefonnummern auflisten | API-Schlüssel oder Session |
PATCH | /api/assistants/{assistantId}/telephony/phone-numbers | Telefonnummern dem Assistenten zuweisen | API-Schlüssel oder Session |
POST | /api/assistants/{assistantId}/telephony/inbound | Eingehende Anrufe aktivieren oder deaktivieren | Nur Session |
POST | /api/assistants/{assistantId}/telephony/outbound | Ausgehende Anrufe aktivieren oder deaktivieren | Nur Session |
POST | /api/assistants/{assistantId}/telephony/settings | Telefonieeinstellungen aktualisieren (Telefonnummern, Anrufbeantworter, Compliance) | Nur Session |
POST | /api/assistants/{assistantId}/telephony/test-call | Testanruf starten | Nur Session |
GET | /api/assistants/{assistantId}/telephony/assign-phone-numbers | Zuweisbare Telefonnummern auflisten | Nur Session |
GET | /api/assistants/{assistantId}/telephony/compliance-templates | Compliance-Vorlagen auflisten | Nur Session |
Zugewiesene Telefonnummern auflisten
Ruft aktive, nicht gelöschte Telefonnummern ab, die dem Assistenten zugewiesen sind. Ergebnisse umfassen Nummern, die nicht zugewiesen oder diesem Assistenten zugewiesen sind, sortiert nach Telefonnummer aufsteigend.
Endpunkt
GET /api/assistants/{assistantId}/telephony/phone-numbers
Pfadparameter
Die UUID des Assistenten.
Abfrageparameter
Kontoslug zur Workspace-Auflösung.
Antwortfelder
Gibt true zurück, wenn die Anfrage erfolgreich ist.
Array von Telefonnummern-Objekten. Jedes Objekt enthält id, phone_number, status, is_trial, trial_expires_at, assistant_id, provider, ownership_type, country_code, provider_account_id, provider_account_sid und Konto-Label-Felder.
Telefonnummern zuweisen (PATCH)
Weisen Sie dem Assistenten Telefonnummern zu. Alle vorhandenen Zuweisungen werden zuerst entfernt, dann werden die angegebenen IDs zugewiesen. LiveKit-Routing wird für betroffene Assistenten neu synchronisiert.
Endpunkt
PATCH /api/assistants/{assistantId}/telephony/phone-numbers
Body-Parameter
Kontoslug zur Workspace-Auflösung.
Array von Telefonnummern-UUIDs, die zugewiesen werden sollen.
Antwortfelder
Gibt true zurück, wenn Telefonnummern erfolgreich zugewiesen wurden.
Bestätigungsmeldung.
Eingehende Anrufe aktivieren oder deaktivieren
Schalten Sie eingehende Anrufe für den Assistenten um. Das Aktivieren erfordert mindestens eine aktive, nicht gelöschte Telefonnummer, die dem Assistenten zugewiesen ist. Talkturo stellt den LiveKit-Eingehend-Trunk und die Dispatch-Regel beim Aktivieren bereit oder aktualisiert sie und entfernt sie beim Deaktivieren.
Endpunkt
POST /api/assistants/{assistantId}/telephony/inbound
Body-Parameter
Kontoslug zur Workspace-Auflösung.
Auf true setzen, um eingehende Anrufe zu aktivieren, oder auf false, um sie zu deaktivieren.
Antwortfelder
Gibt true zurück, wenn der Vorgang erfolgreich ist.
Aktualisierter Telefoniestatus des Assistenten einschließlich id, inbound_enabled, outbound_enabled, livekit_inbound_trunk_id und livekit_dispatch_rule_id.
Ausgehende Anrufe aktivieren oder deaktivieren
Schalten Sie ausgehende Anrufe für den Assistenten um. Das Aktivieren erfordert mindestens eine aktive zugewiesene Telefonnummer. Talkturo stellt den LiveKit-Ausgehend-Trunk beim Aktivieren bereit oder aktualisiert ihn und entfernt ihn beim Deaktivieren.
Endpunkt
POST /api/assistants/{assistantId}/telephony/outbound
Body-Parameter
Kontoslug zur Workspace-Auflösung.
Auf true setzen, um ausgehende Anrufe zu aktivieren, oder auf false, um sie zu deaktivieren.
Antwortfelder
Gibt true zurück, wenn der Vorgang erfolgreich ist.
Aktualisierter Telefoniestatus des Assistenten einschließlich id, inbound_enabled, outbound_enabled und livekit_outbound_trunk_id.
Telefonieeinstellungen aktualisieren
Konfigurieren Sie Telefonnummern-Zuweisungen, Anrufbeantworter, Compliance und Zielland in einer einzigen Anfrage. Dieser Endpunkt verarbeitet LiveKit-Bereitstellung, Anrufbeantworter-Erkennung und Compliance-Zustimmungs-Workflows.
Endpunkt
POST /api/assistants/{assistantId}/telephony/settings
Body-Parameter
Kontoslug zur Workspace-Auflösung.
Array von Telefonnummern-UUIDs, die zugewiesen werden sollen. IDs werden automatisch dedupliziert.
Ob eingehende Anrufe aktiviert werden sollen.
Ob ausgehende Anrufe aktiviert werden sollen.
Telnyx-Verbindungs-Credential-ID. Eine leere Zeichenfolge wird zu null konvertiert.
Zielländercode für ausgehendes Routing. Auf null für automatisches Regions-Routing setzen. Gültige Werte: ae, au, br, ch, de, fr, gb, il, in, jp, sa, sg, us, za.
Anrufbeantworter-Erkennungseinstellungen. Enthält detectionEnabled (boolean), action (string, maximal 40 Zeichen) und message (string, maximal 2000 Zeichen).
Compliance-Zustimmungseinstellungen. Enthält enabled (boolean), templateId (string, UUID wenn nicht-null), briefingText (string, maximal 2000 Zeichen), language (string, maximal 20 Zeichen), requireAck (boolean), fallbackPolicy (retry, block oder continue) und ackTimeoutSeconds (integer, 3 bis 60). Wenn compliance.enabled true ist, ist entweder templateId oder nicht-leerer briefingText erforderlich.
Antwortfelder
Gibt true zurück, wenn Telefonieeinstellungen erfolgreich aktualisiert wurden.
Aktualisierter Telefoniestatus des Assistenten.
Anzahl der aktiven Telefonnummern, die nach der Aktualisierung zugewiesen sind.
Telefonieeinstellungen werden atomar angewendet. Wenn die LiveKit-Bereitstellung fehlschlägt, setzt die Route alle aktivierten Flags und Trunk-IDs auf ihren vorherigen Status zurück.
Testanruf starten
Starten Sie einen Testanruf mit der Telefoniekonfiguration des Assistenten. Erfordert ausreichende Kontoguthaben und aktivierte ausgehende Anrufe.
Endpunkt
POST /api/assistants/{assistantId}/telephony/test-call
Body-Parameter
Kontoslug zur Workspace-Auflösung.
Die Absender-Telefonnummer. Muss dem Assistenten zugewiesen, aktiv und nicht gelöscht sein.
Die Ziel-Telefonnummer. Wird automatisch ins E.164-Format normalisiert.
Antwortfelder
Gibt true zurück, wenn der Testanruf gestartet wurde.
Der für den Testanruf erstellte LiveKit-Raumname.
Die SIP-Anruf-ID, wenn der Anruf erfolgreich erstellt wurde.
Bestätigungsmeldung mit der Zielnummer.
Testanrufe erfordern ausreichende Kontoguthaben. Wenn das Guthaben zu niedrig ist, gibt die API HTTP 402 mit dem aktuellen Guthaben und dem mindestens erforderlichen Guthaben zurück.
Zuweisbare Telefonnummern auflisten
Ruft Telefonnummern ab, die dem Assistenten zugewiesen werden können, einschließlich nicht zugewiesener Nummern und bereits zugewiesener Nummern.
Endpunkt
GET /api/assistants/{assistantId}/telephony/assign-phone-numbers
Pfadparameter
Die UUID des Assistenten.
Abfrageparameter
Kontoslug zur Workspace-Auflösung.
Antwortfelder
Gibt true zurück, wenn die Anfrage erfolgreich ist.
Telefonnummern, die für die Zuweisung verfügbar sind, einschließlich nicht zugewiesener Nummern und bereits zugewiesener Nummern.
Compliance-Vorlagen auflisten
Ruft Compliance-Vorlagen ab, die für die Telefoniekonfiguration des Assistenten verfügbar sind.
Endpunkt
GET /api/assistants/{assistantId}/telephony/compliance-templates
Pfadparameter
Die UUID des Assistenten.
Antwortfelder
Gibt true zurück, wenn die Anfrage erfolgreich ist.
Compliance-Vorlagen, die für das Konto des Assistenten verfügbar sind.
Test-Link erstellen oder aktualisieren
Generieren oder aktualisieren Sie einen Test-Link für einen Assistenten. Der Test-Link bietet eine URL, die einen browserbasierten Testanruf mit dem Assistenten öffnet.
Endpunkt
POST /api/assistants/{assistantId}/test-link
Pfadparameter
Die UUID des Assistenten.
Antwortfelder
Gibt true zurück, wenn der Test-Link erstellt oder aktualisiert wurde.
Der Test-Link-Token.
Die vollständige Test-Link-URL.
CRM-Gruppenzuweisung
Weisen Sie einem Assistenten eine CRM-Gruppe zu. Die CRM-Gruppe bestimmt, welche Kontakte der Assistent während Anrufen aufrufen kann. Die Gruppe muss zum selben Konto wie der Assistent gehören.
Endpunkt
POST /api/assistants/{assistantId}/crm-group
Pfadparameter
Die UUID des Assistenten.
Body-Parameter
Kontoslug zur Workspace-Auflösung.
UUID der zuzuweisenden CRM-Gruppe. Die Gruppe muss zum selben Konto gehören.
Antwortfelder
Gibt true zurück, wenn die CRM-Gruppe erfolgreich zugewiesen wurde.
Aktualisierter Assistent-Datensatz einschließlich id und group_id.
Wird zurückgegeben, wenn die Datenbankzuweisung erfolgreich ist, aber die LiveKit-Neusynchronisierung fehlschlägt. Die Zuweisung wird dennoch gespeichert.
Webhook-Test
Senden Sie ein Test-Webhook-Event, um zu überprüfen, ob die Webhook-Konfiguration des Assistenten funktioniert. Der Endpunkt generiert ein synthetisches call.ended-Event und reiht es zur Zustellung ein. Er führt keinen echten Anruf durch und ruft den Webhook nicht synchron auf.
Der Assistent muss Webhooks aktiviert haben mit sowohl URL als auch Secret konfiguriert, bevor getestet wird.
Endpunkt
POST /api/assistants/{assistantId}/webhooks/test
Pfadparameter
Die UUID des Assistenten.
Antwortfelder
Gibt true zurück, wenn das Test-Event eingereiht wurde.
UUID der eingereihten Webhook-Zustellung.
Bestätigungsmeldung. Wert ist Test event queued.
Prompt-Versionsverlauf
Verfolgen und stellen Sie frühere Versionen des System-Prompts eines Assistenten wieder her. Jedes Mal, wenn sich der Prompt ändert, speichert Talkturo einen versionierten Snapshot. Verwenden Sie diese Endpunkte, um den Verlauf zu durchsuchen, eine neue Version zu speichern, einen alten Prompt wiederherzustellen oder eine nicht mehr benötigte Version zu löschen.
Alle Prompt-Versions-Endpunkte verwenden withApiAuth und unterstützen sowohl API-Schlüssel- als auch Session-Cookie-Authentifizierung. API-Schlüssel-Anfragen verwenden das dem Schlüssel zugeordnete Konto. Session-Token-Anfragen erfordern accountSlug im Query-String. Cookie-Session-Anfragen erfordern teamId oder accountSlug im Query-String oder Request-Body.
| Methode | Pfad | Beschreibung |
|---|---|---|
GET | /api/assistants/{assistantId}/prompt-versions | Prompt-Versionen auflisten |
POST | /api/assistants/{assistantId}/prompt-versions | Aktuellen Prompt als neue Version speichern |
DELETE | /api/assistants/{assistantId}/prompt-versions/{versionId} | Prompt-Version löschen |
POST | /api/assistants/{assistantId}/prompt-versions/{versionId}/restore | Frühere Prompt-Version wiederherstellen |
Prompt-Versionen auflisten
Ruft eine paginierte Liste von Prompt-Versionen ab, neueste zuerst.
Endpunkt
GET /api/assistants/{assistantId}/prompt-versions
Pfadparameter
Die UUID des Assistenten.
Abfrageparameter
Maximale Anzahl der zurückgegebenen Versionen. Wird auf den Bereich 1 bis 50 begrenzt. Standardwert ist 10.
Gibt Versionen mit einer Versionsnummer kleiner als dieser Wert zurück. Verwenden Sie dies für cursor-basierte Pagination.
Kontoslug. Erforderlich für Bearer-Session-Token-Authentifizierung.
Team-ID. Erforderlich für Cookie-Session-Authentifizierung, wenn accountSlug nicht angegeben wird.
Antwortfelder
Prompt-Versionen, neueste zuerst. Jede Version enthält id, assistant_id, version, system_prompt, created_by, created_at, last_used_at und author_name.
UUID der aktuell aktiven Prompt-Version oder null, wenn keine Version aktiv ist.
Gibt an, ob weitere Versionen über die aktuelle Seite hinaus verfügbar sind.
Prompt-Version speichern
Speichert den aktuellen System-Prompt des Assistenten als neue Version. Wenn sich der Prompt seit der letzten Version nicht geändert hat, gibt der Endpunkt unchanged: true zurück und erstellt keine neue Version.
Endpunkt
POST /api/assistants/{assistantId}/prompt-versions
Body-Parameter
Der zu speichernde Prompt. Wenn weggelassen, wird der aktuelle system_prompt des Assistenten als Snapshot gespeichert.
Antwortfelder
Gibt true zurück, wenn die Version gespeichert wurde.
Gibt true zurück, wenn der Prompt mit der aktuellen Version übereinstimmt und keine neue Version erstellt wurde.
Die gespeicherte oder aktuelle Prompt-Version, einschließlich id, assistant_id, version und system_prompt.
Ein leerer Prompt kann nicht als Version gespeichert werden. Der Endpunkt gibt 400 mit dem Fehler Cannot save an empty AI Script as a version zurück.
Prompt-Version löschen
Löschen Sie eine Prompt-Version anhand ihrer ID. Die aktuell aktive Version kann nicht gelöscht werden.
Endpunkt
DELETE /api/assistants/{assistantId}/prompt-versions/{versionId}
Pfadparameter
Die UUID des Assistenten.
Die zu löschende Prompt-Versions-UUID.
Antwortfelder
Gibt true zurück, wenn die Version gelöscht wurde.
Das Löschen der aktuell aktiven Version gibt 409 mit dem Fehler Cannot delete the version the assistant is using zurück.
Prompt-Version wiederherstellen
Stellen Sie eine frühere Prompt-Version wieder her, indem Sie deren system_prompt auf den Assistenten kopieren. Dies aktualisiert den aktuellen Prompt und den Versionszeiger des Assistenten, erstellt aber keine neue Version.
Endpunkt
POST /api/assistants/{assistantId}/prompt-versions/{versionId}/restore
Pfadparameter
Die UUID des Assistenten.
Die wiederherzustellende Prompt-Versions-UUID.
Antwortfelder
Gibt true zurück, wenn der Prompt wiederhergestellt wurde.
Der wiederhergestellte System-Prompt-Text.
UUID der wiederhergestellten Version, nun die aktive Version.
Versionsnummer der wiederhergestellten Version.
Workflow-Werkzeug-Anhang
Hängen Sie einen veröffentlichten TurboFlow-Workflow als aufrufbares Werkzeug an einen Assistenten an. Der Assistent kann den Workflow während Anrufen aufrufen. Name, Beschreibung und Parameter des Workflows werden zur Laufzeit aus der veröffentlichten Flow-Version ermittelt.
Endpunkt
POST /api/assistants/{assistantId}/tools/workflow
Pfadparameter
Die UUID des Assistenten.
Body-Parameter
UUID des zu anhängenden veröffentlichten Workflows.
Antwortfelder
Die eingefügte assistant_tool_configs-Zeile einschließlich id, assistant_id, account_id, tool_type (auf workflow gesetzt), config (enthält flow_id) und is_enabled.
Das doppelte Anhängen desselben Workflows an denselben Assistenten gibt HTTP 409 mit dem Fehler workflow_already_attached zurück.
Workflow-Werkzeug trennen
Entfernen Sie ein Workflow-Werkzeug von einem Assistenten anhand der Konfigurations-ID.
Endpunkt
DELETE /api/assistants/{assistantId}/tools/workflow?config_id={configId}
Abfrageparameter
Die zu entfernende Werkzeugkonfigurations-UUID.
Antwortfelder
Gibt true zurück, wenn das Workflow-Werkzeug getrennt wurde.
Gemeinsame Antwortstruktur
Die Assistant-Endpunkte verwenden eine konsistente Antwortform mit einem success-Flag und einem ressourcenspezifischen Payload.
Einzelne Endpunkte geben unterschiedliche Payload-Schlüssel zurück, zum Beispiel assistant oder message. Prüfen Sie die Antwortform des jeweiligen Endpunkts, wenn Sie Ihren Client implementieren.