RessourcenTelefonie

Telefonie

Konfigurieren Sie ein- und ausgehende Telefonie, weisen Sie Telefonnummern zu, führen Sie Testanrufe durch und verwalten Sie Compliance-Vorlagen für Sprachassistenten über die Talkturo-API.

curl -X POST "https://app.talkturo.com/api/assistants/asst_7f3c2d91-5d8b-4f3e-a1a9-62fb3ec82d10/telephony/test-call" \
  -H "Content-Type: application/json" \
  -H "Cookie: sb-access-token=authenticated_session" \
  -d '{
    "accountSlug": "acme-support",
    "fromNumber": "+14155550120",
    "toNumber": "+14155550199"
  }'
{
  "success": true,
  "roomName": "call_asst_7f3c2d91_20250115_184455",
  "sipCallId": "sip_2fd91c8b7a8e4d51",
  "message": "Test call started successfully"
}

Telefonie-Endpunkte

Verwalten Sie die Anrufkonfiguration eines Assistenten, zugewiesene Telefonnummern, ausgehende Testanrufe und Compliance-Vorlagen. Alle Telefonie-Routen sind auf einen einzelnen Assistenten beschränkt und erfordern eine authentifizierte Browser-Sitzung.

Basis-Pfad: /api/assistants/[assistantId]/telephony

Endpunktübersicht

MethodePfadBeschreibung
POST/telephony/test-callStartet einen ausgehenden SIP-Testanruf. Body: accountSlug, fromNumber, toNumber
POST/telephony/inboundSchaltet eingehende Telefonie ein oder aus
POST/telephony/outboundSchaltet ausgehende Telefonie ein oder aus
POST/telephony/settingsSpeichert die vollständigen Telefonie-Einstellungen
GET / PATCH/telephony/phone-numbersListet Telefonnummern auf oder ersetzt Zuweisungen
POST/telephony/assign-phone-numbersWeist Telefonnummern zu
GET/telephony/compliance-templatesListet verfügbare Compliance-Vorlagen auf

Zusätzlich steht GET /api/assistant-phone-numbers für eine kontoübergreifende Auflistung von Telefonnummern zur Verfügung, die Assistenten zugeordnet sind.

Testanruf starten

POST /telephony/test-call startet einen ausgehenden SIP-Testanruf für einen Assistenten. Vor dem Start prüft der Endpunkt Guthaben, die Outbound-Konfiguration und ob die Ausgangsnummer aktiv und dem Assistenten zugewiesen ist.

Request-Body

body
accountSlugstring
Required

Der Account-Slug, der für die Mitgliedschafts- und Guthabenprüfung verwendet wird.

body
fromNumberstring
Required

Die aktive Telefonnummer des Assistenten, von der der Testanruf ausgeht.

body
toNumberstring
Required

Die Zieltelefonnummer, die für den Testanruf angerufen wird.

Antwortfelder

successboolean
Required

true, wenn der Testanruf erfolgreich gestartet wurde.

roomNamestring
Required

Der Name des LiveKit-Raums, der für den Anruf erstellt wurde.

sipCallIdstring
Required

Die Kennung des erstellten SIP-Anrufteilnehmers.

messagestring
Required

Eine menschenlesbare Bestätigung, dass der Testanruf gestartet wurde.

Validierungsregeln vor dem Start

Der Endpunkt lehnt die Anfrage ab, wenn eine der erforderlichen Telefonie-Voraussetzungen fehlt. Diese Prüfungen laufen vor dem eigentlichen SIP-Aufbau.

  • Das Konto muss genügend Guthaben für ausgehende Anrufe haben. Bei unzureichendem Guthaben gibt der Endpunkt 402 zurück.
  • Für den Assistenten muss outbound_enabled aktiviert sein.
  • Der Assistent muss eine gültige livekit_outbound_trunk_id haben.
  • fromNumber muss aktiv und diesem Assistenten zugewiesen sein.
  • Die aktuelle Browser-Sitzung muss Zugriff auf das angegebene Konto haben.

Ausführungsablauf

Nach einer erfolgreichen Vorabprüfung führt der Testanruf-Endpunkt drei Schritte in fester Reihenfolge aus:

Wenn alle drei Schritte erfolgreich sind, enthält die Antwort roomName und sipCallId. Daran erkennen Sie, dass der Assistent bereitgestellt und der ausgehende Anruf initiiert wurde.

