logo
Entwicklung
Suchen
Webhook-Prüfdienst

Webhook-Prüfdienst

Ermöglicht Entwickler:innen die Prüfung der Verfügbarkeit des GPTBots-Webhook-Dienstes sowie die Prüfung der Verfügbarkeit der für den Ziel-Agent konfigurierten Webhook-URL.

Verfügbarkeit der für den Agent konfigurierten Webhook-Dienste prüfen

GPTBots ermöglicht Entwickler:innen, die Verfügbarkeit aller für den Ziel-Agent konfigurierten Webhook-URLs per API zu prüfen, einschließlich der für „Nachricht senden" und „Menschlicher Service – Webhook" konfigurierten Webhook-URLs. Beim Aufruf dieser Schnittstelle prüft GPTBots automatisch alle für den zum aktuellen API Key gehörenden Agent konfigurierten Webhook-URLs, ohne dass ein zusätzliches Prüfziel angegeben werden muss, und gibt das Prüfergebnis für jeden Webhook einzeln in der Antwort zurück.
Die vom Feld istest betroffenen Webhook-Dienste von Entwickler:innen sind die folgenden:

  • Der Anfragekörper, mit dem die Nachricht-senden-API Antwortnachrichten an den Webhook sendet, enthält dieses Feld, Details anzeigen
  • Der Anfragekörper für den Empfang von Benachrichtigungen über Dialoganfragen des menschlichen Service und von Nutzernachrichten enthält dieses Feld, Details anzeigen

Der Webhook-Dienst von Entwickler:innen sollte beim Empfang einer Anfrage das Feld istest im Nachrichtenkörper auswerten: Bei istest=true handelt es sich um eine Verfügbarkeitsprüfanfrage, die nicht als echte Geschäftsnachricht verarbeitet werden sollte (also nicht speichern, keinen menschlichen Service auslösen usw.); die Rückgabe des HTTP-Statuscodes 200 bedeutet, dass dieser Webhook verfügbar ist.

Anfragemethode

POST

Anfrage-URL

https://api-${endpoint}.gptbots.ai/v1/webhook/check

Authentifizierung

Siehe API-Übersicht für die Erläuterungen zur Authentifizierung. Diese Schnittstelle identifiziert den Ziel-Agent über den API Key und prüft die unter diesem Agent konfigurierten Webhooks.

Anfrage

Beispielanfrage

curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/webhook/check' \ -H 'Authorization: Bearer ${API Key}' \ -H 'Content-Type: application/json'
                      
                      curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/webhook/check' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json'

                    
Dieser Codeblock im schwebenden Fenster

Anfrage-Header

Feld Typ Beschreibung
Authorization Bearer ${API Key} Verwenden Sie Authorization: Bearer ${API Key} für die Authentifizierung. Den Schlüssel erhalten Sie auf der API-Key-Seite als API Key.
Content-Type application/json Datentyp, auf application/json setzen.

Anfrageparameter

Diese Schnittstelle erfordert keine Übergabe von Anfrageparametern; GPTBots prüft automatisch alle für den zum aktuellen API Key gehörenden Agent konfigurierten Webhook-URLs.

Antwort

Beispielantwort

{ "results": [ { "type": "message", "component_id": null, "component_name": null, "webhook_url": "https://your_domain/webhook/message", "reachable": true, "http_status": 200, "latency_ms": 156 }, { "type": "human_service", "component_id": "665d88b03ce2b13cf2d57346", "component_name": "人工服务-售前", "webhook_url": "https://your_domain/presale/human/service/conversation/establish", "reachable": true, "http_status": 200, "latency_ms": 188 }, { "type": "human_service", "component_id": "665d88b03ce2b13cf2d57347", "component_name": "人工服务-售后", "webhook_url": "https://your_domain/aftersale/human/service/conversation/establish", "reachable": false, "http_status": 502, "latency_ms": 3000 } ] }
                      
                      {
  "results": [
    {
      "type": "message",
      "component_id": null,
      "component_name": null,
      "webhook_url": "https://your_domain/webhook/message",
      "reachable": true,
      "http_status": 200,
      "latency_ms": 156
    },
    {
      "type": "human_service",
      "component_id": "665d88b03ce2b13cf2d57346",
      "component_name": "人工服务-售前",
      "webhook_url": "https://your_domain/presale/human/service/conversation/establish",
      "reachable": true,
      "http_status": 200,
      "latency_ms": 188
    },
    {
      "type": "human_service",
      "component_id": "665d88b03ce2b13cf2d57347",
      "component_name": "人工服务-售后",
      "webhook_url": "https://your_domain/aftersale/human/service/conversation/establish",
      "reachable": false,
      "http_status": 502,
      "latency_ms": 3000
    }
  ]
}

                    
Dieser Codeblock im schwebenden Fenster

