In diesem Dokument wird das JSON-Schema beschrieben, das zum Strukturieren von Metadaten für Chatinteraktionen mit dem Kundensupport verwendet wird. Dieses Schema trägt zur Datenkonsistenz bei und erleichtert die effektive Verwaltung und Analyse von Chatdaten.
Schema für Metadaten von Chatsitzungen
Dieses Schema beschreibt die Informationen, die wir zu jeder Kundensupport-Chatsitzung erheben. Die wichtigsten Komponenten werden in den folgenden Abschnitten beschrieben.
Wichtige Informationen
Diese Eigenschaften enthalten die wichtigsten Informationen zu einer Chatsitzung:
id(Ganzzahl). Eine eindeutige Kennung für jede Chatsitzung. Dies ist der Primärschlüssel.lang(String): Der im Chat verwendete ISO 689-Sprachcode. Beispiele:enfür Englisch,esfür Spanisch.chat_type(String). Der Typ des Chats, der einen Legacy-Satz von Typen verwendet. Beispiele sind „Messaging Inbound (App Chat)“, „Messaging (SMS)“ und „Messaging (WhatsApp)“.session_type(String): ein Duplikat vonchat_typesession_type_v2(String). Der Typ des Chats, basierend auf den aktuellen Typen. Dazu können auch Verfeinerungen wie „Eingehende Nachrichten (mobiler Chat)“ gehören.status(String). Der aktuelle Status des Chats. Mögliche Werte sindqueued,assigned,finished,no_response,canceledundfailed.sub_status(String). Bietet einen detaillierteren Status des Anrufs. Mögliche Werte sindwaiting_for_agent,in_queueundconnected_with_agent.created_at(string, date-time): Der Zeitstempel, zu dem die Chatsitzung erstellt wurde.assigned_at(String, Datum/Uhrzeit oder null): Der Zeitstempel, wann der Chat einem Kundenservicemitarbeiter zugewiesen wurde, 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, date-time): Der Zeitstempel, der angibt, wann die Chatdaten zuletzt aktualisiert wurden.first_msg_sent_at(string, date-time): Zeitstempel für den Versand der ersten Nachricht im Chatlast_msg_sent_at(string, date-time): Der Zeitstempel für den Versand der letzten Nachricht im Chatwait_duration(Ganzzahl): Die Gesamtzeit, die der Kunde gewartet hat, in Sekunden.chat_duration(Ganzzahl): Gesamtdauer des Chats in Sekundenverified(boolesch): Gibt an, ob die Interaktion über die Smart Action zur Bestätigung bestätigt wurde.rating(Ganzzahl oder „null“): Die vom Kunden angegebene Bewertung der Kundenzufriedenheit (CSAT) oder „null“, wenn keine Bewertung abgegeben wurdehas_feedback(boolesch): Gibt an, ob der Kunde nach dem Chat Feedback gegeben hat.out_ticket_id(String): Die Kennung des im externen CRM-System erstellten Tickets.out_ticket_url(string, uri): die URL des CRM-Ticketsis_out_ticket_account(boolesch): Gibt an, ob das CRM-Ticket einen Kunden (wahr) oder eine Chat-Interaktion (falsch) darstellt.fail_reason(String): Der Grund für einen Fehler während des Chats. Beispiele sindno_response,expiredundend_user_opt_out.provider_type(String): Der verwendete Chatanbietertyp. Beispiele:unknown,messaging,twilio_conversations.message_count(Ganzzahl): die Gesamtzahl der im Chat ausgetauschten Nachrichtenaverage_response_time(Ganzzahl): Die durchschnittliche Zeit, die Kundenservicemitarbeiter während des Chats für die Antwort benötigt haben, in Sekundenlongest_response_time(String): Die längste Zeit, die ein Kundenservicemitarbeiter während des Chats für eine Antwort benötigt hat, in Sekunden.
Informationen zu Agenten und virtuellen Kundenservicemitarbeitern
Diese Attribute geben an, wer oder was den Chat bearbeitet hat:
agent_info(Objekt): Dieses Feld kann Informationen zu einem Kundenservicemitarbeiter oder einem virtuellen Kundenservicemitarbeiter enthalten. Mit dem Keyword „one of“ wird angegeben, dass es sich um einen von zwei Typen handeln kann.agent(Objekt): Informationen zum menschlichen Kundenservicemitarbeiter:id(Ganzzahl): die eindeutige ID des Agentenagent_number(String oder null): Eine dem Agenten zugewiesene Kennung.email(string, email): die E-Mail-Adresse des KI-Agentenname(String): Der vollständige Name des Kundenservicemitarbeiterslast_name(String): Der Nachname des Kundenservicemitarbeitersfirst_name(String): Der Vorname des Kundenservicemitarbeitersavatar_url(String, URI): 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 Agenten.avatar_url(string, uri): Die URL des Avatarbilds des virtuellen Agenten.
Menünavigation
selected_menu (Objekt oder Null): Informationen zum Menü, das der Kunde während des Chats ausgewählt hat.
id(Ganzzahl): die ID des Menüsname(String): Der Name des Menüsparent_id(Ganzzahl oder null): Die ID des übergeordneten Menüs, sofern vorhandenposition(Ganzzahl): Die Menüposition relativ zu anderen Menüs auf derselben Ebene.deleted(boolesch): Gibt an, ob das Menü gelöscht wurde.menu_type(String): Der Menütyp. Beispiel:sms_menuoderweb_menu"hidden(boolesch): Gibt an, ob das Menü sichtbar und 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): Ein durch Schrägstriche getrennter String mit Menünamen. Beispiel: „Support/Abrechnung“.materialized_path(String): ein durch Schrägstriche getrennter String mit Menü-IDs
queue_priority_level(Ganzzahl): Eine Ganzzahl, die die Prioritätsstufe der ausgewählten Warteschlange des Chats darstellt.
Endnutzerdetails
end_user(Objekt): Informationen zum Kundenid(Ganzzahl): die interne ID des Kundenidentifier(String oder Null): Eine externe Kennung für den Kundenout_contact_id(String oder null): Die ID des Kunden im CRM
Kunden-Flags
customer_flag(Objekt oder null): Flags, die wichtige Attribute des Kunden kennzeichnenverified_customer(boolesch): Gibt an, ob der Kunde extern als bestätigt gekennzeichnet wurde.bad_actor(boolesch): Gibt an, ob der Kunde extern als böswilliger Akteur gekennzeichnet wurde.repeat_customer(boolesch): Gibt an, ob der Kunde extern als Bestandskunde gekennzeichnet wurde.
Medienanhänge
photos(Array): Liste der Fotos, die mit dem Chat verknüpft sindid(Ganzzahl): Eindeutige Kennung für das Fotophoto_type(String): Der Fototyp („photo“ oder „screenshot“)url(Ganzzahl): Die Speicher-URL des Fotos.smart_action_type(Array): Der Typ der mit dem Foto verknüpften Smart Action.transfer_id(Ganzzahl oder null): die ID der mit dem Foto verknüpften Kommunikationsübertragung, falls zutreffend
videos(Array): Liste der Videos, die mit dem Chat verknüpft sindid(Ganzzahl): Eindeutige Kennung für das Videourl(Ganzzahl): Die Speicher-URL des Videos.smart_action_type(Array): Der Typ der Smart Action, die mit dem Video verknüpft ist.transfer_id(Ganzzahl oder Null): die Kennung der mit dem Video verknüpften Kommunikationsübertragung, falls zutreffend
Chatübertragungen
transfers(Array): Liste der Übertragungen, die während des Chats stattgefunden haben.id(Ganzzahl): die ID des Transfersstatus(String): Status der Übertragung („transferring“, „transferred“, „failed“, „deflected“)fail_reason(String): Grund für den Übertragungsfehler, falls zutreffendcreated_at(string, date-time): Zeitstempel für die Erstellung der Übertragungassigned_at(string, date-time oder null): Zeitstempel für die Zuweisung des Transfersconnected_at(String, Datum/Uhrzeit oder Null): Zeitstempel für den Zeitpunkt, zu dem die Übertragung verbunden wurde.updated_at(String, Datum/Uhrzeit oder Null): Zeitstempel der letzten Aktualisierung des Transferswait_duration(Ganzzahl): Wartezeit während der Übertragunganswer_type_path(String): Der Typ der Antworten für die Chats „from“ und „to“from_menu_path(Objekt oder null): Menüpfad des Menüs, aus dem die Übertragung stammtto_menu_path(Objekt oder null): Menüpfad des Zielmenüs der Übertragung, falls zutreffendfrom_agent(Objekt oder Null): Der Kundenservicemitarbeiter, der die Übertragung initiiert hat.to_agent(Objekt oder null): Agent, der die Übertragung erhalten hatfrom_queue_priority_level(Ganzzahl): Prioritätsstufe der ursprünglichen Warteschlangeto_queue_priority_level(Ganzzahl): Prioritätsstufe der Zielwarteschlange
Dauer der Chatbearbeitung
handle_durations(Array): Protokolldaten zu jedem Segment des Chats, das von einem Kundenservicemitarbeiter bearbeitet wurde.id(Ganzzahl): Die Kennzeichnung für die Dauer des Vorgangsagent_id(Ganzzahl): Kennung des Agentenacw_duration(Ganzzahl): Dauer der Nachbereitung des Chatschat_duration(Ganzzahl): Dauer des Chats in dieser Phasemenu_path_id(String oder null): Menüpfad-IDmenu_path(String): Menüpfadlang(String): verwendete Sprachetransfer(boolesch): Gibt an, ob eine Übertragung stattgefunden hat.transfer_id(String oder null): Transfer-IDstarted_at(String, Datum/Uhrzeit): Start-Zeitstempelended_at(String, Datum/Uhrzeit): End-Timestampresponse_count(Ganzzahl): Anzahl der Antworten des KI-Agentenresponse_time_total(Ganzzahl): Gesamte Antwortzeit des KI-Agentenresponse_time_max(Ganzzahl): längste Antwortzeit des KI-Agentenresponse_time_avg(Ganzzahl): durchschnittliche Antwortzeit des Kundenservicemitarbeitersassigned_connection_duration(Ganzzahl): Dauer, die der Endnutzer gewartet hat, während der zugewiesene Kundenservicemitarbeiter in dieser Phase verbunden war
Warteschlangendauer
queue_durations(Array): Protokolldaten zu jedem Segment des Chats, in dem der Kunde in einer Warteschlange gewartet hat.id(Ganzzahl): die IDagent_id(Ganzzahl): Agent-IDended_at(String, Datum/Uhrzeit): End-Timestamplang(String): Sprachemenu_path_id(Ganzzahl): Kennung des Menüpfadsmenu_path(String): Menüpfadqueue_duration(Ganzzahl): Dauer der Warteschlangestarted_at(String, Datum/Uhrzeit): Start-Zeitstempeltransfer_cold(boolesch): Gibt an, ob der Chat ohne Rücksprache weitergeleitet wurde.transfer(boolesch): Gibt an, ob eine Übertragung stattgefunden hat.transfer_id(Ganzzahl): Übertragungs-IDservice_level_abandon_time_threshold(Ganzzahl): Abbruchgrenzwert für das Servicelevelservice_level_event(String): Status des Ereignisses auf Serviceebeneservice_level_target_percent(Ganzzahl): Prozentsatz des Service-Level-Zielsservice_level_target_time(Ganzzahl): Zielzeit für das Serviceniveau
Eskalierungen durch virtuelle Kundenservicemitarbeiter
virtual_agent_deflected_escalations(Array): Details zu Eskalierungen von virtuellen Kundenservicemitarbeitern, die abgewiesen wurdenid(Ganzzahl): die IDdeflection(String): Ablenkungstypescalation_id(Ganzzahl): ID des Eskalierungsereignissesescalation_reason(String): Grund für die Eskalationescalated_at(string, date-time): Eskalierungs-Zeitstempelmenu_path_id(Ganzzahl): Menüpfad-IDmenu_path(String): Menüpfadlang(String): Sprachevirtual_agent(Objekt): Details zum virtuellen Kundenservicemitarbeiter
Dauer der Verarbeitung durch virtuelle Kundenservicemitarbeiter
virtual_agent_handle_durations (Array): Zeitsegmente, in denen der Chat von einem virtuellen Kundenservicemitarbeiter bearbeitet wurde
id(Ganzzahl): die IDvirtual_agent(Objekt): Details zum virtuellen Kundenservicemitarbeiterchat_duration(Ganzzahl): Dauer des Segmentsescalation_reason(String): Grund für die Eskalationfinish_reason(String): Grund für das Ende der Interaktionresponse_count(Ganzzahl): Anzahl der Antworten des virtuellen Kundenservicemitarbeitersresponse_time_total(Ganzzahl): Gesamte Antwortzeit des virtuellen Kundenservicemitarbeitersresponse_time_max(Ganzzahl): längste Antwortzeit des virtuellen Kundenservicemitarbeitersresponse_time_avg(String): durchschnittliche Antwortzeit des virtuellen Kundenservicemitarbeitersfallback_response_count(Ganzzahl): Anzahl der Fallback-Antworteninitiated_by(String): Gibt an, wie die Sitzung mit dem virtuellen Kundenservicemitarbeiter initiiert wurde.menu_path_id(Ganzzahl): Menüpfad-IDmenu_path(String): Menüpfadlang(String): Sprachetransfer(boolesch): Gibt an, ob der Chat übertragen wurde.transfer_id(Ganzzahl): Kennung des Übertragungsereignissesstarted_at(String, Datum/Uhrzeit): Start-Zeitstempelended_at(String, Datum/Uhrzeit): End-Timestamp
Bearbeitungszeiten für Verbraucheranfragen
consumer_handle_durations(Array): Dauer der Chat-Teilnahme des Kundenid(Ganzzahl): Kennungchat_duration(Ganzzahl): Dauer des Verbrauchersegmentsstarted_at(String, Datum/Uhrzeit): Start-Zeitstempelended_at(String, Datum/Uhrzeit): End-Timestampmessage_count(Ganzzahl): Anzahl der Verbrauchernachrichtenresponse_count(Ganzzahl): Anzahl der Antworten von Verbrauchernresponse_time_total(Ganzzahl): Gesamtreaktionszeit der Nutzerresponse_time_max(Ganzzahl): längste Reaktionszeit der Nutzerresponse_time_avg(Ganzzahl): durchschnittliche Reaktionszeit der Verbraucher
Dauer von Verbraucherereignissen
consumer_event_durations (Array): Details zu Chat-Ereignissen von Verbrauchern. Beispiel: CSAT, Zahlung
id(Ganzzahl): Kennungduration(Ganzzahl): Ereignisdauertype(String): Ereignistypevent(String): Ereignisergebnismenu_path_id(Ganzzahl): Menüpfad-IDmenu_path(String): Menüpfadlang(String): Sprachestarted_at(String, Datum/Uhrzeit): Start-Zeitstempelended_at(String, Datum/Uhrzeit): End-Timestamp
Teilnehmer*innen
Teilnehmer (Array): Informationen zu jedem Teilnehmer im Chat. Beispiel: Kunde, Kundenservicemitarbeiter, virtueller Kundenservicemitarbeiter
id(Ganzzahl): Eindeutige Kennung für den Teilnehmertype(String): Art des Teilnehmers, z. B.end_user,agent,virtual_agentusw.entry_type(String): Wie der Teilnehmer dem Chat beigetreten ist.user_id(Ganzzahl oder null): Nutzer-ID, wenn der Teilnehmer ein Kundenservicemitarbeiter istend_user_id(Ganzzahl oder null): Endnutzer-ID, wenn der Teilnehmer der Kunde istvirtual_agent_id(Ganzzahl oder null): ID des virtuellen Kundenservicemitarbeiters, wenn der Teilnehmer ein virtueller Kundenservicemitarbeiter istvirtual_agent_params(Objekt): benutzerdefinierte Metadaten, die vom virtuellen Kundenservicemitarbeiter verwendet werdenstatus(String): Status des Teilnehmersfail_reason(String): Grund für den Fehler, falls vorhandenconnected_at(string, date-time): Zeitstempel, zu dem der Teilnehmer eine Verbindung hergestellt hatphone_number(String): Telefonnummer des Teilnehmerschat_id(Ganzzahl): Kennung für den Chatchat_duration(Ganzzahl): Chatdauer für den Teilnehmerfinished_at(String, Datum/Uhrzeit): Zeitstempel für das Ende der Teilnahme des Teilnehmers
Events anbieten
offer_type(String oder null): Art und Weise, wie der Chat dem Kundenservicemitarbeiter angeboten wurdeoffer_events(Array): Ereignisse, bei denen der Chat Kundenservicemitarbeitern angeboten wurde.casting_time(date-time): Uhrzeit, zu der der Chat angeboten wurdegroup(String): Gruppe, der der Chat angeboten wurde
Sonstige Details
dismiss_duration(Ganzzahl): Dauer des Chats im Status „Abgelehnt“answer_type(String oder null): Gibt an, wie auf den Chat geantwortet wurde („manual“ oder „auto“).inbound_number(String): Eingehende Telefonnummeroutbound_number(String): abgehende Telefonnummerafter_hours(boolesch): Gibt an, ob der Chat außerhalb der Geschäftszeiten stattgefunden hat.dispositions(Array): während des Chats aufgezeichnete Dispositionenauto_session_summaries(Array): automatisch generierte Zusammenfassungen der Sitzungtransfer_limit(object): Daten zum Übertragungslimit für den Chatemail(String, E-Mail oder Null): E-Mail-Adresse des Kundenfeedback(String oder null): Kundenfeedbacksmart_action_text(String oder Null): Text einer beliebigen ausgeführten Smart Actioncustom_data_secured(object oder null): benutzerdefinierte, sicher signierte Datencustom_data_not_secured(Objekt oder Null): benutzerdefinierte, nicht sicher signierte Daten
Wichtige Definitionen
Das Schema enthält auch einen Definitionsabschnitt zum Definieren wiederverwendbarer Komponenten:
menu_path: beschreibt einen hierarchischen Menüpfadagent: Beschreibt einen menschlichen Kundenservicemitarbeitervirtual_agent: Beschreibt einen virtuellen Kundenservicemitarbeiter