Metadaten des Chattranskripts

In diesem Dokument wird das Schema des Metadatensatzes für Chat-Transkripte erläutert. Dies ist die JSON-Datei, die von der Contact Center AI Platform (CCAI Platform) für ein abgeschlossenes Chat-Transkript generiert wird. Der Metadatensatz für das Chat-Transkript wird durch den JSON-Export des Chatverlaufs erstellt und kann je nach Instanzkonfiguration über CRM-Transkript-Uploads und Transkriptdateien im externen Speicher bereitgestellt werden. Mit diesem Schema können Sie JSON-Transkripte parsen, empfangene Nutzlasten validieren oder Transkriptnachrichten in Downstream-Systeme übertragen.

Schemastamm

Der Metadatensatz für das Chat-Transkript ist ein einzelnes JSON-Objekt, das ein Chat-Transkript-Artefakt darstellt. Die Felder auf der Stammebene identifizieren die Kommunikation, die Version des Transkriptformats und die geordnete Menge der Transkripteinträge.

Kommunikations-IDs comm_type und comm_id

comm_type und comm_id identifizieren zusammen die Kommunikation, die in diesem Transkript aufgezeichnet wird.

  • comm_type gibt den Kommunikationstyp an. Der Wert ist in der Regel chat. Es kann call für einen Sprachanruf sein, der gemischte SMS-Transkriptinhalte enthält.

  • comm_id ist die Kennzeichnung des Chats oder Anrufs, der im Transkript dargestellt wird.

Formatversion transcript_version

Gibt die Version des JSON-Transkriptformats an. Integrationen sollten dieses Feld für das zukunftssichere Parsen verwenden und unbekannte Felder ignorieren.

Eintragsdiskriminator – entries[].type und entries[].body.type

Jedes Element in entries steht für eine Transkriptnachricht oder ein Transkriptereignis. Das Feld type auf Einstiegsniveau entspricht dem Nachrichtentyp. Das verschachtelte body-Objekt enthält die Nutzlast, deren Form je nach Typ variiert, z. B. text, markdown, photo, noti oder action.

Metadatenschema für Chattranskripte

In diesem Schema wird die Datenstruktur von Chat-Transkripten beschrieben. In den folgenden Abschnitten werden die wichtigsten Komponenten beschrieben.

Wichtige Transkriptinformationen

Die folgenden Eigenschaften enthalten die grundlegenden Informationen zum Transkript selbst:

  • comm_type (String): Der Kommunikationstyp, den das Transkript darstellt. Mögliche Werte: chat, call. Der Wert call gibt einen Sprachanruf mit gemischten SMS-Transkriptinhalten an.

  • comm_id (Ganzzahl): Eindeutige Kennung der Kommunikation, die durch das Transkript dargestellt wird.

  • transcript_version (String): Version des JSON-Formats für das Transkript. Der aktuelle Wert ist "1.0". Weitere Informationen finden Sie unter Versionsverwaltung und Einstellung.

  • assigned_at (string, date-time): Zeitstempel für die Zuweisung des Chats.

  • timezone (String): Zeitzone für den Transkriptkontext, z. B. "America/Los_Angeles".

Transkripteinträge

  • entries (Array): Geordnete Liste der Transkript-Einträge. Jeder Eintrag steht für eine Nachricht, Benachrichtigung oder Aktion in der Unterhaltung.

    • timestamp (Ganzzahl): Unix-Epochen-Zeitstempel in Sekunden, als der Eintrag vom System erstellt wurde.

    • type (String): Typ des Inhalts der Nachricht. Dieser Wert entspricht body.type. Informationen zu den unterstützten Body-Typen finden Sie unter Definitionen.

    • body (Objekt): Nutzlast des Eintrags. Die Form hängt vom Wert von type / body.type ab.

    • role (String): Rolle des Teilnehmers oder der Systemkomponente, die den Eintrag erstellt hat. Mögliche Werte: end_user, agent, manager, virtual_agent, external_agent, task_virtual_agent, system.

    • user_data (Objekt): Metadaten des Absenders. Für Einträge vom Typ agent, manager, virtual_agent, external_agent und task_virtual_agent enthält dieses Objekt die Anzeigedaten des Absenders. Bei end_user- und system-Einträgen ist dieses Objekt leer.

      • name (String; nur vorhanden, wenn Metadaten des Absenders verfügbar sind): Anzeigename des Absenders.

      • id (Ganzzahl; nur vorhanden, wenn Absender-Metadaten verfügbar sind): Kennung des Absenders.

      • avatar_url (string, uri; nur vorhanden, wenn Metadaten des Absenders verfügbar sind): URL des Avatarbilds des Absenders.

