In diesem Leitfaden erfahren Sie, wie Sie mit der Apps API eine serverseitige Chat-Integration erstellen. Am Ende kann Ihre Integration Folgendes:
Authentifizieren Sie sich bei der Apps API.
Endnutzer erstellen oder aktualisieren
Starten Sie einen Chat für diesen Endnutzer.
Webhook-Ereignisse von der Contact Center AI Platform empfangen und prüfen.
Nachrichten im Chat senden
Optionale Verzweigungen wie den Import von Transkripten vor dem Chat, die Auswahl von Warteschlangen für das Routing durch virtuelle Agenten, die Weiterleitung von Eskalationen und Medienanhänge verarbeiten.
Beende den Chat, wenn die Unterhaltung abgeschlossen ist.
Dieser Leitfaden richtet sich an Entwickler, die einen Backend-Dienst erstellen, der eine kundeneigene Chatfunktion mit der CCAI Platform verbindet. Es wird davon ausgegangen, dass Sie API-Anmeldedaten in der CCAI Platform erstellen, einen HTTPS-Webhook-Endpunkt hosten, Secrets sicher speichern und HTTP-Anfragen von Ihrem Server senden können.
Dieser Leitfaden ergänzt die Chat-Endpunkte der Apps API. In der API-Referenz finden Sie das vollständige Anfrage- und Antwortschema. In diesem Leitfaden wird der empfohlene End-to-End-Implementierungsablauf beschrieben.
Terminologie
Für dieses Dokument gelten die folgenden Definitionen:
Kunde: Der CCAI Platform-Kunde, der die Chatintegration in seiner eigenen Software implementiert.
Consumer: Die kundeneigene serverseitige Anwendung, die Anfragen an die Apps API sendet und Webhook-Ereignisse der CCAI Platform empfängt.
Endnutzer: Die Person, die die Software des Kunden verwendet, um einen Chat mit einem Kundenservicemitarbeiter oder virtuellen Kundenservicemitarbeiter zu starten oder fortzusetzen.
Chat: Die CCAI Platform-Unterhaltungsressource, die von der Apps API erstellt wird.
Webhook-Endpunkt: Der HTTPS-Endpunkt in der Nutzeranwendung, der Chatereignisse von der CCAI Platform empfängt.
Hinweis
Bevor Sie beginnen, benötigen Sie Folgendes:
Anmeldedaten für die Apps API
Erstellen Sie API-Anmeldedaten in der CCAI Platform unter Einstellungen > Entwicklereinstellungen > API-Anmeldedaten.
Speichern Sie das Secret für die Anmeldedaten sicher. Geben Sie ihn nicht im Browser- oder mobilen Clientcode preis.
Details zur Mandanten-URL
Ermitteln Sie die Subdomain und Domain Ihrer CCAI Platform.
Die Basis-URL der Apps API lautet:
https://YOUR_SUBDOMAIN.YOUR_DOMAIN/apps/api/v1
Webhook-Endpunkt
Hosten Sie einen öffentlichen HTTPS-Endpunkt, der POST-Anfragen von der CCAI Platform empfangen kann.
Konfigurieren Sie den Endpunkt in den CCAI Platform-Entwicklereinstellungen.
Generieren und speichern Sie die primären und sekundären Secrets des Webhooks.
Warteschlangen- oder Menükonfiguration
Geben Sie die Warteschlange oder das Menü an, in die neue Chats aufgenommen werden.
Wenn Sie einen virtuellen Agenten für die Warteschlangenauswahl verwenden, konfigurieren Sie diesen virtuellen Agenten und weisen Sie ihn der Eingangs-Warteschlange zu, bevor Sie Chats über die API erstellen.
Endnutzeridentität
Legen Sie fest, welche stabile Kennung Ihr System für jeden Endnutzer verwenden soll.
Speichern Sie die von der Apps API zurückgegebene CCAI Platform-Endnutzer-ID.
Umgang mit Ratenbegrenzungen
- Die CCAI Platform begrenzt die Rate der Apps API. Integrieren Sie Wiederholungsversuche und Backoff in Ihre Integration und vermeiden Sie es, Anfragen für einen einzelnen Mandanten in großen Mengen zu senden.
Authentifizierung und Webhook-Sicherheit
Ihre Integration verwendet zwei Authentifizierungspfade:
Apps API-Authentifizierung für Anfragen von Ihrem Server an die CCAI Platform.
Webhook-Signaturprüfung für Anfragen von der CCAI Platform an Ihren Server.
Apps API-Anfragen authentifizieren
Anfragen verwenden die HTTP-Basisauthentifizierung. Erstellen Sie in der CCAI Platform unter Einstellungen > Entwicklereinstellungen > API-Anmeldedaten ein API-Token und übergeben Sie es im Feld Passwort (empfohlen). Wenn Ihr Mandant den alten Authentifizierungspfad verwendet, können Sie stattdessen Ihren Unternehmensschlüssel als Nutzernamen und Ihr Unternehmens-Secret als Passwort übergeben. Die vollständige Einrichtung der Authentifizierung finden Sie in der Apps API-Referenz. Im folgenden Beispiel wird gezeigt, wie Sie eine Apps API-Anfrage mit der einfachen Authentifizierung authentifizieren:
curl -X GET \
https://YOUR_SUBDOMAIN.YOUR_DOMAIN/apps/api/v1/chats/{chat_id} \
-u "YOUR_SUBDOMAIN:YOUR_API_TOKEN" \
-H "Accept: application/json"
Speichern Sie Anmeldedaten in einem serverseitigen Secret Store, rotieren Sie sie gemäß Ihrer Sicherheitsrichtlinie und geben Sie sie niemals in Browser- oder mobilen Apps weiter.
Webhook-Anfragen prüfen
Die CCAI Platform sendet Chatereignisse an Ihren Webhook-Endpunkt. Jede Webhook-Anfrage enthält:
X-SignatureX-Signature-Timestamp
Der X-Signature-Header kann eine primäre Signatur, eine sekundäre Signatur oder beides enthalten:
primary=<primary_signature> secondary=<secondary_signature>
Jede Signatur ist ein Base64-codierter HMAC-SHA256-Digest. Der signierte Wert ist der Zeitstempel-Header, der mit dem JSON-Rohanfragetext verkettet ist:
X-Signature-Timestamp + raw_request_body
In Ihrem Webhook-Handler:
Lesen Sie
X-SignatureundX-Signature-Timestamp.Anfrage ablehnen, wenn einer der Header fehlt.
Veraltete Zeitstempel ablehnen, um das Risiko von Wiederholungsangriffen zu verringern.
Lesen Sie den Rohanfragetext, bevor Sie JSON parsen.
Berechnen Sie die erwartete Signatur mit jedem aktiven Webhook-Secret.
Vergleichen Sie die empfangene Signatur und die erwartete Signatur mit einem Vergleich mit konstanter Zeit.
Anfrage akzeptieren, wenn ein aktives Secret übereinstimmt.
Die folgende Ruby-Beispielimplementierung zeigt, wie UJET-Webhook-Signaturen überprüft werden:
require "base64"
require "openssl"
require "active_support/security_utils"
def parse_ujet_signature(header)
header.to_s.split(/\s+/).each_with_object({}) do |part, result|
key, value = part.split("=", 2)
result[key] = value if key && value
end
end
def expected_signature(secret, timestamp, raw_body)
Base64.strict_encode64(
OpenSSL::HMAC.digest(
OpenSSL::Digest.new("sha256"),
secret,
"#{timestamp}#{raw_body}"
)
)
end
def secure_match?(received, expected)
return false if received.nil? || expected.nil?
return false unless received.bytesize == expected.bytesize
ActiveSupport::SecurityUtils.secure_compare(received, expected)
end
def verify_ujet_webhook!(request, primary_secret:, secondary_secret:)
signature_header = request.headers["X-Signature"]
timestamp = request.headers["X-Signature-Timestamp"]
return false if signature_header.nil? || timestamp.nil?
# Optional but recommended: reject stale requests.
return false if (Time.now.utc - Time.at(timestamp.to_i).utc).abs > 5.minutes
raw_body = request.body.read
signatures = parse_ujet_signature(signature_header)
expected = [
expected_signature(primary_secret, timestamp, raw_body),
expected_signature(secondary_secret, timestamp, raw_body)
].compact
received = [
signatures["primary"],
signatures["secondary"]
].compact
received.any? do |received_signature|
expected.any? do |expected_signature_value|
secure_match?(received_signature, expected_signature_value)
end
end
end
Wenn die Bestätigung erfolgreich ist, geben Sie schnell eine Erfolgsantwort zurück und verarbeiten Sie das Ereignis idempotent. Webhook-Zustellungen und API-Antworten können in unterschiedlicher Reihenfolge eingehen. Erstellen Sie Ihre Integration daher so, dass dieselbe Statusänderung mehrmals empfangen werden kann, ohne dass doppelte Datensätze erstellt werden.
Integrationsablauf
Im folgenden Ablauf wird ein Endnutzer erstellt, ein Chat gestartet, CCAI Platform-Ereignisse empfangen, Nachrichten ausgetauscht und der Chat beendet.
Endnutzer erstellen oder aktualisieren
Ziel: Sorgen Sie dafür, dass die CCAI Platform einen Endnutzereintrag hat, bevor Sie den Chat erstellen.
Endpunkt
Verwenden Sie den folgenden Endpunkt, um einen Endnutzer zu erstellen oder zu aktualisieren:
POST /apps/api/v1/end_users
Beispielanfrage
Das folgende Beispiel zeigt einen Anfragetext zum Erstellen oder Aktualisieren eines Endnutzers:
{
"identifier": "customer-user-12345",
"email": "customer.user@example.com",
"name": "Customer User",
"phone": "+15551234567"
}
Was du aufbewahren solltest
Speichern Sie die CCAI Platform-Endnutzer-ID aus der Antwort in Ihrem System. Verwenden Sie diese ID, wenn Sie einen Chat erstellen.
Was ändert sich durch die Umstellung?
Wenn der Endnutzer nicht vorhanden ist, erstellt die CCAI Platform einen neuen Datensatz.
Wenn bereits ein Endnutzer mit derselben Kennung vorhanden ist, aktualisiert die CCAI Platform den Eintrag und gibt die Informationen des vorhandenen Endnutzers zurück.
Chat erstellen
Ziel: Einen neuen CCAI Platform-Chat für den Endnutzer starten.
Endpunkt
Verwenden Sie den folgenden Endpunkt, um einen neuen Chat zu starten:
POST /apps/api/v1/chats
Beispielanfrage
Das folgende Beispiel zeigt einen Anfragetext zum Erstellen eines Chats:
{
"chat": {
"menu_id": 123,
"end_user_id": 456,
"lang": "en"
}
}
Optionaler Kontext für das Routing virtueller Kundenservicemitarbeiter
Wenn Ihr virtueller Agent für die Warteschlangenauswahl Kontext aus Ihrer Anwendung benötigt, fügen Sie beim Erstellen des Chats eine Kontextnutzlast ein, wie im folgenden Beispiel gezeigt:
{
"chat": {
"menu_id": 123,
"end_user_id": 456,
"lang": "en",
"context": {
"value": {
"customer_tier": "gold",
"issue_type": "billing"
}
}
}
}
Ein virtueller Agent kann Werte aus diesem Kontext verwenden, um zu entscheiden, welche Warteschlange den Chat erhält.
Was ändert sich durch die Umstellung?
Die Apps API gibt die Chat-Ressource zurück.
Die CCAI Platform sendet ein
chat_created-Webhook-Ereignis an den konfigurierten Webhook-Endpunkt.Die API-Antwort und das Webhook-Ereignis können in beliebiger Reihenfolge eintreffen. Behandeln Sie beide als Aktualisierungen desselben Chat-Eintrags, der durch die Chat-ID identifiziert wird.
Chat-Webhook-Ereignisse verarbeiten
Ziel: Die Nutzeranwendung mit dem Chatstatus der CCAI Platform synchronisieren.
Ihr Webhook-Endpunkt verarbeitet Chat-Lebenszyklus- und Nachrichtenereignisse von der CCAI Platform. Speichern Sie mindestens:
Chat-ID.
Ereignistyp.
Zeitstempel des Ereignisses.
Absender, Typ und Inhalt der Nachricht, wenn das Ereignis eine Nachricht enthält.
Alle Eskalations- oder Ablenkungsdaten, wenn das Ereignis ein Routingverhalten beschreibt.
Empfohlenes Verhalten
Prüfen Sie jede Webhook-Signatur, bevor Sie das Ereignis verarbeiten.
Speichern Sie verarbeitete Ereignis-IDs oder einen deterministischen Ereignisschlüssel, damit bei Wiederholungen keine Duplikate erstellt werden.
Geben Sie nach dem Akzeptieren des Ereignisses eine 2xx-Antwort zurück.
Verarbeiten Sie nachgelagerte Nebeneffekte nach Möglichkeit asynchron.
Was ändert sich durch die Umstellung?
Ihre Anwendung aktualisiert den Chatstatus, wenn die CCAI Platform Ereignisse wie die Erstellung von Chats, eingehende Nachrichten, Agentennachrichten, Eskalationsänderungen und den Abschluss von Chats sendet.
SMS senden
Ziel: Eine Endnutzernachricht von der Verbraucheranwendung an den CCAI Platform-Chat senden.
Endpunkt
Verwenden Sie den folgenden Endpunkt, um eine Textnachricht in den Chat zu senden:
POST /apps/api/v1/chats/{chat_id}/message
Beispielanfrage
Das folgende Beispiel zeigt einen Anfragetext zum Senden einer Nachricht:
{
"from_user_id": 456,
"message": {
"type": "text",
"content": "Hello, I need help with my order."
}
}
Was ändert sich durch die Umstellung?
Die CCAI Platform akzeptiert die Nachricht.
Die Nachricht wird in der Unterhaltung mit dem KI-Agenten oder virtuellen Agenten angezeigt.
Ihr Webhook-Endpunkt empfängt ein Nachrichtenereignis für die Nachricht, einschließlich Nachrichten, die Ihre eigene Anwendung über die Apps API gesendet hat.
Nachrichten von der CCAI Platform empfangen und anzeigen
Ziel: Nachrichten von Kundenservicemitarbeitern oder virtuellen Kundenservicemitarbeitern im Chat des Kunden anzeigen.
Wenn Ihr Webhook-Endpunkt ein Nachrichtenereignis empfängt:
Prüfen Sie die Webhook-Signatur.
Prüfen Sie, ob das Ereignis neu ist.
Identifizieren Sie den Chat anhand der Chat-ID.
Absender und Nachrichtentyp identifizieren
Rendern Sie die Nachricht in der kundeneigenen Chat-UI.
Behalten Sie das Ereignis bei, damit der Unterhaltungsverlauf bei Aktualisierungen oder Wiederholungen nicht verloren geht.
Was ändert sich durch die Umstellung?
Die kundeneigene Chat-UI zeigt Nachrichten, die von Kundenservicemitarbeitern, virtuellen Kundenservicemitarbeitern und dem Endnutzer gesendet wurden, in der richtigen Reihenfolge an. Wenn Ereignisse nicht in der richtigen Reihenfolge eingehen, verwenden Sie Ereigniszeitstempel und Ihre eigene Persistenzebene, um die Anzeigereihenfolge abzugleichen.
Von einem virtuellen Kundenservicemitarbeiter zu einem menschlichen Kundenservicemitarbeiter eskalieren
Ziel: Den Chat von der Bearbeitung durch einen virtuellen Agenten in eine menschliche Warteschlange verschieben, wenn der Endnutzer Hilfe von einem Kundenservicemitarbeiter benötigt.
Wenn Ihre Integration einen virtuellen Agenten für die Warteschlangenauswahl verwendet, konfigurieren Sie den virtuellen Agenten so, dass Chats an die Zielwarteschlange weitergeleitet werden. Wenn Ihr Server die Eskalation direkt initiiert, verwenden Sie den Eskalationsendpunkt der Apps API.
Endpunkt
Verwenden Sie den folgenden Endpunkt, um einen Chat von einem virtuellen Kundenservicemitarbeiter an einen menschlichen Kundenservicemitarbeiter zu eskalieren:
POST /apps/api/v1/chats/{chat_id}/escalations
Beispielanfrage
Das folgende Beispiel zeigt einen Anfragetext für die Eskalation eines Chats:
{
"reason": "by_end_user_ask",
"force_escalate": false
}
Was ändert sich durch die Umstellung?
Wenn die Zielwarteschlange verfügbar ist, wird der Chat an einen Kundenservicemitarbeiter weitergeleitet.
Wenn die Warteschlange den Chat nicht annehmen kann und Alternativen für die Weiterleitung konfiguriert sind, behält die CCAI-Plattform den Chat mit dem virtuellen Agenten bei und sendet ein
escalation_deflected-Webhook-Ereignis mit den für den Endnutzer verfügbaren Alternativen. Die Alternativen werden nie in der Eskalationsantwort angezeigt.Ihre Integration rendert die verfügbaren Ablenkungsoptionen für den Endnutzer.
Auswahl zur Eskalationsvermeidung aufzeichnen
Ziel: CCAI Platform mitteilen, welche Ablenkungsoption der Endnutzer ausgewählt hat.
Wenn die CCAI-Plattform Optionen zur Eskalationsabwehr bietet, zeichnen Sie die Auswahl des Endnutzers mit dem Endpunkt für die Eskalationsaktualisierung auf.
Endpunkt
Verwenden Sie den folgenden Endpunkt, um einen Eskalationseintrag mit einer Auswahl für die Ablenkung zu aktualisieren:
PATCH /apps/api/v1/chats/{chat_id}/escalations/{escalation_id}
Unterstützte deflection_channel-Werte:
email: Der Endnutzer wählt die Option zur E-Mail-Umleitung aus.virtual_agent: Der Endnutzer entscheidet sich, mit einem virtuellen Agenten fortzufahren.human_agent: Der Endnutzer möchte weiter auf einen menschlichen Kundenservicemitarbeiter warten. Dieser Wert gilt nur für Umleitungen aufgrund von Überkapazität.
Beispielanfrage
Das folgende Beispiel zeigt einen Anfragetext zum Aufzeichnen einer Auswahl für die Ablenkung:
{
"deflection_channel": "email"
}
Senden Sie nur einen unterstützten deflection_channel-Wert an diesen Endpunkt.
external_link ist kein gültiger Wert für den Endpunkt für die Eskalationsaktualisierung. Wenn der Endnutzer einem externen Ablenkungslink folgt, wird der Chat stattdessen beendet.
Was ändert sich durch die Umstellung?
Die CCAI Platform zeichnet die Auswahl für die Eskalation auf. Durch das Aufzeichnen einer Auswahl wird der Chat nicht weitergeleitet. Ihre Integration reagiert auf die Auswahl, indem sie beispielsweise den Chat für eine E-Mail-Weiterleitung schließt oder eine neue Eskalation mit force_escalate: true für eine Auswahl zum Weiterwarten sendet.
Chat beenden
Ziel:Schließen Sie den Chat, wenn die Unterhaltung beendet ist.
Endpunkt
Verwenden Sie den folgenden Endpunkt, um einen aktiven Chat zu beenden:
PATCH /apps/api/v1/chats/{chat_id}/end
Beispielanfrage
Das folgende Beispiel zeigt einen Anfragetext zum Beenden eines Chats:
{
"ended_by_user_id": 456
}
Was ändert sich durch die Umstellung?
Die CCAI Platform beendet den Chat.
Ihr Webhook-Endpunkt empfängt das endgültige Chatstatus-Ereignis.
Ihre Anwendung markiert den Chat als abgeschlossen und akzeptiert keine neuen Endnutzernachrichten mehr für diesen Chat.
Wenn der Chat beendet wird, weil der Endnutzer eine Ablenkungsoption ausgewählt hat, verwenden Sie diesen Endpunkt nicht, um diese Auswahl aufzuzeichnen. Zeichnen Sie die Auswahl für die Eskalation zuerst auf oder zeichnen Sie sie auf und schließen Sie den Chat in einer einzigen Anfrage mit PATCH /apps/api/v1/chats/{chat_id}. Geben Sie dabei escalation_id und deflection_channel zusammen mit dem Status an. Wenn ein Chat ohne aufgezeichnete Auswahl endet, wird die Auswahl bei der Eskalation nicht aufgezeichnet und erscheint nicht in den Berichten zu den Ergebnissen der Ablenkung.
Erweiterte Abläufe
Die folgenden Zweige sind optional. Implementieren Sie nur die Abläufe, die für Ihre Integration relevant sind.
Vorab-Chat-Transkript importieren
Verwenden Sie diesen Ablauf, wenn der Endnutzer bereits eine Unterhaltung in Ihrem System hatte, bevor Sie den CCAI Platform-Chat erstellt haben, z. B. eine Chatbot-Unterhaltung.
Fügen Sie die Transkript-Nutzlast hinzu, wenn Sie den Chat erstellen. Das Transkript liefert dem Agenten Kontext, sodass der Endnutzer Informationen nicht wiederholen muss.
Die Apps API-Referenz enthält das genaue Transkriptschema.
Chats mit einem virtuellen Agenten zur Warteschlangenauswahl weiterleiten
Verwenden Sie diesen Ablauf, wenn Ihre Anwendung alle neuen Chats an eine Eingangswarteschlange sendet und einen virtuellen Agenten die endgültige Zielwarteschlange bestimmen lässt.
Erstellen Sie einen virtuellen Agenten für die Warteschlangenauswahl.
Weisen Sie den virtuellen Kundenservicemitarbeiter der Eingangswarteschlange zu.
Fügen Sie beim Erstellen des Chats Kontext hinzu.
Konfigurieren Sie den virtuellen Agenten so, dass er den Kontext prüft und den Chat an die richtige Warteschlange weiterleitet.
Optionen für die Weiterleitung, wenn die Zielwarteschlange nicht verfügbar ist.
Foto- oder Videoanhänge senden
Verwenden Sie diesen Ablauf, wenn der Endnutzer Medien über die kundeneigene Chat-UI sendet.
Der Medienfluss umfasst vier Phasen.
Phase 1: Vorsignierte Upload-URL anfordern
Verwenden Sie die folgenden Endpunkte, um eine vorsignierte URL zum Hochladen eines Fotos oder Videos anzufordern:
POST /apps/api/v1/chats/{chat_id}/photos/upload
POST /apps/api/v1/chats/{chat_id}/videos/upload
Phase 2: Datei in die zurückgegebene Speicher-URL hochladen
Fügen Sie die Datei und alle Felder hinzu, die die CCAI Platform in der Antwort auf den vorsignierten Upload zurückgibt.
Phase 3: Hochgeladene Datei dem Chat hinzufügen
Verwenden Sie die folgenden Endpunkte, um dem Chat ein hochgeladenes Foto oder Video hinzuzufügen:
POST /apps/api/v1/chats/{chat_id}/photos
POST /apps/api/v1/chats/{chat_id}/videos
Speichern Sie die media_id, die von der CCAI Platform zurückgegeben wird. Nutzlasten von Chatnachrichten verweisen auf Medien nach Medien-ID.
Phase 4: Medien als Nachricht senden
Verwenden Sie den folgenden Endpunkt, um eine Mediennachricht an den Chat zu senden:
POST /apps/api/v1/chats/{chat_id}/message
Beispielanfrage
Das folgende Beispiel zeigt einen Anfragetext zum Senden eines Fotoanhangs:
{
"from_user_id": 456,
"message": {
"type": "photo",
"content": "Photo of the damaged item",
"media_id": 789
}
}
Der Endpunkt akzeptiert type, content und media_id als flache Werte. Ein in content angegebenes verschachteltes Objekt wird verworfen und die Medienreferenz geht verloren. Verwenden Sie den Nachrichtentyp video und das Video media_id für Videonachrichten. media_id ist ein gleichgeordnetes Element von content.
Benutzerdefinierte Daten während eines Chats senden
Verwenden Sie den folgenden Endpunkt, wenn Ihre Integration einen benutzerdefinierten Kontext an einen aktiven Chat anhängen muss:
POST /apps/api/v1/chats/{chat_id}/custom_data
In der Apps API-Referenz werden die genaue Nutzlastform und das Verhalten reservierter Schlüssel definiert.
Endnutzeridentität während eines Chats aktualisieren
Verwenden Sie den folgenden Endpunkt, wenn sich die Identität des Endnutzers ändert oder nach Beginn des Chats bekannt wird:
POST /apps/api/v1/chats/{chat_id}/end_user
Verwenden Sie diesen Endpunkt beispielsweise, wenn sich ein anonymer Endnutzer während eines aktiven Chats anmeldet und Ihre Integration CCAI Platform benötigt, um den Chat mit der aktualisierten Endnutzeridentität zu verknüpfen.
CSAT- oder Bewertungsdaten erfassen
Verwenden Sie die folgenden Endpunkte für die CSAT- und Chatbewertung, wenn Ihre Integration die Bewertung nach dem Chat übernimmt:
GET /apps/api/v1/chats/{chat_id}/csat
GET /apps/api/v1/chats/{chat_id}/rating
PATCH /apps/api/v1/chats/{chat_id}/rating
Die genauen Berechtigungsregeln und Nutzlasten für die Bewertung finden Sie in der Apps API-Referenz.