Manueller Support
Wenn Entwickler:innen Webhook als Zugriffsmethode für den manuellen Support wählen, müssen sie zunächst einen Webhook-Service in ihrer Serverumgebung einrichten. Entwickler:innen müssen gemäß den Vorgaben die folgenden drei Schnittstellen bereitstellen, um Anfragen für den manuellen Support, Nutzernachrichten und Antworten des manuellen Kundendienstes zu empfangen. GPTBots stellt zudem zwei Schnittstellen zur Verfügung, um Antworten des Kundendienstes und Anweisungen zum Schließen von Konversationen zu empfangen.
Wichtige Hinweise:
- Entwickler:innen müssen sicherstellen, dass ihr Webhook-Service ordnungsgemäß funktioniert, da dies den Betrieb des menschlichen Supports direkt beeinflusst.
- Wird nach dem Start des menschlichen Supports als „Beschäftigt“ angezeigt, bedeutet dies, dass der Webhook-Service der Entwickler:innen nicht funktioniert.
- Wird nach dem Start des menschlichen Supports als „Verbinden“ angezeigt, funktioniert der Webhook-Service der Entwickler:innen ordnungsgemäß.
- Nach erfolgreicher Initiierung einer Anfrage für den menschlichen Support:
- Entwickler:innen müssen die Schnittstelle Antwort auf Benutzernachricht (https://api.gptbots.ai/v1/human/message/receive) aufrufen, um dem:der Nutzer:in mindestens eine Nachricht zu senden und so die Gesprächsverbindung herzustellen.
- Erfolgt innerhalb der konfigurierten Wartezeit (Standard: 60 Sekunden) keine Antwort auf die Benutzernachricht, wird die menschliche Support-Konversation automatisch beendet.
Benachrichtigung über Anfrage für menschlichen Support empfangen
Wenn ein:e Endnutzer:in eine Anfrage für den menschlichen Support stellt, leitet GPTBots diese Anfrage an den Webhook-Service der Entwickler:innen weiter. Ein Response-Statuscode 200 des Interface-Services der Entwickler:innen signalisiert die erfolgreiche Erstellung der menschlichen Support-Konversation.
Anfrage-Methode
POST
Endpoint
https://your_domain/conversation/establish
Beispielanfrage
curl -X POST 'https://YOUR_DOMAIN/human/service/conversation/establish' \
-H 'Content-Type: application/json' \
-d '{
"body": [
{
"text": "human service",
"message_type": "QUESTION"
},
{
"text": "",
"message_type": "ANSWER"
}
],
"timestamp": 1742265090895,
"email": "bob@gmail.com",
"conversation_id": "67d8db020fa31d1ef64f53dg",
"bot_id": "665d88b03ce2b13cf2d573454",
"user_info": {
"phone": null,
"email": "bob@gmail.com",
"user_id": "KDslas",
"anonymous_id": "652face5184b30540a6ea7fe"
}
}'
Hinweis: Die
conversation_idin diesem Request-Body dient ausschließlich zur eindeutigen Identifikation von Konversationen im manuellen Support und unterscheidet sich von der eindeutigen ID, die für Agentenkonversationen durch Konversations-ID erstellen generiert wird.
Anfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| conversation_id | string | Konversations-ID für manuelle Kundendienst-Szenarien (unterscheidet sich von Agentenkonversations-IDs), muss in der Antwortschnittstelle an GPTBots übergeben werden |
| timestamp | long | Zeitstempel |
| string | E-Mail-Adresse des:der Nutzer:in, einige manuelle Supportsysteme benötigen eine E-Mail-Adresse zur korrekten Bereitstellung des Services | |
| bot_id | string | Agenten-ID (früher Bot-ID) |
| body | list<Object> | Nachrichteninhalt |
| body.message_type | string | Nachrichtentyp, QUESTION/ANSWER |
| body.text | string | Die vom:von der Nutzer:in initiierte Frage für den manuellen Kundendienst und deren Kontext |
| user_info | object | Nutzer:inneninformationen |
| user_info.phone | string | Telefonnummer des:der Nutzer:in, derzeit nur verfügbar beim Wechsel zum manuellen Support via WhatsApp |
| user_info.email | string | E-Mail-Adresse des:der Nutzer:in, verfügbar, wenn die E-Mail-Adresse vom:von der Nutzer:in eingegeben wurde |
| user_info.user_id | string | Nutzer:innen-ID. Eine von Unternehmensentwickler:innen definierte eindeutige Kennung, die für eine bestimmte anonyme ID gesetzt wird |
| user_info.anonymous_id | string | Anonyme ID. Wenn ein:e Nutzer:in auf nicht-API-Kanalplattformen eine Konversation mit dem Agenten startet, generiert das System eine anonyme ID mit Kanalplattform-Informationen basierend auf der Plattform des:der Nutzer:in |
Hinweise zum Feld
- Bei der Initiierung des manuellen Supports über iframe/Share/Bubble Widget muss der:die Nutzer:in seine:ihre E-Mail-Adresse angeben. Entwickler:innen können die Nutzer:innen-E-Mail-Adresse auch anpassen, um die Eingabe zu umgehen.
- Bei Anfragen über Drittanbieter-Plattformen wie WhatsApp/Telegram/Livechat wird standardmäßig support@gptbots.ai als E-Mail-Adresse verwendet. Für Livechat können Entwickler:innen die Nutzer:innen-E-Mail-Adresse anpassen.
- Bei Anfragen über die API kann das Feld
Antwort
| Parameter | Typ | Beschreibung |
|---|---|---|
| code | int | Antwortcode |
| message | string | Details |
Chat-Schnittstelle
Mit der erstellten conversation_id kann die Nachricht des:der Nutzer:in an den manuellen Kundendienst gesendet werden.
Anfrage-Methode
POST
Endpoint
Anfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| conversation_id | string | Konversations-ID, muss in der Antwortschnittstelle an GPTBots übergeben werden |
| timestamp | long | Zeitstempel |
| body | string | Nachricht des:der Nutzer:in |
Antwort
| Parameter | Typ | Beschreibung |
|---|---|---|
| code | int | Antwortcode |
| message | string | Details |
Schnittstelle zum Schließen der Konversation
Wenn eine Nutzer:innen-Konversation abläuft oder der:die Agent-Nutzer:in die Konversation aktiv beendet, wird diese Schnittstelle aufgerufen, um die Konversation zu schließen.
Anfrage-Methode
POST
Endpoint
https://your_domain/conversation/close
Anfrage-Header
| Feld | Typ | Beschreibung |
|---|---|---|
| Authorization | Bearer ${token} | Verwenden Sie Authorization: Bearer ${token} zur Authentifizierung. Der Token ist auf der API-Key-Seite verfügbar. |
| Content-Type | application/json | Datentyp, auf application/json setzen. |
Anfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| conversation_id | string | Konversations-ID, muss in der Antwortschnittstelle an GPTBots übergeben werden |
| timestamp | long | Zeitstempel |
| type | string | Schließungsart, TIMEOUT (zeitgesteuerte Schließung) / USER_CLOSED (vom:von der Nutzer:in aktiv geschlossen) |
Antwort
| Parameter | Typ | Beschreibung |
|---|---|---|
| code | int | Antwortcode |
| message | string | Details |
Antwort auf Benutzernachrichten
Wenn Entwickler:innen Webhook als Integrationsmethode für den menschlichen Support wählen, stellt GPTBots eine Schnittstelle zur Verfügung, um auf Benutzernachrichten zu antworten. Über diese Schnittstelle können menschliche Kundendienstmitarbeiter:innen Nachrichteninhalte an Nutzer:innen zurücksenden.
Anfrage-Methode
POST
Endpoint
https://api-${endpoint}.gptbots.ai/v1/human/message/receive
Anfrage-Header
| Feld | Typ | Beschreibung |
|---|---|---|
| Authorization | Bearer ${token} | Verwenden Sie Authorization: Bearer ${token} zur Authentifizierung. Der Token ist auf der API-Key-Seite verfügbar. |
| Content-Type | application/json | Datentyp, auf application/json setzen. |
Anfrageparameter
| Parameter | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
| conversation_id | string | Konversations-ID, wie in der Konversationserstellung und Chat-Schnittstelle übergeben | true |
| timestamp | long | Zeitstempel | true |
| body | string | Antwortinhalt des manuellen Kundendienstes | true |
Antwort
| Parameter | Typ | Beschreibung |
|---|---|---|
| code | int | Antwortcode |
| message | string | Details |
Manueller Support schließt Konversation
Wenn Entwickler:innen Webhook als Zugriffsmethode für den manuellen Support wählen, kann der von GPTBots bereitgestellte manuelle Kundendienst die Konversation bei Bedarf aktiv schließen. Nach dem Schließen erhält der:die Nutzer:in keine weiteren Nachrichten vom Kundendienst, es sei denn, er:sie startet erneut eine manuelle Support-Konversation.
Anfrage-Methode
POST
Endpoint
https://api-${endpoint}.gptbots.ai/v1/human/close
Anfrage-Header
| Feld | Typ | Beschreibung |
|---|---|---|
| Authorization | Bearer ${API Key} | Verwenden Sie Authorization: Bearer ${API Key} zur Authentifizierung. Der API Key ist auf der API-Key-Seite verfügbar. |
| Content-Type | application/json | Datentyp, auf application/json setzen. |
Anfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
| conversation_id | string | Konversations-ID, muss in der Antwortschnittstelle an GPTBots übergeben werden |
| timestamp | long | Zeitstempel |
Antwort
| Parameter | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
| conversation_id | string | Konversations-ID, wie in der Konversationserstellung und Chat-Schnittstelle übergeben | true |
| timestamp | long | Zeitstempel | true |