Nachrichtentexte

  • text (Objekt): Nur-Text-Nachrichtentext.

    • type (String): Immer text.

    • content (String): Nachrichtentext.

    • lang (String; nur vorhanden, wenn Sprachmetadaten verfügbar sind): Der mit der Nachricht verknüpfte Sprachcode.

  • text_template (Objekt): Inhalt der Nachricht mit Vorlagen.

    • type (String): Immer text_template.

    • content (String): Vorlagentext.

  • markdown (Objekt): Markdown-formatierter Inhalt der Nachricht.

    • type (String): Immer markdown.

    • content (String): Markdown-Inhalt.

    • lang (String; nur vorhanden, wenn Sprachmetadaten verfügbar sind): Der mit der Nachricht verknüpfte Sprachcode.

  • markdown_template (object): Vorlagenbasierter Markdown-Inhalt der Nachricht.

    • type (String): Immer markdown_template.

    • content (String): Markdown-Vorlageninhalt.

Inhalte von Medien- und Dateinachrichten

  • photo (Objekt): Inhalt der Nachricht für Foto oder Screenshot.

    • type (String): Immer photo.

    • media_id (Ganzzahl): Kennung der gespeicherten Fotomedien.

  • video (Objekt): Inhalt der Videonachricht.

    • type (String): Immer video.

    • media_id (Ganzzahl; vorhanden, wenn das System das Video als CCAI Platform-Media speichert): Kennung der gespeicherten Videomedia.

    • title (String; vorhanden, wenn ein eingebettetes Videoobjekt das Video darstellt): Titel des Videos.

    • video (Objekt; vorhanden, wenn ein eingebettetes Videoobjekt das Video darstellt): Videodetails.

      • url (string, uri): URL des Videos.

      • text (String): Textalternative oder Fallback-URL für das Video.

  • image (Objekt): Inhalt der Bildnachricht.

    • type (String): Immer image.

    • title (String; vorhanden, wenn der Absender der Nachricht ihn angibt): Titel des Bildes.

    • image (Objekt): Bilddetails.

      • url (String, URI): URL des Bildes.

      • text (String): Textalternative oder Fallback-URL für das Bild.

  • document (Objekt): Inhalt der Nachricht des Dokuments.

    • type (String): Immer document.

    • media_id (Ganzzahl; vorhanden, wenn das System das Dokument als CCAI Platform-Media speichert): Kennung der gespeicherten Dokument-Media.

    • title (String; vorhanden, wenn ein eingebettetes Dokumentobjekt das Dokument darstellt): Titel des Dokuments.

    • document (Objekt; vorhanden, wenn ein eingebettetes Dokumentobjekt das Dokument darstellt): Dokumentdetails.

      • url (string, uri): URL des Dokuments.

      • text (String): Textalternative oder Fallback-URL für das Dokument.

  • audio (object): Der Inhalt der Audionachricht.

    • type (String): Immer audio.

    • media_id (Ganzzahl; vorhanden, wenn das System die Audioinhalte als CCAI Platform-Medien speichert): Kennung der gespeicherten Audioinhalte.

    • title (String; vorhanden, wenn ein eingebettetes Audioobjekt die Audiodatei darstellt): Titel der Audiodatei.

    • audio (Objekt; vorhanden, wenn ein eingebettetes Audioobjekt die Audiodatei darstellt): Audiodetails.

      • url (string, uri): URL der Audiodatei.

      • text (String): Textalternative oder Fallback-URL für die Audiodatei.

