Server Setup
Vollständige API-Referenz für die Chat-Server-Endpunkte, die für den Betrieb der Evolo Chatbot-Komponente erforderlich sind.
Um Ihnen den Einstieg in die Integration von Evolos APIs in Ihren Tech Stack zu erleichtern, kontaktieren Sie uns unter sprechen Sie mit uns.
Der Evolo Chat-Server bietet drei Haupt-API-Endpunkte, die zusammenarbeiten, um KI-gestützte Unterhaltungen mit Wissensbasis-Integration zu ermöglichen. Diese Anleitung bietet einen detaillierten Überblick über jeden Endpunkt und deren Implementierung.
API-Überblick
Der Chat-Server besteht aus drei Kern-Endpunkten:
- Session-Endpunkt (
POST /chat/session) - Initialisiert Chat-Sessions und verwaltet Authentifizierung - Zustimmungs-Endpunkt (
PUT /chat/session/consent) - Verwaltet DSGVO-Tracking-Zustimmung - Chat-Endpunkt (
POST /chat) - Verarbeitet KI-Unterhaltungen mit Wissensbasis-Kontext
Alle Endpunkte verwenden JWT-basierte Authentifizierung über Bearer-Token oder sichere Session-Cookies für die Autorisierung.
Session-Management-Endpunkt
POST /chat/session
Initialisiert eine neue Chat-Session oder ruft eine bestehende Session mit Tracking-Zustimmungsstatus ab.
Anfrage:
- Methode:
POST - URL:
/chat/session - Headers:
Content-Type: application/json - Authentifizierung: Optional (erstellt neue Session, falls keine existiert)
Antwort:
{
"id": "session_123abc",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"expiresAt": "2024-01-16T10:30:00.000Z",
"trackingConsent": "PENDING" | "GRANTED" | "DENIED"
}Antwort-Felder:
id: Eindeutige Session-KennungcreatedAt: Session-ErstellungszeitstempelupdatedAt: Zeitstempel der letzten Session-AktualisierungexpiresAt: Session-AblaufzeitstempeltrackingConsent: Aktueller DSGVO-ZustimmungsstatusPENDING: Benutzer hat noch keine Wahl getroffenGRANTED: Benutzer hat Tracking-Cookies akzeptiertDENIED: Benutzer hat Tracking-Cookies abgelehnt
Implementierungshinweise:
- Erstellt automatisch eine neue Session mit Standard-Chat-Anmeldedaten, falls keine existiert
- Gibt neue Session-Cookies in den Antwort-Headern zurück
- Sessions laufen standardmäßig nach 24 Stunden ab
Zustimmungs-Management-Endpunkt
PUT /chat/session/consent
Aktualisiert die Tracking-Zustimmungseinstellung des Benutzers für DSGVO-Konformität.
Anfrage:
- Methode:
PUT - URL:
/chat/session/consent - Headers:
Content-Type: application/json - Authentifizierung: Erforderlich (Session-Token)
- Body:
{
"trackingConsent": "GRANTED" | "DENIED"
}Antwort:
{
"id": "session_123abc",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:35:00.000Z",
"expiresAt": "2024-01-16T10:30:00.000Z",
"trackingConsent": "GRANTED"
}Fehlerantworten:
400 Bad Request: Fehlende oder ungültige Tracking-Zustimmungswert401 Unauthorized: Ungültige oder abgelaufene Session500 Internal Server Error: Fehler beim Aktualisieren der Zustimmung
KI-Chat-Verarbeitungsendpunkt
POST /chat
Verarbeitet KI-Unterhaltungen mit automatischer Wissensbasis-Kontexteinbettung und Streaming-Antworten.
Anfrage:
- Methode:
POST - URL:
/chat - Headers:
Content-Type: application/json - Authentifizierung: Erforderlich (Bearer-Token oder Session-Cookie)
- Berechtigungen: Benötigt
chat:send-Berechtigung - Body:
{
"messages": [
{
"role": "user",
"parts": [
{
"type": "text",
"text": "How do I configure the chatbot?"
}
]
}
]
}Anfrage-Schema:
messages: Array von Unterhaltungsnachrichtenrole: Entweder"user"oder"assistant"parts: Array von Nachrichtenteilen (unterstützt derzeit nur Text)type: Nachrichtenteil-Typ ("text")text: Der Nachrichteninhalt
Antwort:
- Content-Type:
text/event-stream - Format: Server-Sent Events (SSE) streaming
- Encoding: UTF-8 text chunks
Antwort-Headers:
Content-Type: text/event-streamCache-Control: no-cacheConnection: keep-alive
Verarbeitungsablauf:
Nachrichtenvalidierung
Validiert das eingehende Nachrichtenformat und stellt sicher, dass das Nachrichten-Array nicht leer ist.
Wissensbasis-Suche
Extrahiert die letzte Benutzernachricht und führt eine semantische Ähnlichkeitssuche in der Wissensbasis durch, um die 3 relevantesten Dokumente zu finden.
Kontexteinbettung
Bettet automatisch relevanten Wissensbasis-Kontext in die Benutzernachricht unter Verwendung dieser Vorlage ein:
<user-message>
{original_user_message}
</user-message>
<knowledgebase-context>
{relevant_knowledge_base_content}
</knowledgebase-context>KI-Verarbeitung
Sendet die kontexterweiterte Nachricht an das konfigurierte KI-Modell mit dem System-Prompt und streamt die Antwort zurück an den Client.
Fehlerantworten:
400 Bad Request: Ungültiges Nachrichtenformat oder leeres Nachrichten-Array401 Unauthorized: Fehlende oder ungültige Authentifizierung403 Forbidden: Unzureichende Berechtigungen (fehltchat:send)500 Internal Server Error: KI-Verarbeitungs- oder Streaming-Fehler