POST inbound

POST /telephony/inbound schaltet eingehende Anrufe für einen Assistenten ein oder aus. Bei Aktivierung wird ein LiveKit Inbound-SIP-Trunk und eine Dispatch-Regel bereitgestellt. Bei Deaktivierung werden diese entfernt.

Pfadparameter

Body-Parameter

body
enabledboolean
Required

Auf true setzen, um eingehende Anrufe zu aktivieren, oder auf false, um sie zu deaktivieren.

Wenn enabled auf true gesetzt ist, muss der Assistent mindestens eine aktive Telefonnummer zugewiesen haben. Die API gibt 400 zurück, wenn keine aktiven Nummern gefunden werden.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn der Wechsel abgeschlossen ist.

assistantobject
Required

Aktualisierter Assistant-Datensatz.

assistant.inbound_enabledboolean
Required

Aktueller Inbound-Status.

assistant.livekit_inbound_trunk_idstring

LiveKit Inbound-Trunk-ID. null bei deaktiviertem Inbound.

assistant.livekit_dispatch_rule_idstring

LiveKit Dispatch-Regel-ID. null bei deaktiviertem Inbound.

POST outbound

POST /telephony/outbound schaltet ausgehende Anrufe für einen Assistenten ein oder aus. Bei Aktivierung wird ein LiveKit Outbound-SIP-Trunk bereitgestellt. Bei Deaktivierung wird dieser entfernt.

Pfadparameter

Body-Parameter

body
enabledboolean
Required

Auf true setzen, um ausgehende Anrufe zu aktivieren, oder auf false, um sie zu deaktivieren.

Wenn enabled auf true gesetzt ist, muss der Assistent mindestens eine aktive Telefonnummer zugewiesen haben und die telnyx_fqdn_connection_id sowie die Outbound-Voice-Profile müssen konfiguriert sein. Die API gibt 400 zurück, wenn Voraussetzungen fehlen.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn der Wechsel abgeschlossen ist.

assistantobject
Required

Aktualisierter Assistant-Datensatz.

assistant.outbound_enabledboolean
Required

Aktueller Outbound-Status.

assistant.livekit_outbound_trunk_idstring

LiveKit Outbound-Trunk-ID. null bei deaktiviertem Outbound.

POST settings

POST /telephony/settings ist der Hauptendpunkt für Telefonie-Einstellungen. Er weist Telefonnummern zu, setzt die Telnyx-FQDN-Verbindung, aktiviert oder deaktiviert ein- und ausgehende Anrufe, stellt LiveKit-SIP-Trunks bereit und konfiguriert optional Anrufbeantworter-Erkennung und Compliance-Briefing.

Pfadparameter

Body-Parameter

body
phoneNumberIdsarray
Required

Array von Telefonnummer-UUIDs, die dem Assistenten zugewiesen werden sollen.

body
inboundEnabledboolean
Required

Schaltet eingehende Anrufe ein oder aus.

body
outboundEnabledboolean
Required

Schaltet ausgehende Anrufe ein oder aus.

body
inboundCompanyIdstring

Unternehmen-UUID für Inbound-Routing. Zur Laufzeit erforderlich, wenn inboundEnabled auf true gesetzt ist.

body
telnyxConnectionIdstring

Telnyx-FQDN-Verbindungs-ID. Nullbar, da Twilio-basierte Assistenten sie nicht verwenden.

body
destinationCountrystring

ISO-Ländercode für LiveKit-Outbound-Region-Pinning. Setzen Sie null für automatisches Routing.

Allowed values:aeaubrchdefrgbilinjpsasgusza
body
voicemailobject

Anrufbeantworter-Erkennungseinstellungen. Weglassen, um unverändert zu lassen.

body
voicemail.detectionEnabledboolean

Aktiviert die Anrufbeantworter-Erkennung.

body
voicemail.actionstring

Anrufbeantworter-Aktion mit maximal 40 Zeichen.

body
voicemail.messagestring

Anrufbeantworter-Nachrichtentext mit maximal 2000 Zeichen.

body
complianceobject

Compliance-Briefing-Einstellungen. Weglassen, um unverändert zu lassen.

body
compliance.enabledboolean

Aktiviert das Compliance-Briefing.

body
compliance.templateIdstring