Interaktive Nachrichtentexte

  • inline_button (Objekt): Textkörper der Inline-Schaltflächennachricht.

    • type (String): Immer inline_button.

    • title (String): Titel, der über den Schaltflächen angezeigt werden soll.

    • buttons (Array): Liste der Schaltflächendefinitionen.

      • title (String): Beschriftung der Schaltfläche.

      • action (String): Die mit dem Button verknüpfte Aktion.

      • link (String, URI; nur bei Kurzantworten im Linkstil vorhanden): URL, die der Schaltfläche zugeordnet ist.

  • sticky_button (Objekt): Inhalt der Nachricht mit fixiertem Button.

    • type (String): Immer sticky_button.

    • title (String): Titel, der über den Schaltflächen angezeigt werden soll.

    • buttons (Array): Liste der Schaltflächendefinitionen.

      • title (String): Beschriftung der Schaltfläche.

      • action (String): Die mit dem Button verknüpfte Aktion.

      • link (String, URI; nur bei Kurzantworten im Linkstil vorhanden): URL, die der Schaltfläche zugeordnet ist.

  • content_card (Objekt): Inhalt der Nachricht der Inhaltskarte.

    • type (String): Immer content_card.

    • cards (Array): Liste der Inhaltskarten.

      • title (String): Titel der Karte.

      • body (String; nur vorhanden, wenn Sie den Text des Karteninhalts konfigurieren): Text des Karteninhalts.

  • form_complete (object): Nachrichtentext für den Abschluss des Formulars, den der Client sendet, wenn ein Nutzer ein Formular ausfüllt, nicht ausfüllt oder abbricht.

    • type (String): Immer form_complete.

    • signature (String; nur vorhanden, wenn das Abschlussereignis eine Signatur enthält): Signatur für die Nutzlast zum Abschließen des Formulars.

    • data (Objekt): Details zum Ausfüllen des Formulars.

      • status (String): Abschlussstatus. Mögliche Werte: success, error, cancelled.

      • smart_action_id (Ganzzahl): Die Kennung der mit dem Formular verknüpften Smart Action.

      • timestamp (String, Datum/Uhrzeit): Zeitstempel für das Ereignis „Formular ausgefüllt“. Das unterscheidet sich vom Einstiegs-timestamp, der ein ganzzahliger Unix-Epochen-Zeitstempel in Sekunden ist.

      • details (Objekt; nur vorhanden, wenn die Nutzlast zusätzliche Abschlussdetails enthält): Zusätzliche Statusdetails.

        • error_code (String; nur bei Fehlern mit einem Code vorhanden): Fehlercode, der dem Vervollständigungsergebnis zugeordnet ist.

        • message (String): Für Menschen lesbare Statusdetails.

Vom Server generierte und durchgeleitete Nachrichtentexte

  • server_message (Objekt): Vom Server generierter Inhalt der Nachricht. Das Transkript enthält server_message-Einträge nur, wenn Sie die Inhalte von Transkripten des virtuellen Kundenservicemitarbeiters für Ihr Konto aktivieren. Andernfalls werden diese Einträge im Transkript ausgelassen. Verwenden Sie dieses Objekt, wenn sich das Transkript auf eine gespeicherte serverseitige Nachricht bezieht.

    • type (String): Immer server_message.

    • message_id (Ganzzahl): Kennzeichnung der gespeicherten Servernachricht.

    • visibility (string oder null): Sichtbarkeitseinstellung für die gespeicherte Servernachricht.

  • passthrough (object): Eine benutzerdefinierte Nutzlast, die das System über die CCAI-Plattform für eine Integration mit einem virtuellen Kundenservicemitarbeiter oder CCaaS weiterleitet. Ihre Integration definiert ihre content, die nicht Teil des CCAI-Plattformschemas ist. Behandeln Sie sie als undurchsichtig.

    • type (String): Immer passthrough.

    • content (String oder Objekt): Integrationsdefinierte Nutzlast. Die Struktur variiert je nach Integration und wird von der CCAI Platform nicht interpretiert.

Nachrichtentexte für Aktionen

  • action (Objekt): Aktion, die von einem virtuellen Kundenservicemitarbeiter oder Chatbot-Ablauf angefordert wird. Das Feld action bestimmt die Form der Aktionsnutzlast.

    • type (String): Immer action.

    • action (String): Aktionstyp. Mögliche Werte sind escalation, deflection und end.

    • escalation_reason (String; nur vorhanden, wenn action escalation ist): Grund für die Eskalierung der Unterhaltung.

    • menu_id (Ganzzahl; nur vorhanden, wenn action gleich escalation ist): Kennung des Menüs, an das die Unterhaltung eskaliert werden soll.

    • language (String; nur vorhanden, wenn action gleich escalation ist): Sprachcode der Zielwarteschlange.

    • deflection_type (String; nur vorhanden, wenn action gleich deflection ist): Typ der angeforderten Umleitung.

    • sip_parameters (Objekt oder Null; nur vorhanden, wenn action gleich deflection ist): SIP-Parameter, die als Teil der Umleitung weitergeleitet werden sollen.

