In diesem Dokument wird das Schema des Datensatzes für Metadaten von Chatsitzungen beschrieben. Der Metadatensatz ist das JSON-Dokument, das von Contact Center AI Platform für eine Support-Chat-Sitzung erstellt wird. Die CCAI Platform stellt den Metadatensatz im Rahmen des Chatbefehls session-end für Ihre CRM-Integration bereit. Wenn Sie externen Speicher aktivieren, schreibt CCAI Platform den Datensatz auch in Ihre Konfiguration für externen Speicher und verwendet dabei eine metadata.json-Datei. Für jeden Chat wird ein Datensatz erstellt, der durch das id auf oberster Ebene eindeutig identifiziert wird. Mit diesem Schema können Sie Datensätze in Downstream-Systeme aufnehmen, empfangene Nutzlasten validieren oder Felder Spalten im Data Warehouse zuordnen.
Schemastamm
Der Metadatensatz für die Chatsitzung ist ein einzelnes JSON-Objekt, das eine Chatsitzung darstellt. Drei Konzepte auf höchster Ebene bestimmen die Identität und Form des Datensatzes.
Primärschlüssel: id (Ganzzahl)
Eindeutige Kennung der Chatsitzung in Ihrem Mandanten. Pro Chat ist ein Eintrag vorhanden. Alle anderen Felder der obersten Ebene, Arrays und verschachtelten Objekte beschreiben Attribute des Chats, den diese id identifiziert.
Handler-Diskriminator: agent_info (object, oneOf)
Ein einzelnes Objekt, dessen Form vom letzten Bearbeiter des Chats abhängt. Die beiden Varianten schließen sich gegenseitig aus. Es ist immer nur eine vorhanden:
Variante mit Kundenservicemitarbeiter: Wird angezeigt, wenn der letzte Bearbeiter des Chats ein Kundenservicemitarbeiter war. Enthält
email,first_name,last_nameundagent_numberzusätzlich zu den gemeinsamen Feldernid,nameundavatar_url.Variante für virtuellen Kundenservicemitarbeiter: Wird angezeigt, wenn der letzte Bearbeiter des Chats ein virtueller Kundenservicemitarbeiter war. Enthält
va_aliasund lässtemail,first_name,last_nameundagent_numberaus.
Um zu erkennen, welche Variante ein Datensatz enthält, suchen Sie nach einem variantenspezifischen Feld, in der Regel agent_info.email für die Variante mit Kundenservicemitarbeiter oder agent_info.va_alias für die Variante mit virtuellem Kundenservicemitarbeiter. Vollständige Definitionen für die einzelnen Varianten 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 stimmen immer darin überein, welchen Chattyp ein Datensatz darstellt. Sie unterscheiden sich nur im Vokabular, das zur 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 dient der Abwärtskompatibilität mit Integrationen, die auf diesem Feld basieren. Behandeln Sie es als veralteten Alias vonchat_type.session_type_v2: Verwendet das aktuelle Enum-Vokabular, das möglicherweise detailliertere 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 der einzelnen Felder finden Sie unter Wichtige Informationen.
Wichtige Informationen
id(Ganzzahl): Eine eindeutige Kennung für jede Chatsitzung. Mit diesem Primärschlüssel wird ein Chat von einem anderen unterschieden.lang(String): Der ISO 639-Sprachcode, der während des Chats verwendet wurde (z. B."en"für Englisch,"es"für Spanisch).chat_type(String): Der Typ des Chats, wobei das alte 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. Weitere Informationen finden Sie unter Versionsverwaltung und Einstellung: Legacy-Duplikate.session_type_v2(String): Der Typ des Chats, wobei das aktuelle Typvokabular verwendet wird. Diechat_type-Werte werden durch detailliertere Unterscheidungen optimiert. 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 using the API)","Messaging Inbound (SMS Direct)","Messaging Outbound (SMS Direct)"und"Messaging Outbound (SMS Direct using the 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". In CCAI Platform wird ein abgeschlossener Chat, auf den der Kunde nicht geantwortet hat, als"no_response"gemeldet.sub_status(String oder Null): Genauere Statusdetails für den Chat, sofern 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 für die Erstellung der Chatsitzung durch die CCAI Platform.assigned_at(String, Datum/Uhrzeit oder null): Der Zeitstempel, als CCAI Platform den Chat einem Kundenservicemitarbeiter zugewiesen hat, oder null, wenn er nicht zugewiesen wurde.ends_at(String, Datum/Uhrzeit oder null): Der Zeitstempel für das Ende der Chatsitzung.updated_at(String, Datum/Uhrzeit): Der Zeitstempel, der angibt, wann die Chatdaten zuletzt von der CCAI Platform aktualisiert wurden.first_msg_sent_at(String, Datum/Uhrzeit oder null): Der Zeitstempel für den Versand der ersten Nachricht eines Teilnehmers im Chat.last_msg_sent_at(String, Datum/Uhrzeit oder „null“): Der Zeitstempel für den Versand der letzten Nachricht eines Teilnehmers im Chat.wait_duration(Ganzzahl): Die Gesamtzeit, die der Kunde gewartet hat, in Sekunden.chat_duration(Ganzzahl): Die Gesamtdauer des Chats in Sekunden.verified(boolesch): Gibt an, ob die Interaktion durch die Smart Action zur Bestätigung bestätigt wurde.rating(Ganzzahl oder „null“): Die vom Verbraucher angegebene Kundenzufriedenheitsbewertung (CSAT) oder „null“, wenn der Verbraucher keine Bewertung abgegeben hat.has_feedback(boolesch): Gibt an, ob der Nutzer nach dem Chat Feedback gegeben hat.out_ticket_id(String oder Null): Die ID des Tickets, das von der CCAI-Plattform im externen CRM-System erstellt wurde.out_ticket_url(String, URI oder Null): Die URL des CRM-Tickets.is_out_ticket_account(boolescher Wert 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 verwendete Chat-Anbietertyp. Mögliche Werte:"unknown","messaging","twilio_conversations","nexmo_conversations"und"ujet_conversations".provider_channel_id(String oder Null): anbieterspezifische Channel-ID für den Chat.message_count(Ganzzahl): Die Gesamtzahl der im Chat ausgetauschten Nachrichten.average_response_time(Ganzzahl): Die durchschnittliche Zeit, die Kundenservicemitarbeiter während des Chats benötigt haben, um zu antworten, in Sekunden.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(boolesch): Gibt an, ob für die Sitzung ein Chat-Transkript vorhanden ist.
Informationen zu Agenten und virtuellen Kundenservicemitarbeitern
agent_info(Objekt): Informationen zum Kundenservicemitarbeiter oder virtuellen Kundenservicemitarbeiter, der den Chat zuletzt bearbeitet hat. In diesem Feld wird das KeywordoneOfverwendet, um anzugeben, dass es sich um einen von zwei Typen handeln kann.agent(Objekt): Informationen zum menschlichen Kundenservicemitarbeiter:id(Ganzzahl): Die eindeutige ID des Agenten.agent_number(String oder null): Eine dem Agent zugewiesene Kennzeichnung.email(String, E-Mail): Die E-Mail-Adresse des KI-Agenten.name(String): Der vollständige Name des Kundenservicemitarbeiters.last_name(String): Der Nachname des Kundenservicemitarbeiters.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 Kundenservicemitarbeiter:id(Ganzzahl): Die eindeutige ID des virtuellen Agenten.name(String): Der Name des virtuellen Kundenservicemitarbeiters.avatar_url(String, URI oder null): Die URL des Avatarbilds des virtuellen Kundenservicemitarbeiters.va_alias(String oder null): Der Anzeigealias des virtuellen Kundenservicemitarbeiters, 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 des Menüs.name(String): Der Name des Menüs.parent_id(Ganzzahl oder null): Die ID des übergeordneten Menüs, sofern vorhanden.position(Ganzzahl oder null): Die Menüposition relativ zu anderen Menüs auf derselben Ebene.deleted(boolesch): Gibt an, ob ein Administrator das Menü gelöscht hat.menu_type(String): Der Menütyp, 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 der ausgewählten Warteschlange des Chats zugewiesene Warteschlangenpriorität. Nur vorhanden, wenn die Warteschlangenpriorität in Ihrem 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 Kunden im CRM.
Kunden-Flags und vom SDK bereitgestellte Daten
customer_flag(Objekt): Flags, die wichtige Verbraucherattribute kennzeichnen, die von externen Systemen während der Sitzung bereitgestellt oder aktualisiert wurden. Wird nur angezeigt, wenn externe Systeme während der Sitzung authentifizierungsbezogene Kundenkennzeichnungen bereitgestellt oder aktualisiert haben.verified_customer(boolesch): Gibt an, ob ein externes System den Nutzer als bestätigt gekennzeichnet hat.bad_actor(boolesch): Gibt an, ob ein externes System den Nutzer als böswilligen Akteur gekennzeichnet hat.repeat_customer(boolesch): 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 entsprechen den SIP-Headern, die vom Upstream-Anbieter empfangen wurden. Wird nur angezeigt, wenn Sie die Erfassung von SIP-Headern in Ihrem Konto aktivieren und so konfigurieren, dass sie in den Sitzungsmetadaten angezeigt werden.
Medienanhänge
photos(Array): Fotos oder Screenshots, die dem Chat zugeordnet sind.id(Ganzzahl): Eindeutige Kennung für das Foto.photo_type(String): Der Fototyp. Mögliche Werte sind"photo"und"screenshot".url(string, uri): URL des gespeicherten Fotos.smart_action_type(String oder „null“): Die mit dem Foto verknüpfte Smart Action, falls vorhanden.transfer_id(Ganzzahl oder null): Kennung des Übertragungsereignisses, das dem Foto zugeordnet 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 dem Video zugeordnet ist, wenn ein Teilnehmer es nach Abschluss der Übertragung hochgeladen hat.
Chatübertragungen
transfers(Array): Ein Eintrag pro Übertragungsereignis während des Chats. Erfasst Transfers zwischen Kundenservicemitarbeitern, virtuellen Kundenservicemitarbeitern und Menüs.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 den fehlgeschlagenen Transfer oder"nothing", wenn der Transfer 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, date-time): Zeitstempel für den Beginn der Übertragung.assigned_at(String, Datum/Uhrzeit oder null): Zeitstempel, als die Übertragung von der CCAI-Plattform zugewiesen wurde.connected_at(String, Datum/Uhrzeit oder Null): Zeitstempel für die Verbindung des Transfers.updated_at(String, Datum/Uhrzeit oder null): Zeitstempel der letzten Aktualisierung des Übertragungsdatensatzes durch CCAI Platform.call_duration(Ganzzahl oder null): Dauer des übertragenen Chatsegments in Sekunden.wait_duration(Ganzzahl oder null): Zeit, die der Kunde während der Übertragung gewartet hat, in Sekunden.deflection(String): Der mit dem Transfer verknüpfte Ablenkungstyp. Zulässige Werte finden Sie unter Definitionen:deflection.answer_type_path(String oder Null): Pfad, der beschreibt, wie Agents oder Menüs auf die ursprünglichen und Zielchats geantwortet haben.from_menu_path/to_menu_path(Objekt oder Null): Menüpfad vor und nach der Übertragung; dieselbe Form wiemenu_pathin Definitionen.from_agent/to_agent(Objekt oder Null): Kundenservicemitarbeiter auf jeder Seite der Weiterleitung; dieselbe Form wie dasagent-Objekt in Definitionen.from_virtual_agent/to_virtual_agent(Objekt oder Null): Der virtuelle Kundenservicemitarbeiter auf jeder Seite der Weiterleitung. Hat dieselbe Form wie dasvirtual_agent-Objekt in Definitions.from_queue_priority_level/to_queue_priority_level(Ganzzahl oder „null“): Priorität der Warteschlange 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 Dauer des Handles.agent_id(Ganzzahl oder null): Kennung des Agenten.acw_duration(Ganzzahl): Nach der Chat-Arbeitszeit in Sekunden.chat_duration(Ganzzahl): Die Dauer des Chats in diesem Segment in Sekunden.menu_path_id(Ganzzahl oder null): ID des Menüpfads.menu_path(String): Name des Menüpfads.lang(String): Die verwendete Sprache.transfer(boolesch): Gibt an, ob eine Übertragung stattgefunden hat.transfer_id(Ganzzahl oder null): ID der Übertragung.started_at(string, date-time oder null): Startzeitstempel.ended_at(string, date-time oder null): Endzeitstempel.response_count(Ganzzahl): Anzahl der Antworten des KI-Agents.response_time_total(Ganzzahl): Gesamte Reaktionszeit des Kundenservicemitarbeiters in Sekunden.response_time_max(Ganzzahl): Längste Reaktionszeit des Kundenservicemitarbeiters in Sekunden.response_time_avg(number or null): Durchschnittliche Antwortzeit des Agents in Sekunden. Dieser Wert kann Dezimalstellen enthalten.assigned_connection_duration(Ganzzahl): Dauer, die der Kunde gewartet hat, während sich der zugewiesene Kundenservicemitarbeiter in diesem Segment verbunden hat.
Warteschlangendauer
queue_durations(Array): Ein Array von Objekten, die jeweils ein Segment des Chats darstellen, in dem der Kunde in einer Warteschlange gewartet hat.id(Ganzzahl): Eindeutige Kennung.agent_id(Ganzzahl oder null): Agenten-ID.ended_at(string, date-time): End-Timestamp.lang(String): Sprache.menu_path_id(Ganzzahl oder null): Kennung des Menüpfads.menu_path(String): Menüpfad.queue_duration(Ganzzahl oder null): Warteschlangendauer in Sekunden.started_at(string, date-time): Startzeitstempel.transfer_cold(boolescher Wert oder „null“): Gibt an, ob der Chat kalt übertragen wurde.transfer(boolesch): Gibt an, ob eine Übertragung stattgefunden hat.transfer_id(Ganzzahl oder null): Transfer-ID.service_level_abandon_time_threshold(Ganzzahl): Grenzwert für das Abbrechen von Anrufen auf Serviceebene in Sekunden.service_level_event(String): Status des Ereignisses auf Serviceebene. Mögliche Werte sind"excluded","in_sla"und"not_in_sla".service_level_target_percent(Ganzzahl): Prozentsatz des Service Level Target.service_level_target_time(Ganzzahl): Zielzeit für das Servicelevel in Sekunden.
Eskalierungen von virtuellen Kundenservicemitarbeitern an Kundenservicemitarbeiter
escalations(Array): Jeder Eintrag steht für eine Eskalierung von einem virtuellen zu einem menschlichen Kundenservicemitarbeiter.id(Ganzzahl): Eindeutige Kennung für die Eskalierung.status(String): Aktueller Status der Eskalierung. Mögliche Werte:"escalating","escalated","canceled","deflecting"und"deflected".reason(String): Der 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 für den Beginn der Eskalierung.escalated_at(String, Datum/Uhrzeit oder „null“): Zeitstempel für den Abschluss der Eskalierung.from_virtual_agent(Objekt oder Null): Der virtuelle Kundenservicemitarbeiter, der den Chat eskaliert hat. Hat dieselbe Form wie dasvirtual_agent-Objekt in Definitionen.to_agent(Objekt oder null): Kundenservicemitarbeiter, an den der Chat eskaliert wurde. Hat dieselbe Form wie dasagent-Objekt in Definitions.from_menu_path/to_menu_path(Objekt oder Null): Menüpfad vor und nach der Eskalierung.
Eskalierungen, die von einem virtuellen Kundenservicemitarbeiter abgewendet wurden
virtual_agent_deflected_escalations(Array): Details zu Eskalierungen von virtuellen Kundenservicemitarbeitern, die an ein anderes Ziel weitergeleitet wurden.id(Ganzzahl): Eindeutige Kennung.deflection(String): Der Typ der Weiterleitung für die weitergeleitete Eskalierung. 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 Eskalierungsereignisses.escalation_reason(String): Grund für die Eskalation. Dieselben Werte wie fürescalations[].reason(siehe 10. Eskalierungen von virtuellen Kundenservicemitarbeitern an menschliche Kundenservicemitarbeiter).escalated_at(String, Datum/Uhrzeit): Zeitstempel der Eskalierung.menu_path_id(Ganzzahl): Menüpfad-ID.menu_path(String): Menüpfad.lang(String): Sprache.virtual_agent(Objekt): Details zum virtuellen Kundenservicemitarbeiter. Definitionenvirtual_agent
Bearbeitungszeiten für virtuelle Kundenservicemitarbeiter
virtual_agent_handle_durations(Array): Zeitsegmente, in denen der Chat von einem virtuellen Kundenservicemitarbeiter bearbeitet wurde.id(Ganzzahl): Eindeutige Kennung.virtual_agent(Objekt): Details zum virtuellen Kundenservicemitarbeiter. Definitionenvirtual_agentchat_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): Die gesamte Antwortzeit des virtuellen Kundenservicemitarbeiters in Sekunden.response_time_max(Ganzzahl): Die längste Antwortzeit des virtuellen Kundenservicemitarbeiters in Sekunden.response_time_avg(Zahl oder null): Durchschnittliche Reaktionszeit des virtuellen Kundenservicemitarbeiters in Sekunden. Dieser Wert kann Dezimalstellen enthalten.fallback_response_count(Ganzzahl): Anzahl der Fallback-Antworten.initiated_by(String): Gibt an, wie die Sitzung mit dem virtuellen Kundenservicemitarbeiter initiiert wurde. Mögliche Werte:"end_user","human_agent"und"post_session".menu_path_id(Ganzzahl): Menüpfad-ID.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, date-time): Startzeitstempel.ended_at(string, date-time): End-Timestamp.
Bearbeitungszeiten für Verbraucheranfragen
consumer_handle_durations(Array): Die Zeiträume, in denen sich der Kunde im Chat befand.id(Ganzzahl): Eindeutige Kennung.chat_duration(Ganzzahl): Dauer des Nutzersegments in Sekunden.started_at(string, date-time oder null): Startzeitstempel.ended_at(string, date-time oder null): Endzeitstempel.message_count(Ganzzahl): Anzahl der Verbrauchernachrichten.response_count(Ganzzahl): Anzahl der Antworten von Verbrauchern.response_time_total(Ganzzahl): Gesamte Reaktionszeit der Nutzer in Sekunden.response_time_max(Ganzzahl): Die längste Reaktionszeit des Verbrauchers in Sekunden.response_time_avg(Ganzzahl): Durchschnittliche Reaktionszeit des Nutzers in Sekunden.
Dauer von Verbraucherereignissen
consumer_event_durations(Array): Details zu Chatereignissen von Nutzern (z. B. Umfrage zur Kundenzufriedenheit, Zahlung).id(Ganzzahl): Eindeutige Kennung.duration(Ganzzahl): Ereignisdauer in Sekunden.type(String): Ereignistyp. Mögliche Werte:"csat".event(String): Ereignisergebnis. Mögliche Werte:"finished"und"abandoned".menu_path_id(Ganzzahl): Menüpfad-ID.menu_path(String): Menüpfad.lang(String): Sprache.started_at(string, date-time): Startzeitstempel.ended_at(string, date-time): End-Timestamp.
Teilnehmer*innen
participants(Array): Informationen zu den einzelnen Teilnehmern des Chats (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 Kundenservicemitarbeiter ist.end_user_id(Ganzzahl oder null): Nutzer-ID, wenn der Teilnehmer der Nutzer ist.virtual_agent_id(Ganzzahl oder null): ID des virtuellen Kundenservicemitarbeiters, wenn der Teilnehmer ein virtueller Kundenservicemitarbeiter ist.virtual_agent_params(Objekt): Benutzerdefinierte Metadaten, die vom virtuellen Agent verwendet werden. Nur vorhanden, wenn Sie die Einbeziehung benutzerdefinierter Metadaten für den virtuellen Kundenservicemitarbeiter 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 die Verbindung hergestellt hat.phone_number(String): Telefonnummer des Teilnehmers. Nur bei Teilnehmern, die Privatnutzer sind.chat_id(Ganzzahl): Kennung für den Chat.chat_duration(Ganzzahl oder Null): Dauer des Chats für den Teilnehmer in Sekunden.finished_at(String, Datum/Uhrzeit oder null): Zeitstempel für das Ende der Teilnahme des Teilnehmers.agent_assist(object): 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 Kundenservicemitarbeiter, der als dieser Teilnehmer fungiert. Er unterscheidet sich vomagent_info-Objekt auf oberster Ebene und vonvirtual_agent_params.sip_headers(object oder null): Mit diesem Teilnehmer verknüpfte SIP-Header. Immer in der Nutzlast vorhanden; „null“, wenn von der CCAI-Plattform keine erfasst werden.location(String oder null): Der konfigurierte Standort des Agents. Nur für Agenten verfügbar.location_id(Ganzzahl oder null): Die ID des Standorts. Nur für KI-Agenten präsentieren.email(String, E-Mail): Die E-Mail-Adresse des KI-Agenten. Nur für KI-Agenten-Teilnehmer präsentieren.first_name(String oder null): Der Vorname des Kundenservicemitarbeiters. Nur für KI-Agenten-Teilnehmer präsentieren.last_name(String oder null): Der Nachname des Kundenservicemitarbeiters. Nur für KI-Agenten-Teilnehmer präsentieren.middle_name(String oder null): Der zweite Vorname des Kundenservicemitarbeiters. Nur für KI-Agenten-Teilnehmer präsentieren.teams(Array): Array von{ id, name }-Objekten, die die Teams beschreiben, zu denen der Agent gehört. Nur für Agenten-Teilnehmer verfügbar.
Check-in-Logs
check_in_logs(Array): Check-in-Ereignisse, die während der Chatsitzung aufgezeichnet wurden. Jedes Element gruppiert Check-in-Ereignisse für einen Check-in-Ablauf.check_in_id(Ganzzahl): Kennung des Check-in-Ablaufs.check_in_modal_displayed(string, date-time): Zeitstempel, der angibt, wann das Check-in-Modal in der CCAI Platform für den Kunden angezeigt wurde. Nur vorhanden, wenn das Check-in-Modal von CCAI Platform angezeigt wurde.check_in_modal_confirmed(String, Datum/Uhrzeit): Zeitstempel, der angibt, wann der Nutzer bestätigt hat, dass er noch anwesend ist. Ist nur vorhanden, wenn der Nutzer das Check-in-Modal bestätigt hat.check_in_modal_timed_out(String, Datum/Uhrzeit): Zeitstempel für den Zeitpunkt, zu dem die Aufforderung zum Check-in abgelaufen ist. Nur vorhanden, wenn das Check-in-Modal abgelaufen ist.timeout_modal_rejoin_success(String, Datum/Uhrzeit): Zeitstempel, der angibt, wann die Aktion zum erneuten Beitreten erfolgreich war. Wird nur angezeigt, wenn der Nutzer nach dem Zeitlimit erfolgreich wieder beigetreten ist.timeout_modal_rejoin_failed_after_hour(String, Datum/Uhrzeit): Zeitstempel, als die Aktion zum erneuten Beitreten aufgrund von Verhalten außerhalb der Öffnungszeiten fehlgeschlagen ist. Wird nur angezeigt, wenn der erneute Beitritt fehlgeschlagen ist, weil die Warteschlange nach Feierabend war.timeout_modal_exit_chat(string, date-time): Zeitstempel, der angibt, wann der Nutzer den Chat beendet hat. Nur vorhanden, wenn der Verbraucher den Chat über das Zeitüberschreitungs-Modal beendet hat.timeout_modal_time_out_sdk_closed(string, date-time): Zeitstempel für das Ende des Timeout-Modal-Ablaufs, weil das SDK geschlossen wurde. Wird nur angezeigt, wenn das SDK nach einem Zeitlimit geschlossen wurde.
Events anbieten
offer_type(String oder „null“): Art und Weise, wie CCAI Platform dem Kundenservicemitarbeiter den Chat angeboten hat.offer_events(Array): Ereignisse, bei denen CCAI Platform den Chat Kundenservicemitarbeitern angeboten hat.casting_time(String, Datum/Uhrzeit): Zeitpunkt, zu dem die CCAI Platform den Chat angeboten hat.group(string): Gruppe, der CCAI Platform den Chat angeboten hat.
Sonstige Details
dismiss_duration(Ganzzahl): Dauer des Chats im Status „Abgelehnt“ in Sekunden. Nur vorhanden, wenn sich der Chat im Status „Abgelehnt“ befunden hat.answer_type(String oder null): Wie auf den Chat geantwortet wurde. Mögliche Werte:"manual","auto","outbound"und"deflection".inbound_number(String): Eingehende Telefonnummer, die dem Chat zugeordnet ist. Ist nur vorhanden, wenn dem Chat eine eingehende Telefonnummer zugeordnet ist.outbound_number(String): Die ausgehende Telefonnummer, die dem Chat zugeordnet ist. Ist nur vorhanden, wenn dem Chat eine ausgehende Telefonnummer zugeordnet ist.after_hours(boolesch): Gibt an, ob der Chat außerhalb der Geschäftszeiten stattgefunden hat.dispositions(Array): Wrap-up-Codes und Notizen, die von Kundenservicemitarbeitern aufgezeichnet wurden. Nur vorhanden, wenn Sie Wrap-up-Codes oder Notizen in Ihrem Konto aktivieren. Jeder Eintrag kann Felder enthalten, die basierend auf Ihrer Zusammenfassungskonfiguration 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-Hinweis für den Kundenservicemitarbeiter.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-Plattform zugewiesene Kennung des Dispositionscodes. Dies ist 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-Plattform 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, sofern zugeordnet.custom_code_id(String oder Ganzzahl): Vom Kunden definierte Code-Kennung, sofern zugeordnet.
auto_session_summaries(Array): KI-generierte Sitzungszusammenfassungen, die im CRM-Datensatz gespeichert sind. Wird nur angezeigt, wenn Sie die Zusammenfassung von Unterhaltungen in Ihrem Konto aktivieren und die KI erfolgreich eine Zusammenfassung generiert. Jeder Eintrag enthält:user_id(Ganzzahl): Die Kennung des Agenten-Teilnehmers, dem die Zusammenfassung zugeordnet ist.participant_id(Ganzzahl): Teilnehmer-ID.session_summary(String): Der Zusammenfassungstext.session_summary_sections(Array oder Objekt): Die Zusammenfassung, aufgeschlüsselt in strukturierte Abschnitte, sofern verfügbar.
transfer_limit(Objekt oder Null): Daten zum Übertragungslimit für den Chat.enabled(boolesch): Gibt an, ob die Nachverfolgung 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 Kunden.feedback(String oder null): Feedback von Verbrauchern.smart_action_text(String oder „null“): Text einer beliebigen ausgeführten Smart Action.
Definitionen
Die folgenden Unterschemata werden an mehreren Stellen im Dokument mit den Metadaten der Chatsitzung angezeigt. Jedes Unterschema wird einmal angezeigt. Eigenschaftsgruppen, die darauf 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:menu_path-Feld der obersten Ebene; jedes transfers[].from_menu_path und transfers[].to_menu_path; jedes escalations[].from_menu_path und escalations[].to_menu_path.
agent (Objekt)
Beschreibt einen Kundenservicemitarbeiter. Dies ist eine der beiden Varianten des agent_info-Diskriminators der obersten Ebene (siehe Schema-Root). Eine vollständige Liste der Felder finden Sie unter Informationen zu Agents und virtuellen Kundenservicemitarbeitern.
Referenced from (Referenziert aus): Das Feld agent_info, wenn der letzte Bearbeiter des Chats ein Kundenservicemitarbeiter war; jedes transfers[].from_agent und transfers[].to_agent; jedes escalations[].to_agent.
virtual_agent (Objekt)
Beschreibt einen virtuellen Kundenservicemitarbeiter. Dies ist eine der beiden Varianten des agent_info-Diskriminators der obersten Ebene (siehe Schema-Root). Eine vollständige Liste der Felder finden Sie unter Informationen zu Agents und virtuellen Kundenservicemitarbeitern.
Referenziert aus:Das Feld agent_info, wenn der letzte Bearbeiter des Chats ein virtueller Kundenservicemitarbeiter war; jedes transfers[].from_virtual_agent und transfers[].to_virtual_agent; jedes escalations[].from_virtual_agent; jedes virtual_agent_handle_durations[].virtual_agent; jedes virtual_agent_deflected_escalations[].virtual_agent; jedes participants[].virtual_agent.
deflection (String, Enum)
Der Umleitungsstatus, der einem Transfer zugeordnet ist. Die Werte folgen dem Muster <trigger>_<destination>. Das Präfix gibt die Bedingung an, die die Umleitung ausgelöst hat, und das Suffix gibt das Ziel oder die Behandlung an (z. B. _phone, _voicemail, _message, _queue, _sip, _extension, _callback, _wait).
Zulässige Werte, gruppiert nach Triggerfamilie:
Keine Ablenkung:
no_deflection,deflectingÜberlastung, 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 konfigurierten Öffnungszeiten des Menüs:
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 eine temporäre Weiterleitung im Menü 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_deflectionUmleitung durch virtuellen Kundenservicemitarbeiter, wenn der Chat von einem virtuellen Kundenservicemitarbeiter umgeleitet wurde:
va_redirection_phone,va_redirection_sip
Referenziert von:jedem transfers[].deflection. (Für Eskalierungen, die vom virtuellen Kundenservicemitarbeiter abgewiesen wurden in Eskalierungen, die vom virtuellen Kundenservicemitarbeiter abgewiesen wurden wird ein separates, kleineres Abweisungs-Vokabular verwendet, das dort inline dokumentiert ist.)
transfer (Objekt)
Beschreibt eine Übertragung, die während des Chats stattgefunden hat. Bei einer Weiterleitung kann ein Chat zwischen Menüs, Kundenservicemitarbeitern und virtuellen Kundenservicemitarbeitern verschoben werden. Eine vollständige Liste der Felder finden Sie unter Chat-Weiterleitungen.
Referenziert von:Das transfers-Array der obersten Ebene. Andere Felder mit dem Namen transfer_id im gesamten Dokument sind Ganzzahlreferenzen auf die id einer Übertragung und keine Inline-transfer-Objekte.
participant (Objekt)
Beschreibt einen Teilnehmer im Chat. Die Form des Teilnehmers variiert je nach Teilnehmertyp. Agent-Teilnehmer können Agent-Profil-, Standort-, Team- und Agent Assist-Felder enthalten, während Teilnehmer vom Typ „Kunde“ und „virtueller Kundenservicemitarbeiter“ typspezifische Kennungen enthalten. Eine vollständige Liste der dokumentierten Felder finden Sie unter Teilnehmer.
Referenced from (Referenziert von): Das participants-Array der obersten Ebene; auto_session_summaries[].participant_id; Dispositionseinträge.
Zeile mit Dauer (Objekt)
Beschreibt ein gemessenes Intervall im Chat, z. B. die Bearbeitungszeit des Kundenservicemitarbeiters, die Wartezeit in der Warteschlange, die Bearbeitungszeit des Kunden, die Ereigniszeit des Kunden oder die Bearbeitungszeit des virtuellen Kundenservicemitarbeiters. Jedes Dauer-Array hat eine eigene Zeilenform, da Felder mit ähnlichen Namen in verschiedenen Tabellen unterschiedliche Genauigkeit oder Nullwerte haben können.
Referenziert von: handle_durations, queue_durations, virtual_agent_handle_durations, consumer_handle_durations und consumer_event_durations.
Versionsverwaltung und Einstellung
Das Metadatendokument für Chatsitzungen ist für die abwärtskompatible Schemaentwicklung konzipiert. Neue Felder und Arrays können jederzeit hinzugefügt werden. Integrationen sollten alle nicht erkannten Schlüssel ignorieren, um die Funktionalität aufrechtzuerhalten. Die folgenden Felder sind Legacy-Felder oder wurden auf andere Weise ersetzt. Sie bleiben aus Gründen der Abwärtskompatibilität in der Nutzlast, aber bei neuen Integrationen sollte die Anleitung für die einzelnen Felder beachtet werden.
Legacy-Duplikate
session_type(String): Altes Alias vonchat_type. Gibt immer denselben Wert wiechat_typezurück und verwendet dasselbe Legacy-Enum-Vokabular. Beibehalten zur Abwärtskompatibilität mit Integrationen, die aufsession_typebasieren. Bei neuen Integrationen solltechat_typedirekt geparst werden. Für detailliertere Unterscheidungen kannsession_type_v2verwendet werden (siehe Entwicklung des Vokabulars unten).
Entwicklung des Vokabulars
chat_type und session_type_v2 beschreiben denselben zugrunde liegenden Chattyp mit zwei unterschiedlichen Vokabularen. 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 Kategorien für den Chattyp.session_type_v2verwendet den aktuellen Enum-Wortschatz. Möglicherweise werden detailliertere Unterscheidungen für die Chattypen eingeführt, die v2-spezifische Werte haben. Für Chat-Typen, 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 für Metadaten der Chatsitzung kann im Laufe der Zeit neue Felder der obersten Ebene, verschachtelte Felder, Felder für Arrayelemente oder Enum-Werte enthalten. Integrationen sollten unbekannte Schlüssel ignorieren und Rohdatensätze nach Möglichkeit beibehalten. Vermeiden Sie striktes Parsen, das fehlschlägt, wenn eine neue Property angezeigt wird.