Compliance-Vorlagen-UUID.

body
compliance.briefingTextstring

Compliance-Briefing-Text mit maximal 2000 Zeichen.

body
compliance.languagestring

Briefing-Sprache mit maximal 20 Zeichen.

body
compliance.requireAckboolean

Legt fest, ob eine Bestätigung des Anrufers erforderlich ist.

body
compliance.fallbackPolicystring

Fallback-Richtlinie bei fehlgeschlagener Bestätigung.

Allowed values:retryblockcontinue
body
compliance.ackTimeoutSecondsinteger

Bestätigungs-Timeout in Sekunden im Bereich von 3 bis 60.

Wenn Compliance aktiviert ist, muss entweder templateId nicht null sein oder briefingText darf nicht leer sein. Die API validiert diese Querschnittsanforderung vor dem Speichern.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn Einstellungen gespeichert sind.

assistantobject
Required

Aktualisierter Assistant-Datensatz mit inbound_enabled, outbound_enabled, telnyx_fqdn_connection_id, inbound_company_id und destination_country.

assignedActiveinteger
Required

Anzahl aktiver Telefonnummern nach dem Speichern.

GET und PATCH phone-numbers

GET /telephony/phone-numbers listet dem Assistenten verfügbare Telefonnummern auf. PATCH /telephony/phone-numbers ersetzt die Telefonnummer-Zuweisungen des Assistenten. Die GET-Methode gibt Nummern zurück, die aktiv und entweder nicht zugewiesen oder bereits diesem Assistenten zugewiesen sind.

Die GET- und PATCH-Methoden auf diesem Endpunkt unterstützen sowohl Session-Cookie- als auch API-Schlüssel-Authentifizierung. Alle anderen Telefonie-Routen auf dieser Seite erfordern ausschließlich Session-Cookie-Authentifizierung.

Pfadparameter

GET-Abfrageparameter

query
accountSlugstring

Optionale Konto-Slug-Überschreibung. Bei Verwendung von API-Schlüssel-Authentifizierung überschreibt dies das dem Schlüssel zugeordnete Konto.

PATCH-Body-Parameter

body
accountSlugstring

Optionale Konto-Slug-Überschreibung.

body
phoneNumberIdsarray
Required

Array von Telefonnummer-UUIDs, die zugewiesen werden sollen. Ersetzt alle aktuellen Zuweisungen.

PATCH ersetzt alle aktuellen Telefonnummer-Zuweisungen. Geben Sie die vollständige Menge der UUIDs an, die zugewiesen werden sollen, nicht nur neue Hinzufügungen.

GET-Antwortfelder

successboolean
Required

Gibt true zurück.

numbersarray
Required

Array von Telefonnummer-Objekten. Jedes enthält id, phone_number, status, is_trial, assistant_id, provider, accountKey, accountLabel und accountSid.

PATCH-Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Zuweisung abgeschlossen ist.

messagestring
Required

Bestätigungsmeldung.

Telefonnummern zuweisen

POST /telephony/assign-phone-numbers weist einem Assistenten Telefonnummern zu. Verwenden Sie diesen Endpunkt, nachdem die Nummern bereits vorhanden oder beschafft wurden.

Wann Sie diesen Endpunkt verwenden sollten

Dieser Endpunkt trennt die Zuweisung bewusst von der allgemeinen Nummernverwaltung. Dadurch können Sie Nummern zunächst abrufen oder vorbereiten und sie erst danach gezielt einem Assistenten zuordnen.

Prüfen Sie nach einer erfolgreichen Zuweisung die Nummernliste des Assistenten erneut. Die aktualisierte Liste zeigt, ob die gewünschten Nummern jetzt mit dem Assistenten verknüpft sind.

Compliance-Vorlagen auflisten

GET /telephony/compliance-templates listet die verfügbaren Compliance-Vorlagen für den Assistenten auf. Diese Vorlagen unterstützen telefoniespezifische Freigabe- und Registrierungsabläufe.

Warum Compliance-Vorlagen wichtig sind

Einige Carrier- oder Regionenanforderungen verlangen zusätzliche Registrierungsdaten, bevor Nummern vollständig nutzbar sind. Mit den verfügbaren Vorlagen können Sie diese Anforderungen konsistent erfassen und im richtigen Format weiterverarbeiten.