Erfolgsantwort

Feld Typ Beschreibung
results JSON Array Liste der Prüfergebnisse; gibt das Prüfergebnis für jeden für diesen Agent konfigurierten Webhook einzeln zurück. Nicht konfigurierte Webhooks erscheinen nicht in der Liste. Sind für denselben Agent mehrere Komponenten für menschlichen Service (Handoff) konfiguriert, entspricht jede Komponente einem eigenen human_service-Ergebnis.
type string Webhook-Typ. message: Webhook, der Antwortnachrichten des Agents empfängt; human_service: Webhook, der im Webhook-Modus der Komponente für menschlichen Service konfiguriert ist.
component_id string Eindeutige Kennung (ID) der Komponente für menschlichen Service (Handoff); dient zur Unterscheidung von Szenarien mit mehreren konfigurierten Komponenten für menschlichen Service. Beim Typ message ist sie null.
component_name string Name der Komponente für menschlichen Service (Handoff). Beim Typ message ist er null.
webhook_url string Die geprüfte Webhook-URL.
reachable boolean Ob dieser Webhook verfügbar ist. true bedeutet verfügbar, false bedeutet nicht verfügbar.
http_status int Der von der Prüfanfrage zurückgegebene HTTP-Statuscode; bei fehlgeschlagener Verbindung oder Zeitüberschreitung ist er null oder 0.
latency_ms long Dauer der Prüfanfrage (in Millisekunden).

Empfehlung zur Verfügbarkeitsbeurteilung

GPTBots sendet die Prüfanfrage mit istest=true im Standard-Nachrichtenformat an die Webhook-URL und beurteilt die Verfügbarkeit anhand des Rückgabeergebnisses:

Situation Beurteilung
Rückgabe des HTTP-Statuscodes 200 Dieser Webhook ist verfügbar (reachable=true)
Rückgabe ungleich 200 (z. B. 4xx/5xx) / Zeitüberschreitung / Verbindungsfehler Dieser Webhook ist nicht verfügbar (reachable=false)

Fehlerantwort

Feld Typ Beschreibung
code int Fehlercode.
message string Fehlerdetails.

Fehlercodes

Code Message
40000 Parameterfehler
40127 Authentifizierung des Entwicklers fehlgeschlagen
40378 Agent gelöscht
40379

Statusprüfung des GPTBots-Webhook-Dienstes

GPTBots stellt eine Health-Monitoring-Schnittstelle zur Prüfung des Webhook-Dienstes bereit; Entwickler:innen können diese Schnittstelle aufrufen, um zu ermitteln, ob der GPTBots-Webhook-Dienst normal verfügbar ist. Gibt die Schnittstelle den HTTP-Statuscode 200 zurück und enthält der Antwortkörper die englische Kennzeichnung für einen normalen Dienst (z. B. service is normal), bedeutet dies, dass der GPTBots-Webhook-Dienst normal verfügbar ist. Diese Schnittstelle erfordert keine Authentifizierung und gibt Klartext zurück.

Anfragemethode

GET

Anfrage-URL

https://api.gptbots.ai/v1/webhook/service/health

Beispielanfrage

curl -X GET 'https://api.gptbots.ai/v1/webhook/service/health'
                      
                      curl -X GET 'https://api.gptbots.ai/v1/webhook/service/health'

                    
Dieser Codeblock im schwebenden Fenster

Antwort

Ist der GPTBots-Dienst normal verfügbar, wird der HTTP-Statuscode 200 zurückgegeben und der Antwortkörper enthält die englische Kennzeichnung für einen normalen Dienst.

service is normal
                      
                      service is normal

                    
Dieser Codeblock im schwebenden Fenster

Empfehlung zur Verfügbarkeitsbeurteilung

Der Aufrufer muss lediglich den HTTP-Statuscode als Kriterium heranziehen:

Situation Beurteilung
Rückgabe 200 und Antwortkörper service is normal GPTBots-Dienst normal verfügbar
Rückgabe ungleich 200 (z. B. 5xx) / Zeitüberschreitung / Verbindungsfehler GPTBots-Dienst nicht verfügbar

Es wird empfohlen, ein angemessenes Anfrage-Timeout (z. B. 3–5 Sekunden) festzulegen und mit fester Frequenz abzufragen (QPM:3); diese Schnittstelle ist authentifizierungsfrei, beim Aufruf muss kein API Key mitgeführt werden.