Autopilot

API-Referenz für den FlowCaptain-Autopilot-Endpunkt: komplette Gesprächsführung über einen einzigen Endpunkt.

Autopilot

Der Autopilot-Endpunkt übernimmt die komplette Gesprächsführung. Ihr Voice Bot leitet nur die Nachrichten weiter und spricht die Antworten aus — FlowCaptain kümmert sich um Begrüßung, Terminsuche, Buchung, Stornierung, Umbuchung und Verabschiedung.

Endpunkt

POST /api/v1/autopilot

Anfrage

{
  "message": "Ich hätte gerne einen Termin nächste Woche",
  "sessionId": null,
  "callerIdNumber": "+491761234567",
  "language": "de"
}
FeldTypPflichtBeschreibung
messagestringJaWas der Anrufer gesagt hat.
sessionIdstringNeinSession-ID aus der vorherigen Antwort. Leer lassen oder null für ein neues Gespräch.
callerIdNumberstringNeinTelefonnummer des Anrufers (aus der Telefonie, nicht vom Anrufer gesprochen).
languagestringNeinSprachhinweis: "de" oder "en". Standard: "de".

Antwort

{
  "sessionId": "550e8400-e29b-41d4-a716-446655440000",
  "speak": "Nächste Woche Mittwoch um 14:00 Uhr hätte ich etwas frei. Passt Ihnen das?",
  "phase": "booking",
  "step": "confirm_time",
  "done": false
}
FeldTypBeschreibung
sessionIdstringSession-ID — bei jedem Folge-Aufruf zurückgeben.
speakstringText, den der Voice Bot wörtlich aussprechen soll.
phasestringAktuelle Gesprächsphase (z.B. greeting, booking, cancelling, farewell).
stepstringAktueller Schritt innerhalb der Phase.
donebooleantrue wenn das Gespräch beendet ist — Voice Bot sollte auflegen.

Gesprächsverlauf

Ein typisches Gespräch besteht aus mehreren Nachrichten-Paaren:

  1. Neues Gespräch — Senden Sie message ohne sessionId. FlowCaptain antwortet mit einer Begrüßung und einer sessionId.
  2. Folge-Nachrichten — Senden Sie jede weitere Nachricht mit der erhaltenen sessionId. FlowCaptain behält den Kontext bei.
  3. Gesprächsende — Wenn done: true zurückkommt, ist das Gespräch abgeschlossen.

Sessions laufen nach einer Phase der Inaktivität automatisch ab. Wenn eine abgelaufene sessionId gesendet wird, startet FlowCaptain ein neues Gespräch.

Warm Handoff

Wenn Ihr Voice Bot vor der Übergabe an FlowCaptain bereits Informationen gesammelt hat (z.B. Name, gewünschter Tag), können Sie diese als initialData mitgeben:

{
  "message": "Hallo",
  "initialData": {
    "intent": "appointment_booking",
    "customerName": "Max Mustermann",
    "phoneNumber": "+491761234567",
    "serviceNames": ["Erstberatung"],
    "preferredDay": "nächsten Mittwoch",
    "preferredTimeOfDay": "vormittags"
  }
}
FeldTypBeschreibung
initialData.intentstringAktuell nur "appointment_booking".
initialData.customerNamestringBereits bekannter Name des Anrufers.
initialData.phoneNumberstringBereits bekannte Telefonnummer.
initialData.serviceNamesstring[]Gewünschte Dienstleistungen.
initialData.preferredDaystringGewünschter Tag in natürlicher Sprache.
initialData.preferredTimeOfDaystringGewünschte Tageszeit (z.B. "vormittags", "nachmittags").

Bei einem Warm Handoff überspringt FlowCaptain die bereits geklärten Schritte und startet direkt im Buchungsfluss.

Fehler

StatusBeschreibung
400message fehlt oder ist leer.
401API-Schlüssel fehlt oder ist ungültig.
403Session gehört zu einem anderen Kalender.

Wichtig für Voice-Bot-Plattformen

  • Wörtlich aussprechen: Geben Sie den Inhalt von speak exakt wieder — keine Ergänzungen oder Umformulierungen.
  • done beachten: Bei done: true das Gespräch beenden.
  • sessionId persistieren: Speichern und bei jedem Folge-Aufruf zurückgeben.
  • Keine eigenen Antworten: Versuchen Sie nicht, Fragen selbst zu beantworten — leiten Sie alles an den Autopilot weiter.