Wenn Ihre Telefonie-Einrichtung von regulatorischen Anforderungen abhängt, rufen Sie die verfügbaren Vorlagen ab, bevor Sie Nummern kaufen oder aktivieren.

Gemeinsame Integrationshinweise

Alle Telefonie-Endpunkte in diesem Abschnitt sind einem einzelnen Assistenten untergeordnet. Sie arbeiten immer unter dem Pfad /api/assistants/[assistantId]/telephony.

Kontoebene Telefonie-Endpunkte

Diese Endpunkte verwalten die Telefonie-Anbieterkonfiguration auf Kontoebene. Im Gegensatz zu den übrigen Routen auf dieser Seite sind sie nicht auf einen einzelnen Assistenten beschränkt.

Endpunktübersicht

MethodePfadBeschreibungAuth
GET/api/telephony/accountTelefonie-Anbieterkontokonfiguration abrufenSession-Cookie
POST/api/telephony/accountTelefonie-Anbieterkontokonfiguration erstellenSession-Cookie
PATCH/api/telephony/accountTelefonie-Anbieterkontokonfiguration aktualisierenSession-Cookie
GET/api/telephony/regionsVerfügbare Regionen und Anbieter auflistenÖffentlich
GET/api/telephony/regulatoryRegulatorische Anforderungen abrufenSession-Cookie
POST/api/telephony/regulatoryRegulatorische Compliance-Daten einreichenSession-Cookie

Telefonie-Konto

GET, POST und PATCH /api/telephony/account lesen, erstellen oder aktualisieren die Telefonie-Anbieterkonfiguration eines Kontos. Alle drei Methoden erfordern eine authentifizierte Session-Cookie-Anfrage.

Body-Parameter

body
providerstring
Required

Der Telefonieanbieter, der für das Konto verwendet wird.

body
connectionIdstring
Required

Die Verbindungs-ID des Telefonieanbieters.

body
credentialsobject
Required

Anmeldedaten und anbieterspezifische Zugangsinformationen.

body
settingsobject

Optionale anbieterspezifische Einstellungen.

Antwortfelder

successboolean
Required

Gibt true zurück, wenn die Anfrage erfolgreich verarbeitet wurde.

accountobject
Required

Die Telefonie-Anbieterkontokonfiguration des Kontos.

Telefonie-Regionen

GET /api/telephony/regions listet verfügbare Telefonie-Regionen und Anbieter auf. Dieser Endpunkt ist öffentlich und erfordert keine Authentifizierung.

Abfrageparameter

query
countrystring

Optionaler ISO-Ländercode, nach dem die verfügbaren Regionen und Anbieter gefiltert werden.

query
providerstring

Optionaler Anbietername, nach dem die Ergebnisse gefiltert werden.

Antwortfelder

regionsarray
Required

Verfügbare Telefonie-Regionen.

providersarray
Required

Telefonieanbieter, die für die verfügbaren Regionen unterstützt werden.

Telefonie-Regulatorik

GET und POST /api/telephony/regulatory rufen regulatorische Anforderungen ab oder übermitteln die erforderlichen Compliance-Daten für eine Telefoniekonfiguration. Beide Methoden erfordern eine Session-Cookie-Authentifizierung.

GET-Abfrageparameter

query
countrystring
Required

ISO-Ländercode, für den die regulatorischen Anforderungen abgerufen werden.

query
numberTypestring
Required

Der Typ der Telefonnummer, für den die Anforderungen gelten.

POST-Body-Parameter

body
countrystring
Required

ISO-Ländercode, für den Compliance-Daten eingereicht werden.

body
numberTypestring
Required

Der Typ der Telefonnummer, für den Compliance-Daten eingereicht werden.

body
complianceDataobject
Required

Die regulatorischen Compliance-Daten, die für das angegebene Land und den Telefonnummerntyp erforderlich sind.

Antwortfelder

requirementsobject
Required

Regulatorische Anforderungen für das angegebene Land und den Telefonnummerntyp.

successboolean
Required

Gibt true zurück, wenn die Compliance-Daten erfolgreich eingereicht wurden.

Verwandter Telefonie-Kontext

Die Endpunkte auf dieser Seite decken die assistentenspezifische Telefoniekonfiguration ab. Verwandte Funktionen liegen in benachbarten API-Bereichen, insbesondere bei Telefonnummern und kontoweiten Zuordnungen.