Nachrichtentexte von Benachrichtigungen

  • noti (object): Inhalt der Nachricht. Benachrichtigungen beschreiben Systemereignisse, die während des Chats aufgetreten sind.

    • type (String): Immer noti.

    • event (String): Name des Benachrichtigungsereignisses.

    • agent (Objekt; nur für Ereignisse, die mit einem menschlichen Kundenservicemitarbeiter verknüpft sind): Der mit dem Ereignis verknüpfte Kundenservicemitarbeiter.

      • id (Ganzzahl): Agent-ID.

      • email (String, E-Mail): E-Mail-Adresse des Kundenservicemitarbeiters.

      • name (String): Anzeigename des Agents.

    • from_agent (Objekt; nur für Übertragungsereignisse mit einem Quell-Agent vorhanden): Quell-Agent für das Ereignis.

      • id (Ganzzahl): Agent-ID.

      • email (String, E-Mail): E-Mail-Adresse des Kundenservicemitarbeiters.

      • name (String): Anzeigename des Agents.

    • to_agent (Objekt; nur für Transfer- oder Eskalierungsereignisse mit einem Ziel-Kundenservicemitarbeiter vorhanden): Ziel-Kundenservicemitarbeiter für das Ereignis.

      • id (Ganzzahl): Agent-ID.

      • email (String, E-Mail): E-Mail-Adresse des Kundenservicemitarbeiters.

      • name (String): Anzeigename des Agents.

    • from_virtual_agent (object; present only for escalation events from a virtual agent): Source virtual agent for the event.

      • id (Ganzzahl): Kennung des virtuellen Kundenservicemitarbeiters.

      • name (String): Anzeigename des virtuellen Agenten.

      • avatar_url (String, URI oder Null): URL des Avatarbilds des virtuellen Kundenservicemitarbeiters.

    • to_virtual_agent (object; nur für Transferereignisse an einen virtuellen Kundenservicemitarbeiter vorhanden): Ziel-Virtual Agent für das Ereignis.

      • id (Ganzzahl): Kennung des virtuellen Kundenservicemitarbeiters.

      • name (String): Anzeigename des virtuellen Agenten.

      • avatar_url (String, URI oder Null): URL des Avatarbilds des virtuellen Kundenservicemitarbeiters.

    • target (String; nur für Übertragungsereignisse vorhanden): Zieltyp der Übertragung. Mögliche Werte sind menu und agent.

    • status (String; nur für Ereignisse mit Chatstatus vorhanden): Der mit dem Ereignis verknüpfte Chatstatus.

    • timeout (boolesch; nur bei Ereignissen im Zusammenhang mit Zeitüberschreitungen vorhanden): Gibt an, ob das Ereignis durch eine Zeitüberschreitung verursacht wurde.

    • memberIdentity (String; nur bei Ereignissen zum Beitreten oder Verlassen von Teilnehmern vorhanden): Identität des Teilnehmers.

    • memberName (String; nur bei Ereignissen zum Beitreten oder Verlassen von Teilnehmern vorhanden): Anzeigename des Teilnehmers.

    • name (String; nur für Ereignisse vom Typ „virtual-agent“ oder „task-va“): Anzeigename, der dem Ereignis zugeordnet ist.

    • reason (String; nur bei Ereignissen zum Abschluss von Task-VA vorhanden): Grund für das Ende der Task-VA-Sitzung.

    • escalation_reason (String; nur bei Eskalierungsereignissen vorhanden): Grund für die Eskalierung.

    • deflection (Objekt; nur für Ablenkungsereignisse vorhanden): Details zur Ablenkung.

    • detail (Objekt; nur für benutzerdefinierte Benachrichtigungsereignisse vorhanden): Details zum benutzerdefinierten Ereignis.

      • key (String): Schlüssel für benutzerdefiniertes Ereignis.

      • data (Objekt): Nutzlast des benutzerdefinierten Ereignisses.

Namen von Benachrichtigungsereignissen

Das Feld event gibt das Benachrichtigungsereignis an. Der Chat-Anbieter, der als zentrale Informationsquelle dient, speichert alle Benachrichtigungsereignisse in der folgenden Liste im Transkript-JSON. In der Liste werden diese Ereignisse nach Familie gruppiert.

Anfragen für Smart Actions

  • verificationRequested

  • photoRequested

  • videoRequested

  • screenshotRequested

  • textRequested

  • cobrowseRequestedFromAgent

Ergebnisse von Smart Actions

  • Abgeschlossen: photoFinished, videoFinished, screenshotFinished, textFinished

  • Abgebrochen: photoCanceled, videoCanceled, screenshotCanceled, textCanceled, cobrowseCanceled

  • Fehler: photoFailed, videoFailed, screenshotFailed, textFailed, verificationFailed

Überprüfung

  • endUserVerified

Co-Browsing

  • cobrowseRequestedFromEndUser

  • cobrowseCodeGenerated

  • cobrowseStarted

  • cobrowseEnded

  • cobrowseFailed

Formulare

  • formRequested

  • formSent

  • formCompleted

