In diesem Dokument wird das Schema des Datensatzes Chat-Sitzungsmetadaten beschrieben. Der Metadatensatz ist das JSON-Dokument, das die Contact Center AI Platform für eine Support-Chatsitzung erstellt. Die CCAI Platform liefert den Metadatensatz als Teil des Chatbefehls session-end an Ihre CRM-Integration. Wenn Sie den externen Speicher aktivieren, schreibt die CCAI Platform den Eintrag auch mit einer metadata.json-Datei in Ihre Konfiguration für den externen Speicher. Für jeden Chat wird ein Datensatz erstellt, der durch die id auf oberster Ebene eindeutig identifiziert wird. Mit diesem Schema können Sie Datensätze in nachgelagerte Systeme aufnehmen, empfangene Nutzlasten validieren oder Felder auf Data-Warehouse-Spalten abbilden.
Schemastamm
Der Metadatensatz einer Chatsitzung ist ein einzelnes JSON-Objekt, das eine Chatsitzung darstellt. Drei Konzepte auf der obersten Ebene bestimmen die Identität und Form des Datensatzes.
Primärschlüssel: id (Ganzzahl)
Identifiziert die Chatsitzung innerhalb Ihres Mandanten eindeutig. Pro Chat gibt es einen Eintrag. Alle anderen Felder, Arrays und verschachtelten Objekte der obersten Ebene beschreiben Attribute des Chats, der durch diese id identifiziert wird.
Handler-Diskriminator: agent_info (Objekt, oneOf)
Ein einzelnes Objekt, dessen Form je nach dem letzten Handler des Chats variiert. Die beiden Varianten schließen sich gegenseitig aus – es ist immer nur eine vorhanden:
Variante für menschliche Kundenservicemitarbeiter: Wird angezeigt, wenn der letzte Bearbeiter des Chats ein menschlicher Kundenservicemitarbeiter war. Enthält zusätzlich zu den freigegebenen Feldern
id,nameundavatar_urldie Felderemail,first_name,last_nameundagent_number.Variante für virtuelle Kundenservicemitarbeiter: Vorhanden, wenn der letzte Handler des Chats ein virtueller Kundenservicemitarbeiter war. Enthält
va_aliasund lässtemail,first_name,last_nameundagent_numberweg.
Um herauszufinden, welche Variante ein Eintrag enthält, prüfen Sie, ob ein variantenspezifisches Feld vorhanden ist. In der Regel ist das agent_info.email für die Variante mit menschlichem Kundenservicemitarbeiter oder agent_info.va_alias für die Variante mit virtuellem Kundenservicemitarbeiter. Vollständige Definitionen für jede Variante finden Sie unter Definitionen: agent und Definitionen: virtual_agent.
Chat-Shape-Diskriminatoren: chat_type, session_type, session_type_v2
(String)
Drei parallele Ansichten desselben zugrunde liegenden Chattyps. Sie sind sich immer einig, welchen Chattyp ein Eintrag darstellt. Sie unterscheiden sich nur im Vokabular, das für die Benennung verwendet wird.
chat_type: Verwendet das alte Enum-Vokabular, z. B. „Messaging Inbound (App Chat)“, „Messaging (SMS)“ und „Messaging (WhatsApp)“.session_type: Gibt immer denselben String wiechat_typezurück. Es ist für die Abwärtskompatibilität mit Integrationen vorhanden, die auf dieses Feld verweisen. Behandeln Sie es als verworfenen Alias vonchat_type.session_type_v2: Verwendet das aktuelle Enum-Vokabular, das möglicherweise feinere Unterscheidungen wie „Messaging Inbound (Mobile Chat)“ enthält. Für Chattypen, die keinen v2-spezifischen Wert haben, gibtsession_type_v2denselben String wiechat_typezurück. Neue Integrationen solltensession_type_v2parsen.
Die Werte für die einzelnen Felder finden Sie unter Wichtige Informationen.
Wichtige Informationen
id(Ganzzahl): Eine eindeutige Kennung für jede Chatsitzung. Dieser Primärschlüssel unterscheidet einen Chat von einem anderen.lang(String): Der ISO 639-Sprachcode, der während des Chats verwendet wird (z. B."en"für Englisch,"es"für Spanisch).chat_type(String): Der Typ des Chats, wobei das Legacy-Typvokabular verwendet wird. Mögliche Werte sind"Messaging Inbound (App Chat)","Messaging Inbound (Web Chat)","Messaging (SMS)","Messaging (WhatsApp)"und"Messaging (Apple Messaging for Business)".session_type(String): Ein Duplikat vonchat_type(gleiche Werte), das aus Gründen der Abwärtskompatibilität beibehalten wird. Siehe Versionsverwaltung und Einstellungen: Legacy-Duplikate.session_type_v2(String): Der Typ des Chats, wobei das aktuelle Typvokabular verwendet wird. Diechat_type-Werte werden mit feineren Unterscheidungen verfeinert. Mögliche Werte sind"Messaging Inbound (Mobile Chat)","Messaging Inbound (Web Chat)","Messaging (WhatsApp)","Messaging (Apple Messaging for Business)","Messaging (SMS)","Messaging Inbound (SMS)","Messaging Outbound (SMS)","Messaging Outbound (SMS via API)","Messaging Inbound (SMS Direct)","Messaging Outbound (SMS Direct)"und"Messaging Outbound (SMS Direct via API)".status(String): Der aktuelle Status des Chats. Mögliche Werte:"queued","selecting","assigned","va_assigned","dismissed","va_dismissed","check_in_timeout","finished","no_response","canceled"und"failed". (Die CCAI Platform meldet einen beendeten Chat, auf den der Nutzer nicht geantwortet hat, als"no_response".)sub_status(String oder Null): Genauere Statusdetails für den Chat, falls verfügbar. Mögliche Werte:"selecting","queued","ongoing","dismissed","finished","timeout","deflected","abandoned","expired","failed","disconnected_by_agent","disconnected_by_end_user","no_messages","no_messages_disconnected_by_agent","no_messages_disconnected_by_end_user"und"end_user_opt_out".created_at(String, Datum/Uhrzeit): Der Zeitstempel, zu dem die CCAI Platform die Chatsitzung erstellt hat.assigned_at(String, Datum/Uhrzeit oder null): Der Zeitstempel, zu dem die CCAI Platform den Chat einem Agenten zugewiesen hat, oder null, wenn er nicht zugewiesen wurde.ends_at(String, Datum/Uhrzeit oder Null): Der Zeitstempel, an dem die Chatsitzung beendet wurde.updated_at(String, Datum/Uhrzeit): Der Zeitstempel, der angibt, wann die CCAI Platform die Chatdaten zuletzt aktualisiert hat.first_msg_sent_at(String, Datum/Uhrzeit oder Null): Der Zeitstempel, zu dem ein Teilnehmer die erste Nachricht im Chat gesendet hat.last_msg_sent_at(String, Datum/Uhrzeit oder Null): Der Zeitstempel, zu dem ein Teilnehmer die letzte Nachricht im Chat gesendet hat.wait_duration(Ganzzahl): Die Gesamtzeit, die der Nutzer gewartet hat, in Sekunden.chat_duration(Ganzzahl): Die Gesamtdauer des Chats in Sekunden.verified(boolesch): Gibt an, ob die Smart Action zur Bestätigung die Interaktion bestätigt hat.rating(Ganzzahl oder null): Die vom Kunden angegebene Kundenzufriedenheitsbewertung (CSAT) oder null, wenn der Kunde keine Bewertung abgegeben hat.has_feedback(boolescher Wert): Gibt an, ob der Nutzer nach dem Chat Feedback gegeben hat.out_ticket_id(String oder Null): Die Kennung des Tickets, das die CCAI Platform im externen CRM-System erstellt hat.out_ticket_url(String, URI oder Null): Die URL des CRM-Tickets.is_out_ticket_account(boolesch oder null): Gibt an, ob das CRM-Ticket einen Kunden (true) oder eine Chat-Interaktion (false) darstellt.fail_reason(String): Der Grund für einen Fehler während des Chats oder"nothing", wenn der Chat nicht fehlgeschlagen ist. Mögliche Werte:"nothing","unknown","expired","after_hours","escalation_failed","check_in_timed_out","check_in_timed_out_expired","expired_menu_selection","end_user_opt_out","over_cap_email","group_deleted_no_substitute","presession_deflection_unknown","presession_deflection_timeout","presession_deflection_message_delivery_failed","sms_error"und"force_ended".provider_type(String): Der Typ des verwendeten Chatanbieters. Mögliche Werte:"unknown","messaging","twilio_conversations","nexmo_conversations"und"ujet_conversations".provider_channel_id(String oder Null): Anbieterspezifische Kanal-ID für den Chat.message_count(Ganzzahl): Die Gesamtzahl der im Chat ausgetauschten Nachrichten.average_response_time(Ganzzahl): Die durchschnittliche Zeit in Sekunden, die Kundenservicemitarbeiter während des Chats für eine Antwort benötigt haben.longest_response_time(Ganzzahl): Die längste Zeit, die ein Kundenservicemitarbeiter während des Chats für eine Antwort benötigt hat, in Sekunden.transcript(boolescher Wert): Gibt an, ob für die Sitzung ein Chatprotokoll vorhanden ist.
Informationen zu Agenten und virtuellen Agenten
agent_info(Objekt): Informationen zum menschlichen oder virtuellen Kundenservicemitarbeiter, der den Chat zuletzt bearbeitet hat. In diesem Feld wird das SchlüsselwortoneOfverwendet, um anzugeben, dass es sich um einen von zwei Typen handeln kann.agent(Objekt): Informationen zum menschlichen Kundenservicemitarbeiter:id(Ganzzahl): Die eindeutige ID des KI-Agenten.agent_number(String oder Null): Eine dem Agenten zugewiesene Kennung.email(String, E‑Mail-Adresse): Die E‑Mail-Adresse des KI-Agenten.name(String): Der vollständige Name des KI-Agenten.last_name(String): Der Nachname des KI-Agenten.first_name(String): Der Vorname des Kundenservicemitarbeiters.avatar_url(String, URI oder null): Die URL des Avatarbilds des Agenten.
virtual_agent(Objekt): Informationen zum virtuellen Agenten:id(Ganzzahl): Die eindeutige ID des virtuellen Agenten.name(String): Der Name des virtuellen Agenten.avatar_url(String, URI oder null): Die URL des Avatarbilds des virtuellen Agenten.va_alias(String oder null): Der Anzeigename des virtuellen Agenten, falls einer konfiguriert ist. Immer in der Nutzlast vorhanden; null, wenn kein Alias festgelegt ist.
Menünavigation
selected_menu(Objekt oder null): Informationen zum Menü, das der Nutzer während des Chats ausgewählt hat.id(Ganzzahl): Die eindeutige ID der Speisekarte.name(String): Der Name des Menüs.parent_id(Ganzzahl oder null): Die ID des Elternmenüs, falls vorhanden.position(Ganzzahl oder null): Die Menüposition relativ zu anderen Menüs auf derselben Ebene.deleted(boolescher Wert): Gibt an, ob ein Administrator das Menü gelöscht hat.menu_type(String): Der Typ des Menüs, z. B."sms_menu","web_menu".hidden(boolesch): Gibt an, ob das Menü sichtbar oder verfügbar ist.menu_path(Objekt oder null): Beschreibt den hierarchischen Pfad der Menüs, die der Kunde aufgerufen hat.items_count(Ganzzahl): Die Anzahl der Menüs im Pfad.name(String oder Null): Ein durch Schrägstriche getrennter String mit Menünamen (z. B."Support/Billing") oder Null, wenn der Menüpfad nicht verfügbar ist.materialized_path(String): Ein durch Schrägstriche getrennter String mit Menü-IDs.
queue_priority_level(Ganzzahl): Die Warteschlangenpriorität, die der ausgewählten Warteschlange des Chats zugewiesen ist. Nur vorhanden, wenn die Warteschlangenpriorität für Ihr Konto aktiviert ist.
Endnutzerdetails
end_user(Objekt oder null): Informationen zum Verbraucher:id(Ganzzahl oder null): Die interne ID des Nutzers.identifier(String oder Null): Eine externe Kennung für den Nutzer.out_contact_id(String oder null): Die ID des Nutzers im CRM.
Kunden-Flags und vom SDK bereitgestellte Daten
customer_flag(Objekt): Flags, die bemerkenswerte Nutzerattribute kennzeichnen, die von externen Systemen während der Sitzung bereitgestellt oder aktualisiert wurden. Wird nur angezeigt, wenn externe Systeme während der Sitzung authentifizierungsbezogene Kunden-Flags bereitgestellt oder aktualisiert haben.verified_customer(boolescher Wert): Gibt an, ob ein externes System den Nutzer als verifiziert gekennzeichnet hat.bad_actor(boolesch): Gibt an, ob ein externes System den Nutzer als schädlichen Akteur gekennzeichnet hat.repeat_customer(boolescher Wert): Gibt an, ob ein externes System den Nutzer als Bestandskunden gekennzeichnet hat.
custom_data_secured(Objekt oder null): Benutzerdefinierte, sicher signierte Daten, die vom SDK oder der Apps API bereitgestellt wurden.custom_data_not_secured(Objekt oder null): Benutzerdefinierte, nicht sicher signierte Daten, die vom SDK oder der Apps API bereitgestellt wurden.sip_headers(Objekt): Eingehende SIP-Header, die für den Chat erfasst wurden. Schlüssel und Werte spiegeln die SIP-Header wider, die vom vorgelagerten Anbieter empfangen wurden. Wird nur angezeigt, wenn Sie die SIP-Header-Erfassung in Ihrem Konto aktivieren und so konfigurieren, dass sie in den Sitzungsmetadaten angezeigt wird.
Medienanhänge
photos(Array): Fotos oder Screenshots, die mit dem Chat verknüpft sind.id(Ganzzahl): Eindeutige Kennung für das Foto.photo_type(String): Der Typ des Fotos. Mögliche Werte sind"photo"und"screenshot".url(String, URI): URL zum gespeicherten Foto.smart_action_type(String oder Null): Die mit dem Foto verknüpfte Smart-Aktion, falls vorhanden.transfer_id(Ganzzahl oder null): ID des Übertragungsereignisses, das mit dem Foto verknüpft ist, wenn ein Teilnehmer es nach einer abgeschlossenen Übertragung hochgeladen hat.
videos(Array): Videos, die mit dem Chat verknüpft sind.id(Ganzzahl): Eindeutige Kennung für das Video.url(String, URI): URL zum gespeicherten Video.smart_action_type(String oder Null): Die mit dem Video verknüpfte Smart Action, falls vorhanden.transfer_id(Ganzzahl oder null): Kennung des Übertragungsereignisses, das mit dem Video verknüpft ist, wenn ein Teilnehmer es nach einer abgeschlossenen Übertragung hochgeladen hat.
Chatübertragungen
transfers(Array): Ein Eintrag pro Weiterleitungsereignis während des Chats. Zeichnet Weiterleitungen zwischen Kundenservicemitarbeitern, virtuellen Kundenservicemitarbeitern und Menüs auf.id(Ganzzahl): Eindeutige Kennung der Übertragung.status(String): Aktueller Status der Übertragung. Mögliche Werte sind"transferring","transferred","failed"und"deflected".fail_reason(String): Grund für das Fehlschlagen der Übertragung oder"nothing", wenn sie nicht fehlgeschlagen ist. Mögliche Werte:"nothing","timeout","canceled","ag_connection_timeout","va_failure","agent_detection_missed","unknown"und"unreachable_phone_number".created_at(String, Datum/Uhrzeit): Zeitstempel für den Beginn der Übertragung.assigned_at(String, Datum/Uhrzeit oder Null): Zeitstempel, zu dem die CCAI Platform die Weiterleitung zugewiesen hat.connected_at(String, Datum/Uhrzeit oder Null): Zeitstempel, zu dem die Übertragung verbunden wurde.updated_at(String, Datum/Uhrzeit oder Null): Zeitstempel, der angibt, wann die CCAI Platform den Übertragungsdatensatz zuletzt aktualisiert hat.call_duration(Ganzzahl oder null): Dauer des übertragenen Chatsegments in Sekunden.wait_duration(Ganzzahl oder Null): Zeit, die der Consumer während der Übertragung gewartet hat, in Sekunden.deflection(String): Art der Ablenkung, die mit der Übertragung verknüpft ist. Zulässige Werte finden Sie unter Definitionen:deflection.answer_type_path(String oder Null): Pfad, der beschreibt, wie KI-Agenten oder Menüs die ursprünglichen und Zielchats beantwortet haben.from_menu_path/to_menu_path(Objekt oder null): Menüpfad vor und nach der Übertragung; gleiche Form wiemenu_pathin Definitionen.from_agent/to_agent(Objekt oder null): Menschlicher Kundenservicemitarbeiter auf jeder Seite der Übertragung; gleiche Form wie dasagent-Objekt in Definitionen.from_virtual_agent/to_virtual_agent(Objekt oder null): Virtueller Agent auf jeder Seite der Übertragung; gleiche Form wie dasvirtual_agent-Objekt in Definitionen.from_queue_priority_level/to_queue_priority_level(Ganzzahl oder null): Warteschlangenpriorität vor und nach der Übertragung.
Dauer der Chatbearbeitung
handle_durations(Array): Ein Array von Objekten, die jeweils ein Segment des Chats darstellen, das von einem Kundenservicemitarbeiter bearbeitet wurde.id(Ganzzahl): Eindeutige Kennung für die Bearbeitungsdauer.agent_id(Ganzzahl oder null): Kennung des KI-Agenten.acw_duration(Ganzzahl): Dauer der Nachbereitung des Chats in Sekunden.chat_duration(Ganzzahl): Dauer des Chats während dieses Segments in Sekunden.menu_path_id(Ganzzahl oder null): ID des Menüpfads.menu_path(String): Name des Menüpfads.lang(String): Verwendete Sprache.transfer(boolesch): Gibt an, ob eine Übertragung stattgefunden hat.transfer_id(Ganzzahl oder null): ID der Übertragung.started_at(String, Datum/Uhrzeit oder Null): Startzeitstempel.ended_at(String, Datum/Uhrzeit oder Null): Endzeitstempel.response_count(Ganzzahl): Anzahl der Antworten des KI-Agenten.response_time_total(Ganzzahl): Gesamte Antwortzeit des Kundenservicemitarbeiters in Sekunden.response_time_max(Ganzzahl): Längste Antwortzeit des KI-Agenten in Sekunden.response_time_avg(Zahl oder null): Durchschnittliche Antwortzeit des KI-Agenten in Sekunden. Dieser Wert kann Dezimalstellen enthalten.assigned_connection_duration(Ganzzahl): Dauer, die der Nutzer während dieses Segments gewartet hat, während der zugewiesene Kundenservicemitarbeiter eine Verbindung hergestellt hat.
Warteschlangendauer
queue_durations(Array): Ein Array von Objekten, die jeweils ein Segment des Chats darstellen, in dem der Nutzer in einer Warteschlange gewartet hat.id(Ganzzahl): Eindeutige Kennung.agent_id(Ganzzahl oder null): Agentenkennung.ended_at(String, Datum/Uhrzeit): Endzeitstempel.lang(String): Sprache.menu_path_id(Ganzzahl oder null): Kennung des Menüpfads.menu_path(String): Menüpfad.queue_duration(Ganzzahl oder null): Dauer der Warteschlange in Sekunden.started_at(String, Datum/Uhrzeit): Startzeitstempel.transfer_cold(boolescher Wert oder null): Gibt an, ob der Chat ohne Rücksprache weitergeleitet wurde.transfer(boolesch): Gibt an, ob eine Übertragung stattgefunden hat.transfer_id(Ganzzahl oder Null): Übertragungs-ID.service_level_abandon_time_threshold(Ganzzahl): Schwellenwert für den Abbruch des Servicelevels in Sekunden.service_level_event(String): Ereignisstatus auf Dienstebene. Mögliche Werte sind"excluded","in_sla"und"not_in_sla".service_level_target_percent(Ganzzahl): Zielprozentsatz für das Service Level.service_level_target_time(Ganzzahl): Service Level-Zielzeit in Sekunden.
Eskalationen von virtuellen an menschliche Kundenservicemitarbeiter
escalations(Array): Jeder Eintrag steht für eine Eskalation von einem virtuellen Kundenservicemitarbeiter zu einem menschlichen Kundenservicemitarbeiter.id(Ganzzahl): Eindeutige Kennung für die Eskalation.status(String): Aktueller Status der Eskalation. Mögliche Werte:"escalating","escalated","canceled","deflecting"und"deflected".reason(String): Grund, warum der Chat eskaliert wurde. Mögliche Werte:"unknown","by_end_user_ask","by_end_user_message","by_virtual_agent","payload_failure","could_not_resume","by_human_agent","invalid_queue"und"dismissed".created_at(String, Datum/Uhrzeit): Zeitstempel, wann die Eskalation begonnen hat.escalated_at(String, Datum/Uhrzeit oder Null): Zeitstempel, zu dem die Eskalation abgeschlossen wurde.from_virtual_agent(Objekt oder null): Virtueller Agent, der den Chat eskaliert hat. Gleiche Form wie dasvirtual_agent-Objekt in Definitionen.to_agent(Objekt oder null): Menschlicher Kundenservicemitarbeiter, an den der Chat eskaliert wurde. Gleiche Form wie dasagent-Objekt in Definitionen.from_menu_path/to_menu_path(Objekt oder Null): Menüpfad vor und nach der Eskalation.
Vom virtuellen Kundenservicemitarbeiter abgewendete Eskalationen
virtual_agent_deflected_escalations(Array): Details zu Eskalationen von virtuellen Agenten, die an ein anderes Ziel weitergeleitet wurden.id(Ganzzahl): Eindeutige Kennung.deflection(String): Ablenkungstyp für die abgelenkte Eskalation. Mögliche Werte:"no_deflection","over_cap","over_cap_email","over_cap_virtual_agent","over_cap_human_agent","over_cap_sip","over_cap_extension","after_hours","after_hours_email"und"after_hours_virtual_agent".escalation_id(Ganzzahl): Kennung des Eskalationsereignisses.escalation_reason(String): Grund für die Eskalation. Dieselben Werte wieescalations[].reason(siehe 10. Eskalationen von virtuellen Kundenservicemitarbeitern an Menschen).escalated_at(String, Datum/Uhrzeit): Zeitstempel der Eskalation.menu_path_id(Ganzzahl): ID des Menüpfads.menu_path(String): Menüpfad.lang(String): Sprache.virtual_agent(Objekt): Details zum virtuellen Agenten. Siehe Definitionen:virtual_agent.
Bearbeitungsdauer durch virtuelle Kundenservicemitarbeiter
virtual_agent_handle_durations(Array): Zeitabschnitte, in denen der Chat von einem virtuellen Agenten bearbeitet wurde.id(Ganzzahl): Eindeutige Kennung.virtual_agent(Objekt): Details zum virtuellen Agenten. Siehe Definitionen:virtual_agent.chat_duration(Ganzzahl): Dauer des Segments in Sekunden.escalation_reason(String): Grund für die Eskalation.finish_reason(String): Grund für das Ende der Interaktion.response_count(Ganzzahl): Anzahl der Antworten des virtuellen Kundenservicemitarbeiters.response_time_total(Ganzzahl): Gesamte Antwortzeit des virtuellen Agenten in Sekunden.response_time_max(Ganzzahl): Längste Antwortzeit des virtuellen Kundenservicemitarbeiters in Sekunden.response_time_avg(Zahl oder null): Durchschnittliche Antwortzeit des virtuellen Kundenservicemitarbeiters in Sekunden. Dieser Wert kann Dezimalstellen enthalten.fallback_response_count(Ganzzahl): Anzahl der Fallback-Antworten.initiated_by(String): Wie die Sitzung des virtuellen Kundenservicemitarbeiters initiiert wurde. Mögliche Werte:"end_user","human_agent"und"post_session".menu_path_id(Ganzzahl): ID des Menüpfads.menu_path(String): Menüpfad.lang(String): Sprache.transfer(boolesch): Gibt an, ob der Chat übertragen wurde.transfer_id(Ganzzahl oder null): Kennung des Übertragungsereignisses.started_at(String, Datum/Uhrzeit): Startzeitstempel.ended_at(String, Datum/Uhrzeit): Endzeitstempel.
Bearbeitungsdauer für Verbraucher
consumer_handle_durations(Array): Dauer, die der Nutzer im Chat war.id(Ganzzahl): Eindeutige Kennung.chat_duration(Ganzzahl): Dauer des Verbrauchersegments in Sekunden.started_at(String, Datum/Uhrzeit oder Null): Startzeitstempel.ended_at(String, Datum/Uhrzeit oder Null): Endzeitstempel.message_count(Ganzzahl): Anzahl der Nutzernachrichten.response_count(Ganzzahl): Anzahl der Antworten von Nutzern.response_time_total(Ganzzahl): Gesamte Antwortzeit des Nutzers in Sekunden.response_time_max(Ganzzahl): Längste Antwortzeit des Consumers in Sekunden.response_time_avg(Ganzzahl): Durchschnittliche Antwortzeit des Verbrauchers in Sekunden.
Dauer von Verbraucherereignissen
consumer_event_durations(Array): Details zu Chat-Ereignissen von Nutzern (z. B. CSAT, Zahlung).id(Ganzzahl): Eindeutige Kennung.duration(Ganzzahl): Dauer des Ereignisses in Sekunden.type(String): Ereignistyp. Mögliche Werte:"csat".event(String): Ereignisergebnis. Mögliche Werte:"finished"und"abandoned".menu_path_id(Ganzzahl): ID des Menüpfads.menu_path(String): Menüpfad.lang(String): Sprache.started_at(String, Datum/Uhrzeit): Startzeitstempel.ended_at(String, Datum/Uhrzeit): Endzeitstempel.
Teilnehmer*innen
participants(Array): Informationen zu jedem Teilnehmer im Chat (z. B. Endnutzer, Kundenservicemitarbeiter, virtueller Kundenservicemitarbeiter).id(Ganzzahl): Eindeutige Kennung für den Teilnehmer.type(String): Typ des Teilnehmers. Mögliche Werte:"end_user","agent","manager","virtual_agent","external_agent"und"task_virtual_agent".entry_type(String): Wie der Teilnehmer dem Chat beigetreten ist. Mögliche Werte:"queue_or_transfer","barge"und"post_session".user_id(Ganzzahl oder null): Nutzer-ID, wenn der Teilnehmer ein Agent ist.end_user_id(Ganzzahl oder null): Nutzer-ID, wenn der Teilnehmer der Nutzer ist.virtual_agent_id(Ganzzahl oder null): ID des virtuellen Agenten, wenn der Teilnehmer ein virtueller Agent ist.virtual_agent_params(Objekt): Benutzerdefinierte Metadaten, die vom virtuellen Agenten verwendet werden. Nur vorhanden, wenn Sie die Einbeziehung benutzerdefinierter Metadaten für den virtuellen Agent konfigurieren.status(String): Status des Teilnehmers. Mögliche Werte:"waiting","connecting","invited","connected","wrapping_up","finished","failed","resuming"und"post_session_in_progress".fail_reason(String): Grund für den Fehler, falls vorhanden. Mögliche Werte:"nothing","canceled","ag_connection_timeout"und"unknown".connected_at(String, Datum/Uhrzeit oder Null): Zeitstempel, zu dem der Teilnehmer verbunden wurde.phone_number(String): Telefonnummer des Teilnehmers. Nur bei Verbrauchern vorhanden.chat_id(Ganzzahl): Kennung für den Chat.chat_duration(Ganzzahl oder null): Chatdauer für den Teilnehmer in Sekunden.finished_at(String, Datum/Uhrzeit oder Null): Zeitstempel, der angibt, wann die Beteiligung des Teilnehmers endete.agent_assist(Objekt): Agent Assist-Einstellungen, die für den Teilnehmer aktiv sind. Immer vorhanden; ein leeres Standardobjekt, wenn Agent Assist nicht konfiguriert ist.virtual_agent(Objekt oder null): Details zum virtuellen Agenten, der als dieser Teilnehmer fungiert; unterscheidet sich vom übergeordnetenagent_infound vonvirtual_agent_params.sip_headers(Objekt oder null): SIP-Header, die diesem Teilnehmer zugeordnet sind. Immer in der Nutzlast vorhanden; null, wenn die CCAI-Plattform keine erfasst.location(String oder null): Der konfigurierte Standort des KI-Agenten. Nur bei Agenten-Teilnehmern vorhanden.location_id(Ganzzahl oder null): Die Kennung des Standorts. Nur für KI-Agenten präsentieren.email(String, E‑Mail-Adresse): Die E‑Mail-Adresse des KI-Agenten. Nur bei Agent-Teilnehmern vorhanden.first_name(String oder null): Der Vorname des KI-Agenten. Nur bei Agent-Teilnehmern vorhanden.last_name(String oder null): Der Nachname des KI-Agenten. Nur bei Agent-Teilnehmern vorhanden.middle_name(String oder null): Der zweite Vorname des Agenten. Nur bei Agent-Teilnehmern vorhanden.teams(Array): Array von{ id, name }-Objekten, die die Teams beschreiben, zu denen der Agent gehört. Nur für KI-Agenten präsentieren.
Check-in-Protokolle
check_in_logs(Array): Check-in-Ereignisse, die während der Chatsitzung aufgezeichnet wurden. Jede Artikelgruppe gruppiert Check-in-Ereignisse für einen Check-in-Ablauf.check_in_id(Ganzzahl): Kennung des Check-in-Ablaufs.check_in_modal_displayed(String, Datum/Uhrzeit): Zeitstempel, der angibt, wann die CCAI Platform dem Nutzer das modale Fenster für den Check-in angezeigt hat. Nur vorhanden, wenn die CCAI-Plattform das Check-in-Modal angezeigt hat.check_in_modal_confirmed(String, Datum/Uhrzeit): Zeitstempel, der angibt, wann der Nutzer bestätigt hat, dass er noch anwesend ist. Nur vorhanden, wenn der Nutzer das Einchecken im modalen Dialogfeld bestätigt hat.check_in_modal_timed_out(String, Datum/Uhrzeit): Zeitstempel, zu dem die Aufforderung zum Einchecken abgelaufen ist. Nur vorhanden, wenn das Zeitlimit für das modale Fenster für den Check-in überschritten wurde.timeout_modal_rejoin_success(String, Datum/Uhrzeit): Zeitstempel, der angibt, wann die Aktion zum erneuten Beitritt erfolgreich war. Wird nur angezeigt, wenn der Nutzer nach einer Zeitüberschreitung wieder beigetreten ist.timeout_modal_rejoin_failed_after_hour(String, Datum/Uhrzeit): Zeitstempel, zu dem die Aktion zum erneuten Beitritt aufgrund des Verhaltens außerhalb der Öffnungszeiten fehlgeschlagen ist. Wird nur angezeigt, wenn der erneute Beitritt fehlgeschlagen ist, weil die Warteschlange außerhalb der Geschäftszeiten war.timeout_modal_exit_chat(String, Datum/Uhrzeit): Zeitstempel, der angibt, wann der Nutzer den Chat verlassen hat. Wird nur angezeigt, wenn der Nutzer den Chat über das Zeitüberschreitungsfenster verlassen hat.timeout_modal_time_out_sdk_closed(String, Datum/Uhrzeit): Zeitstempel, der angibt, wann der Zeitüberschreitungs-Modalablauf beendet wurde, weil das SDK geschlossen wurde. Nur vorhanden, wenn das SDK nach einer Zeitüberschreitung geschlossen wurde.
Ereignisse anbieten
offer_type(String oder Null): Art und Weise, wie die CCAI Platform dem Agenten den Chat angeboten hat.offer_events(Array): Ereignisse, bei denen die CCAI Platform den Chat Agenten angeboten hat.casting_time(String, Datum/Uhrzeit): Zeitpunkt, zu dem die CCAI Platform den Chat angeboten hat.group(String): Gruppe, der die CCAI Platform den Chat angeboten hat.
Sonstige Details
dismiss_duration(Ganzzahl): Dauer, die der Chat im Status „Verworfen“ verbracht hat, in Sekunden. Nur vorhanden, wenn der Chat im Status „Verworfen“ war.answer_type(String oder Null): Wie der Chat beantwortet wurde. Mögliche Werte:"manual","auto","outbound"und"deflection".inbound_number(String): Eingehende Telefonnummer, die mit dem Chat verknüpft ist. Nur vorhanden, wenn dem Chat eine eingehende Telefonnummer zugeordnet ist.outbound_number(String): Ausgehende Telefonnummer, die mit dem Chat verknüpft ist. Nur vorhanden, wenn dem Chat eine Telefonnummer für ausgehende Anrufe zugeordnet ist.after_hours(boolesch): Gibt an, ob der Chat außerhalb der Geschäftszeiten stattgefunden hat.dispositions(Array): Nachbereitungscodes und Notizen, die von den Kundenservicemitarbeitern aufgezeichnet wurden. Wird nur angezeigt, wenn Sie Nachbereitungscodes oder Notizen in Ihrem Konto aktivieren. Jeder Eintrag kann Felder enthalten, die je nach Nachbereitungskonfiguration bedingt gerendert werden:user_id(Ganzzahl): Agent-ID.transfer_id(Ganzzahl oder null): ID des Übertragungsereignisses, falls nach einer Übertragung aufgezeichnet.participant_id(Ganzzahl): Teilnehmer-ID.note(String): Freitext-Notiz des Kundenservicemitarbeiters.original_note(String): Originalversion der Notiz (vor der Bearbeitung).code(String): Name des Dispositionscodes.ujet_code_id(Ganzzahl oder leerer String): Die von der CCAI Platform zugewiesene Kennung des Dispositionscodes; ein stabiler Schlüssel für den Code (der Anzeigename des Codes kann sich ändern). Leerer String, wenn nicht verfügbar.list(String): Name der Liste, zu der der Code gehört.list_path(String): Durch Schrägstriche getrennter Pfad der Codeliste.ujet_list_id(Ganzzahl oder leerer String): Die von der CCAI Platform zugewiesene Kennung der Liste, zu der der Dispositionscode gehört; ein stabiler Schlüssel für die Liste. Leerer String, wenn nicht verfügbar.custom_list_id(String oder Ganzzahl): Vom Kunden definierte Listen-ID, falls zugeordnet.custom_code_id(String oder Ganzzahl): Vom Kunden definierte Code-ID, falls zugeordnet.
auto_session_summaries(Array): KI-generierte Sitzungszusammenfassungen, die im CRM-Eintrag gespeichert sind. Wird nur angezeigt, wenn Sie die Zusammenfassung von Unterhaltungen in Ihrem Konto aktivieren und die KI eine Zusammenfassung generiert. Jeder Eintrag enthält Folgendes:user_id(Ganzzahl): Kennung des KI-Agenten, mit dem die Zusammenfassung verknüpft ist.participant_id(Ganzzahl): Teilnehmer-ID.session_summary(String): Der Zusammenfassungstext.session_summary_sections(Array oder Objekt): Die Zusammenfassung, aufgeteilt in strukturierte Abschnitte, falls verfügbar.
transfer_limit(Objekt oder null): Daten zum Übertragungslimit für den Chat.enabled(boolesch): Gibt an, ob das Tracking des Übertragungslimits für den Chat aktiviert wurde.limit_count(Ganzzahl): Anzahl der zulässigen Übertragungen.limit_reached(boolesch): Gibt an, ob der Chat das konfigurierte Übertragungslimit erreicht hat.
email(String, E-Mail oder Null): Die E-Mail-Adresse des Nutzers.feedback(String oder null): Feedback des Nutzers.smart_action_text(String oder Null): Text der ausgeführten intelligenten Aktion.
Definitionen
Die folgenden Unterschemas werden an mehreren Stellen im Dokument mit den Metadaten der Chatsitzung angezeigt. Jedes Unterschema wird einmal angezeigt. Attributgruppen, die auf sie verweisen, verweisen auf diesen Abschnitt, anstatt ihre Form inline neu zu definieren.
menu_path (Objekt)
Beschreibt einen hierarchischen Menüpfad, den der Chat durchlaufen hat. Eine vollständige Liste der Felder finden Sie unter Menünavigation.
Referenziert von: dem Feld menu_path auf oberster Ebene; jedem transfers[].from_menu_path und transfers[].to_menu_path; jedem escalations[].from_menu_path und escalations[].to_menu_path.
agent (Objekt)
Beschreibt einen menschlichen Kundenservicemitarbeiter. Dies ist eine der beiden Varianten des agent_info-Diskriminators auf oberster Ebene (siehe Schemastamm). Eine vollständige Liste der Felder finden Sie unter Informationen zu Agenten und virtuellen Agenten.
Referenziert von: dem Feld agent_info, wenn der letzte Handler des Chats ein menschlicher Kundenservicemitarbeiter war; jedem transfers[].from_agent und transfers[].to_agent; jedem escalations[].to_agent.
virtual_agent (Objekt)
Beschreibt einen virtuellen Agenten. Dies ist eine der beiden Varianten des agent_info-Diskriminators auf oberster Ebene (siehe Schemastamm). Eine vollständige Liste der Felder finden Sie unter Informationen zu Agenten und virtuellen Agenten.
Referenziert von: dem Feld agent_info, wenn der letzte Handler des Chats ein virtueller Agent war; jedem transfers[].from_virtual_agent und transfers[].to_virtual_agent; jedem escalations[].from_virtual_agent; jedem virtual_agent_handle_durations[].virtual_agent; jedem virtual_agent_deflected_escalations[].virtual_agent; jedem participants[].virtual_agent.
deflection (String, Enum)
Der mit einer Übertragung verknüpfte Ablenkungsstatus. Die Werte folgen dem Muster <trigger>_<destination>, wobei das Präfix die Bedingung identifiziert, die die Umleitung ausgelöst hat, und das Suffix das Ziel oder die Behandlung identifiziert (z. B. _phone, _voicemail, _message, _queue, _sip, _extension, _callback, _wait).
Zulässige Werte, gruppiert nach Triggerfamilie:
Keine Ablenkung:
no_deflection,deflectingÜberkapazität, wenn die Warteschlange den Kapazitätsschwellenwert überschritten hat:
over_cap_phone,over_cap_voicemail,over_cap_callback,over_cap_wait,over_cap_message,over_cap_ewt_only,over_cap_queue,over_cap_sip,over_cap_extension,over_cap_phone_with_extensionAußerhalb der Öffnungszeiten, wenn der Chat außerhalb der im Menü konfigurierten Öffnungszeiten eingegangen ist:
after_hours_voicemail,after_hours_phone,after_hours_message_only,after_hours_message,after_hours_queue,after_hours_sip,after_hours_extension,after_hours_phone_with_extensionTemporäre Weiterleitung, wenn im Menü eine temporäre Weiterleitung konfiguriert wurde:
temp_redirection_phone,temp_redirection_message,temp_redirection_voicemail,temp_redirection_queue,temp_redirection_sip,temp_redirection_extension,temp_redirection_phone_with_extensionIVR-Vorsitzung:
ivr_presession_deflectionWeiterleitung durch virtuellen Kundenservicemitarbeiter, wenn ein virtueller Kundenservicemitarbeiter den Chat weitergeleitet hat:
va_redirection_phone,va_redirection_sip
Referenziert von: jedem transfers[].deflection. (Für die vom virtuellen Kundenservicemitarbeiter abgewiesenen Eskalationen unter Vom virtuellen Kundenservicemitarbeiter abgewiesene Eskalationen wird ein separates, kleineres Vokabular verwendet, das dort inline dokumentiert ist.)
transfer (Objekt)
Beschreibt eine Weiterleitung, die während des Chats stattgefunden hat. Bei einer Weiterleitung kann ein Chat zwischen Menüs, Agenten und virtuellen Agenten verschoben werden. Eine vollständige Liste der Felder finden Sie unter Chatübertragungen.
Referenziert von: dem transfers-Array auf oberster Ebene. (Andere Felder mit dem Namen transfer_id im gesamten Dokument sind Ganzzahlverweise auf die id einer Übertragung, keine Inline-transfer-Objekte.)
participant (Objekt)
Beschreibt einen Teilnehmer im Chat. Die Form des Teilnehmers variiert je nach Teilnehmertyp. Agenten-Teilnehmer können Felder für Agentenprofil, Standort, Team und Agent Assist enthalten, während Kunden- und virtuelle Agenten-Teilnehmer typspezifische Kennungen enthalten. Eine vollständige Liste der dokumentierten Felder finden Sie unter Teilnehmer.
Referenziert von: dem participants-Array auf oberster Ebene; auto_session_summaries[].participant_id; Disposition-Datensätzen.
Dauerzeile (Objekt)
Beschreibt ein gemessenes Intervall innerhalb des Chats, z. B. die Bearbeitungszeit des Kundenservicemitarbeiters, die Wartezeit, die Bearbeitungszeit des Kunden, die Ereigniszeit des Kunden oder die Bearbeitungszeit des virtuellen Kundenservicemitarbeiters. Jedes Dauer-Array hat eine eigene Zeilenform, da gleichnamige Felder in verschiedenen Tabellen unterschiedliche Genauigkeiten oder Nullwerte haben können.
Referenziert von: handle_durations, queue_durations, virtual_agent_handle_durations, consumer_handle_durations und consumer_event_durations.
Versionsverwaltung und Einstellungen
Das Dokument mit den Sitzungsmetadaten für den Chat ist für eine abwärtskompatible Schemaentwicklung konzipiert. Neue Felder und Arrays können jederzeit hinzugefügt werden. Integrationen sollten alle nicht erkannten Schlüssel ignorieren, damit die Funktionalität weiterhin gewährleistet ist. Die folgenden Felder sind veraltet oder anderweitig ersetzt. Sie bleiben aus Gründen der Abwärtskompatibilität in der Nutzlast, aber neue Integrationen sollten den jeweiligen Anleitungen folgen.
Legacy-Duplikate
session_type(String): Legacy-Alias vonchat_type. Gibt immer denselben Wert wiechat_typezurück und verwendet dasselbe Legacy-Enum-Vokabular. Wird aus Gründen der Abwärtskompatibilität mit Integrationen beibehalten, die aufsession_typebasieren. Neue Integrationen solltenchat_typedirekt parsen oder für detailliertere Unterscheidungensession_type_v2(siehe Vokabularentwicklung unten).
Entwicklung des Vokabulars
chat_type und session_type_v2 beschreiben denselben zugrunde liegenden Chattyp mit zwei verschiedenen Vokabularen. Die CCAI Platform gibt beide Felder für jeden Datensatz aus. Sie sind keine Duplikate voneinander:
chat_typeverwendet das alte Enum-Vokabular. Werte wie „Messaging Inbound (App Chat)“ und „Messaging (SMS)“ beschreiben die ursprünglichen Chattyp-Kategorien.session_type_v2verwendet das aktuelle Enum-Vokabular. Möglicherweise werden für die Chattypen mit v2-spezifischen Werten detailliertere Unterscheidungen eingeführt. Für Chattypen, die keinen v2-spezifischen Wert haben, gibtsession_type_v2denselben String wiechat_typezurück.
Neue Integrationen sollten session_type_v2 parsen. Die Werte für die einzelnen Felder sind unter Wichtige Informationen aufgeführt.
Additive Felder
Die Nutzlast der Chatsitzungsmetadaten kann im Laufe der Zeit neue Felder auf oberster Ebene, verschachtelte Felder, Felder für Array-Elemente oder Enum-Werte erhalten. Integrationen sollten nicht erkannte Schlüssel ignorieren und Rohdatensätze nach Möglichkeit beibehalten. Vermeiden Sie striktes Parsen, das fehlschlägt, wenn eine neue Property angezeigt wird.