Übertragungen

  • transferStarted

  • transferAccepted

  • transferFailed

Eskalierungen durch virtuelle Kundenservicemitarbeiter

  • escalationStarted

  • escalationAccepted

  • escalationDeflected

  • escalationFailed

Virtueller Kundenservicemitarbeiter für Aufgaben

  • taskVaStarted

  • taskVaFinished

Mitgliedschaft

  • memberJoined

  • memberLeft

Sitzungslebenszyklus

  • chatEnded

  • chatEndedWithPostSession

  • chatDismissed

  • checkInRequired

  • checkInTimedOut

  • transcriptRequested

  • transcriptUpdated

Benutzerdefiniert

  • custom

Bei Datensätzen, bei denen comm_type auf call gesetzt ist, können zusätzliche Benachrichtigungsereignisse für Anruftranskripte angezeigt werden. Diese Ereignisse sind mit der Verarbeitung von Anruf- oder Agent Assist-Transkripten verknüpft und nicht mit den üblichen Chat-Ereignisfamilien.

Definitionen

Die folgenden Unterschemas sind im Metadatendokument für das Chat-Transkript enthalten. In diesem Abschnitt wird jedes Unterschema einmal definiert. Auf Eigenschaftsgruppen, die darauf verweisen, wird in diesem Abschnitt verwiesen, anstatt ihre Form inline neu zu definieren.

Eintrag (Objekt)

Stellt eine Transkriptnachricht, ‑benachrichtigung oder ‑aktion dar. Jeder Eintrag hat eine timestamp im Unix-Epoch-Format, eine type auf oberster Ebene, ein body-Objekt, dessen Typ mit dieser Form übereinstimmt, einen Absender role und ein user_data-Objekt. Eine vollständige Liste der Felder finden Sie unter Transkriptions-Einträge.

user_data (Objekt)

Beschreibt den Absender eines Transkriptionsbeitrags, wenn Absendermetadaten verfügbar sind. Einträge für Kundenservicemitarbeiter, Manager, virtuelle Kundenservicemitarbeiter, externe Kundenservicemitarbeiter und virtuelle Kundenservicemitarbeiter für Aufgaben können name, id und avatar_url enthalten. Einträge für Verbraucher und Systeme enthalten ein leeres Objekt.

Inhalt der Nachricht (Objekt, oneOf)

Das body-Objekt in jedem Eintrag verwendet den Wert von body.type, um eine der unterstützten Formen für den Nachrichtentext auszuwählen. Unterstützte Textkörper sind Textkörper, Media- oder Dateikörper, interaktive Körper, servergenerierte Körper, Aktionskörper und Benachrichtigungskörper. Eine vollständige Liste der dokumentierten Varianten finden Sie unter Nachrichtentexte bis Benachrichtigungstexte.

participant role (String, Enum)

Gibt die Absenderkategorie für einen Transkriptionsbeitrag an.

Zulässige Werte

  • end_user – Der Verbraucher.

  • agent: Ein menschlicher Kundenservicemitarbeiter.

  • manager: Ein Teilnehmer mit Administratorrolle.

  • virtual_agent: Ein virtueller Kundenservicemitarbeiter.

  • external_agent – Ein Teilnehmer mit einem externen KI-Agenten.

  • task_virtual_agent: Ein virtueller Kundenservicemitarbeiter für Aufgaben.

  • system: Ein vom System generierter Eintrag.

Versionsverwaltung und Einstellung

Das Metadatendokument für Chat-Transkripte unterstützt die abwärtskompatible Schemaentwicklung. Das System kann im Laufe der Zeit neue Felder und Varianten für den Nachrichtentext hinzufügen. Integrationen sollten alle nicht erkannten Schlüssel ignorieren, um die Funktionalität aufrechtzuerhalten.

Aktuelle Formatversion

  • transcript_version (String) – Aktueller Wert: "1.0". Integrationen sollten das Transkript anhand der in der Nutzlast vorhandenen Felder parsen und nicht fehlschlagen, wenn in zukünftigen Versionen neue Felder oder Nachrichtentypen hinzugefügt werden.

Unbekannte Nachrichtentypen

Wenn ein Transkript-Eintrag ein nicht erkanntes type oder body.type enthält, behalten Sie den Rohdateneintrag nach Möglichkeit bei und setzen Sie die Analyse des restlichen Transkripts fort. Das System kann neue Nachrichtentypen hinzufügen, ohne die Bedeutung vorhandener Felder zu ändern.

Eingestellte Felder

In diesem Dokument sind keine eingestellten Felder für den Metadatensatz des Chat-Transkripts aufgeführt.