Ce document décrit le schéma de l'enregistrement des métadonnées de session de chat. L'enregistrement de métadonnées est le document JSON que Contact Center AI Platform crée pour une session de chat d'assistance. CCAI Platform transmet l'enregistrement de métadonnées à votre intégration CRM dans le cadre de la commande de chat session-end. Lorsque vous activez le stockage externe, la plate-forme CCAI écrit également l'enregistrement dans votre configuration de stockage externe à l'aide d'un fichier metadata.json. Chaque chat produit un enregistrement, que l'élément id de premier niveau identifie de manière unique. Utilisez ce schéma pour ingérer des enregistrements dans des systèmes en aval, valider les charges utiles reçues ou mapper des champs sur des colonnes d'entrepôt de données.
Racine du schéma
L'enregistrement de métadonnées de session de chat est un objet JSON unique représentant une session de chat. Trois concepts de niveau supérieur déterminent l'identité et la forme de l'enregistrement.
Clé primaire : id (entier)
Identifie de manière unique la session de chat dans votre locataire. Il existe un enregistrement par chat. Tous les autres champs, tableaux et objets imbriqués de premier niveau décrivent les attributs de la discussion identifiée par cet id.
Discriminateur de gestionnaire : agent_info (objet, oneOf)
Objet unique dont la forme varie en fonction du dernier gestionnaire du chat. Les deux variantes s'excluent mutuellement. Une seule est présente :
Variante "agent humain" : présente lorsque le dernier gestionnaire du chat était un agent humain. Contient
email,first_name,last_nameetagent_numberen plus des champs partagésid,nameetavatar_url.Variante de l'agent virtuel : présente lorsque le dernier gestionnaire du chat était un agent virtuel. Transmet
va_aliaset ometemail,first_name,last_nameetagent_number.
Pour détecter la variante d'un enregistrement, vérifiez la présence d'un champ spécifique à la variante, généralement agent_info.email pour la variante d'agent humain ou agent_info.va_alias pour la variante d'agent virtuel. Les définitions complètes de chaque variante sont disponibles dans Définitions : agent et Définitions : virtual_agent.
Discriminateurs de forme de chat : chat_type, session_type, session_type_v2 (chaîne)
Trois vues parallèles du même type de graphique sous-jacent. Ils ne sont jamais en désaccord sur le type de chat représenté par un enregistrement. Ils ne diffèrent que par le vocabulaire utilisé pour le nommer.
chat_type: utilise l'ancien vocabulaire d'énumération, tel que "Messagerie entrante (chat dans l'application)", "Messagerie (SMS)" et "Messagerie (WhatsApp)".session_type: renvoie toujours la même chaîne quechat_type. Il existe pour assurer la rétrocompatibilité avec les intégrations qui utilisent ce champ. Considérez-le comme un alias obsolète dechat_type.session_type_v2: utilise le vocabulaire d'énumération actuel, qui peut inclure des distinctions plus précises, telles que "Messagerie entrante (chat mobile)". Pour les types de chat qui n'ont pas de valeur spécifique à la v2,session_type_v2renvoie la même chaîne quechat_type. Les nouvelles intégrations doivent analysersession_type_v2.
Pour connaître les valeurs de chaque champ, consultez Informations de base.
Informations essentielles
id(entier) : identifiant unique de chaque session de chat. Cette clé primaire permet de distinguer un chat d'un autre.lang(chaîne) : code de langue ISO 639 utilisé pendant la discussion (par exemple,"en"pour l'anglais,"es"pour l'espagnol).chat_type(chaîne) : type de chat, en utilisant l'ancien vocabulaire de type. Les valeurs incluent"Messaging Inbound (App Chat)","Messaging Inbound (Web Chat)","Messaging (SMS)","Messaging (WhatsApp)"et"Messaging (Apple Messaging for Business)".session_type(chaîne) : double dechat_type(mêmes valeurs), conservé pour des raisons de rétrocompatibilité. Consultez Gestion des versions et abandons : anciens doublons.session_type_v2(chaîne) : type de chat, en utilisant le vocabulaire de type actuel. Il affine les valeurschat_typeavec des distinctions plus précises. Les valeurs incluent"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)"et"Messaging Outbound (SMS Direct via API)".status(chaîne) : état actuel du chat. Valeurs possibles :"queued","selecting","assigned","va_assigned","dismissed","va_dismissed","check_in_timeout","finished","no_response","canceled"et"failed". (CCAI Platform signale un chat terminé qui n'a reçu aucune réponse du client comme"no_response".)sub_status(chaîne ou valeur nulle) : informations plus spécifiques sur l'état du chat, lorsqu'elles sont disponibles. Valeurs possibles :"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"et"end_user_opt_out".created_at(chaîne, date-heure) : code temporel de la création de la session de chat par CCAI Platform.assigned_at(chaîne, date-heure ou valeur nulle) : code temporel indiquant quand la plate-forme CCAI a attribué le chat à un agent, ou valeur nulle s'il n'a pas été attribué.ends_at(chaîne, date-heure ou valeur nulle) : code temporel de la fin de la session de chat.updated_at(chaîne, date-heure) : code temporel de la dernière mise à jour des données de chat par CCAI Platform.first_msg_sent_at(chaîne, date-heure ou valeur nulle) : code temporel de l'envoi du premier message par un participant dans le chat.last_msg_sent_at(chaîne, date-heure ou valeur nulle) : code temporel de l'envoi du dernier message par un participant dans le chat.wait_duration(entier) : temps total d'attente du client, en secondes.chat_duration(entier) : durée totale du chat, en secondes.verified(booléen) : indique si l'action intelligente de validation a validé l'interaction.rating(entier ou valeur nulle) : note de satisfaction client (CSAT) fournie par le consommateur, ou valeur nulle si le consommateur n'a pas donné de note.has_feedback(booléen) : indique si le client a fourni des commentaires après le chat.out_ticket_id(chaîne ou valeur nulle) : identifiant de la demande que CCAI Platform a créée dans le système CRM externe.out_ticket_url(chaîne, URI ou valeur nulle) : URL de la demande CRM.is_out_ticket_account(booléen ou nul) : indique si la demande CRM représente un client (true) ou une interaction par chat (false).fail_reason(chaîne) : motif de l'échec pendant le chat, ou"nothing"si le chat n'a pas échoué. Valeurs possibles :"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"et"force_ended".provider_type(chaîne) : type de fournisseur de chat utilisé. Valeurs possibles :"unknown","messaging","twilio_conversations","nexmo_conversations"et"ujet_conversations".provider_channel_id(chaîne ou valeur nulle) : identifiant de canal spécifique au fournisseur pour le chat.message_count(entier) : nombre total de messages échangés dans le chat.average_response_time(entier) : temps moyen qu'il a fallu aux agents pour répondre pendant le chat, en secondes.longest_response_time(entier) : temps maximal qu'un agent a mis pour répondre pendant le chat, en secondes.transcript(booléen) : indique si une transcription de chat existe pour la session.
Informations sur l'agent et l'agent virtuel
agent_info(objet) : informations sur l'agent humain ou l'agent virtuel qui a traité le chat en dernier. Ce champ utilise le mot cléoneOfpour spécifier qu'il peut être de l'un des deux types.agent(objet) : informations sur l'agent humain :id(entier) : identifiant unique de l'agent.agent_number(chaîne ou valeur nulle) : identifiant attribué à l'agent.email(chaîne, e-mail) : adresse e-mail de l'agent.name(chaîne) : nom complet de l'agent.last_name(chaîne) : nom de l'agent.first_name(chaîne) : prénom de l'agent.avatar_url(chaîne, URI ou valeur nulle) : URL de l'image de l'avatar de l'agent.
virtual_agent(objet) : informations sur l'agent virtuel :id(entier) : identifiant unique de l'agent virtuel.name(chaîne) : nom de l'agent virtuel.avatar_url(chaîne, URI ou valeur nulle) : URL de l'image de l'avatar de l'agent virtuel.va_alias(chaîne ou valeur nulle) : alias d'affichage de l'agent virtuel, s'il est configuré. Toujours présent dans la charge utile ; null si aucun alias n'est défini.
Navigation au sein du menu
selected_menu(objet ou valeur nulle) : informations sur le menu sélectionné par le client pendant la discussion.id(entier) : identifiant unique du menu.name(chaîne) : nom du menu.parent_id(entier ou nul) : ID du menu parent, le cas échéant.position(entier ou valeur nulle) : position du menu par rapport aux autres menus du même niveau.deleted(booléen) : indique si un administrateur a supprimé le menu.menu_type(chaîne) : type de menu (par exemple,"sms_menu","web_menu").hidden(booléen) : indique si le menu est visible ou disponible.menu_path(objet ou valeur nulle) : décrit le chemin hiérarchique des menus parcourus par le client.items_count(entier) : nombre de menus dans le chemin d'accès.name(chaîne ou valeur nulle) : chaîne de noms de menus séparés par une barre oblique (par exemple,"Support/Billing") ou valeur nulle si le chemin d'accès au menu n'est pas disponible.materialized_path(chaîne) : chaîne d'ID de menu séparés par une barre oblique.
queue_priority_level(entier) : priorité attribuée à la file d'attente sélectionnée pour le chat. Présent uniquement lorsque la priorité de la file d'attente est activée sur votre compte.
Informations sur l'utilisateur final
end_user(objet ou valeur nulle) : informations sur le consommateur :id(entier ou nul) : ID interne du consommateur.identifier(chaîne ou valeur nulle) : identifiant externe du consommateur.out_contact_id(chaîne ou valeur nulle) : ID du client dans le CRM.
Options du client et données fournies par le SDK
customer_flag(objet) : indicateurs marquant les attributs notables du consommateur que les systèmes externes ont fournis ou mis à jour pendant la session. Présent uniquement lorsque des systèmes externes ont fourni ou mis à jour des indicateurs client liés à l'authentification au cours de la session.verified_customer(booléen) : indique si un système externe a marqué le consommateur comme validé.bad_actor(booléen) : indique si un système externe a signalé le consommateur comme un acteur malveillant.repeat_customer(booléen) : indique si un système externe a signalé le consommateur comme un client régulier.
custom_data_secured(objet ou valeur nulle) : données personnalisées signées de manière sécurisée fournies par le SDK ou l'API Apps.custom_data_not_secured(objet ou valeur nulle) : données personnalisées signées de manière non sécurisée fournies par le SDK ou l'API Apps.sip_headers(objet) : en-têtes SIP entrants capturés pour le chat. Les clés et les valeurs reflètent les en-têtes SIP reçus du fournisseur en amont. Présent uniquement lorsque vous activez la capture d'en-tête SIP sur votre compte et que vous la configurez pour qu'elle apparaisse dans les métadonnées de session.
Pièces jointes multimédias
photos(tableau) : photos ou captures d'écran associées au chat.id(entier) : identifiant unique de la photo.photo_type(chaîne) : type de photo. Les valeurs possibles incluent"photo"et"screenshot".url(chaîne, URI) : URL de la photo stockée.smart_action_type(chaîne ou valeur nulle) : action intelligente associée à la photo, le cas échéant.transfer_id(entier ou valeur nulle) : identifiant de l'événement de transfert associé à la photo, si un participant l'a importée après un transfert terminé.
videos(tableau) : vidéos associées au chat.id(entier) : identifiant unique de la vidéo.url(chaîne, URI) : URL de la vidéo stockée.smart_action_type(chaîne ou valeur nulle) : action intelligente associée à la vidéo, le cas échéant.transfer_id(entier ou valeur nulle) : identifiant de l'événement de transfert associé à la vidéo, si un participant l'a importée après un transfert terminé.
Transferts de chat
transfers(tableau) : une entrée par événement de transfert pendant la discussion. Enregistre les transferts entre les agents, les agents virtuels et les menus.id(entier) : identifiant unique du transfert.status(chaîne) : état actuel du transfert. Les valeurs possibles sont"transferring","transferred","failed"et"deflected".fail_reason(chaîne) : raison de l'échec du transfert, ou"nothing"s'il n'a pas échoué. Valeurs possibles :"nothing","timeout","canceled","ag_connection_timeout","va_failure","agent_detection_missed","unknown"et"unreachable_phone_number".created_at(chaîne, date-heure) : code temporel du début du transfert.assigned_at(chaîne, date-heure ou valeur nulle) : code temporel de l'attribution du transfert par la plate-forme CCAI.connected_at(chaîne, date-heure ou valeur nulle) : code temporel de la connexion du transfert.updated_at(chaîne, date-heure ou valeur nulle) : code temporel de la dernière mise à jour de l'enregistrement de transfert par CCAI Platform.call_duration(entier ou valeur nulle) : durée du segment de chat transféré, en secondes.wait_duration(entier ou valeur nulle) : temps d'attente du client pendant le transfert, en secondes.deflection(chaîne) : type de déviation associé au transfert. Consultez Définitions :deflectionpour connaître les valeurs autorisées.answer_type_path(chaîne ou valeur nulle) : chemin décrivant comment les agents ou les menus ont répondu aux chats d'origine et de destination.from_menu_path/to_menu_path(objet ou valeur nulle) : chemin d'accès au menu avant et après le transfert ; même forme quemenu_pathdans Définitions.from_agent/to_agent(objet ou valeur nulle) : agent humain de chaque côté du transfert ; même forme que l'objetagentdans Définitions.from_virtual_agent/to_virtual_agent(objet ou valeur nulle) : agent virtuel de chaque côté du transfert ; même forme que l'objetvirtual_agentdans Définitions.from_queue_priority_level/to_queue_priority_level(entier ou nul) : priorité de la file d'attente avant et après le transfert.
Durées de traitement des chats
handle_durations(tableau) : tableau d'objets, chacun représentant un segment du chat géré par un agent.id(entier) : identifiant unique de la durée de traitement.agent_id(entier ou valeur nulle) : identifiant de l'agent.acw_duration(entier) : durée du travail après le chat, en secondes.chat_duration(entier) : durée du chat pendant ce segment, en secondes.menu_path_id(entier ou nul) : ID du chemin d'accès au menu.menu_path(chaîne) : nom du chemin d'accès au menu.lang(chaîne) : langue utilisée.transfer(booléen) : indique si un transfert a eu lieu.transfer_id(entier ou valeur nulle) : ID du transfert.started_at(chaîne, date-heure ou valeur nulle) : code temporel de début.ended_at(chaîne, date-heure ou valeur nulle) : code temporel de fin.response_count(entier) : nombre de réponses de l'agent.response_time_total(entier) : temps de réponse total de l'agent, en secondes.response_time_max(entier) : temps de réponse le plus long de l'agent, en secondes.response_time_avg(nombre ou valeur nulle) : temps de réponse moyen de l'agent, en secondes. Cette valeur peut inclure une précision décimale.assigned_connection_duration(entier) : durée pendant laquelle le client a attendu que l'agent attribué se connecte au cours de ce segment.
Durées de la file d'attente
queue_durations(tableau) : tableau d'objets, chacun représentant un segment du chat où le client était en attente dans une file d'attente.id(entier) : identifiant unique.agent_id(entier ou nul) : identifiant de l'agent.ended_at(chaîne, date-heure) : code temporel de fin.lang(chaîne) : langue.menu_path_id(entier ou valeur nulle) : identifiant du chemin d'accès au menu.menu_path(chaîne) : chemin d'accès au menu.queue_duration(entier ou valeur nulle) : durée de la file d'attente, en secondes.started_at(chaîne, date-heure) : code temporel de début.transfer_cold(booléen ou nul) : indique si le chat a fait l'objet d'un transfert non annoncé.transfer(booléen) : indique si un transfert a eu lieu.transfer_id(entier ou valeur nulle) : identifiant du transfert.service_level_abandon_time_threshold(entier) : seuil d'abandon du niveau de service, en secondes.service_level_event(chaîne) : état de l'événement au niveau du service. Les valeurs possibles incluent"excluded","in_sla"et"not_in_sla".service_level_target_percent(entier) : pourcentage de l'objectif de niveau de service.service_level_target_time(entier) : moment cible du niveau de service, en secondes.
Escalades d'un agent virtuel vers un agent humain
escalations(tableau) : chaque entrée représente une escalade d'un agent virtuel vers un agent humain.id(entier) : identifiant unique de l'escalade.status(chaîne) : état actuel de l'escalade. Valeurs possibles :"escalating","escalated","canceled","deflecting"et"deflected".reason(chaîne) : motif de l'escalade du chat. Valeurs possibles :"unknown","by_end_user_ask","by_end_user_message","by_virtual_agent","payload_failure","could_not_resume","by_human_agent","invalid_queue"et"dismissed".created_at(chaîne, date-heure) : code temporel du début de l'escalade.escalated_at(chaîne, date-heure ou valeur nulle) : code temporel de la fin de l'escalade.from_virtual_agent(objet ou valeur nulle) : agent virtuel qui a escaladé le chat. Même forme que l'objetvirtual_agentdans Définitions.to_agent(objet ou valeur nulle) : agent humain auquel le chat a été escaladé. Même forme que l'objetagentdans Définitions.from_menu_path/to_menu_path(objet ou valeur nulle) : chemin du menu avant et après l'escalade.
Escalades évitées par l'agent virtuel
virtual_agent_deflected_escalations(tableau) : détails des escalades d'agents virtuels qui ont été redirigées vers une autre destination.id(entier) : identifiant unique.deflection(chaîne) : type de déviation pour l'escalade déviée. Valeurs possibles :"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"et"after_hours_virtual_agent".escalation_id(entier) : identifiant de l'événement d'escalade.escalation_reason(chaîne) : motif de l'escalade. Mêmes valeurs queescalations[].reason(voir 10. escalades d'agent virtuel à humain).escalated_at(chaîne, date-heure) : code temporel de l'escalade.menu_path_id(entier) : ID du chemin d'accès au menu.menu_path(chaîne) : chemin d'accès au menu.lang(chaîne) : langue.virtual_agent(objet) : détails de l'agent virtuel. Voir les définitions :virtual_agent.
Durées de traitement des agents virtuels
virtual_agent_handle_durations(tableau) : segments de temps pendant lesquels le chat a été géré par un agent virtuel.id(entier) : identifiant unique.virtual_agent(objet) : détails de l'agent virtuel. Voir les définitions :virtual_agent.chat_duration(entier) : durée du segment, en secondes.escalation_reason(chaîne) : motif de l'escalade.finish_reason(chaîne) : raison pour laquelle l'interaction s'est terminée.response_count(entier) : nombre de réponses de l'agent virtuel.response_time_total(entier) : temps de réponse total de l'agent virtuel, en secondes.response_time_max(entier) : temps de réponse le plus long de l'agent virtuel, en secondes.response_time_avg(nombre ou valeur nulle) : temps de réponse moyen de l'agent virtuel, en secondes. Cette valeur peut inclure une précision décimale.fallback_response_count(entier) : nombre de réponses de remplacement.initiated_by(chaîne) : mode de lancement de la session d'agent virtuel. Valeurs possibles :"end_user","human_agent"et"post_session".menu_path_id(entier) : ID du chemin d'accès au menu.menu_path(chaîne) : chemin d'accès au menu.lang(chaîne) : langue.transfer(booléen) : indique si le chat a été transféré.transfer_id(entier ou valeur nulle) : identifiant de l'événement de transfert.started_at(chaîne, date-heure) : code temporel de début.ended_at(chaîne, date-heure) : code temporel de fin.
Durées de traitement des consommateurs
consumer_handle_durations(tableau) : durées pendant lesquelles le consommateur était dans le chat.id(entier) : identifiant unique.chat_duration(entier) : durée du segment consommateur, en secondes.started_at(chaîne, date-heure ou valeur nulle) : code temporel de début.ended_at(chaîne, date-heure ou valeur nulle) : code temporel de fin.message_count(entier) : nombre de messages de consommateurs.response_count(entier) : nombre de réponses des consommateurs.response_time_total(entier) : temps de réponse total du client, en secondes.response_time_max(entier) : temps de réponse le plus long du consommateur, en secondes.response_time_avg(entier) : temps de réponse moyen du consommateur, en secondes.
Durées des événements de consommation
consumer_event_durations(tableau) : détails des événements de chat du client (par exemple, CSAT, paiement).id(entier) : identifiant unique.duration(entier) : durée de l'événement, en secondes.type(chaîne) : type d'événement. Valeurs possibles :"csat".event(chaîne) : résultat de l'événement. Valeurs possibles :"finished"et"abandoned".menu_path_id(entier) : ID du chemin d'accès au menu.menu_path(chaîne) : chemin d'accès au menu.lang(chaîne) : langue.started_at(chaîne, date-heure) : code temporel de début.ended_at(chaîne, date-heure) : code temporel de fin.
Nombre de participants
participants(tableau) : informations sur chaque participant au chat (par exemple, utilisateur final, agent, agent virtuel).id(entier) : identifiant unique du participant.type(chaîne) : type de participant. Valeurs possibles :"end_user","agent","manager","virtual_agent","external_agent"et"task_virtual_agent".entry_type(chaîne) : comment le participant a rejoint le chat. Valeurs possibles :"queue_or_transfer","barge"et"post_session".user_id(entier ou valeur nulle) : ID utilisateur si le participant est un agent.end_user_id(entier ou valeur nulle) : identifiant du consommateur, si le participant est le consommateur.virtual_agent_id(entier ou valeur nulle) : ID de l'agent virtuel si le participant est un agent virtuel.virtual_agent_params(objet) : métadonnées personnalisées utilisées par l'agent virtuel. Présent uniquement lorsque vous configurez l'inclusion de métadonnées personnalisées de l'agent virtuel.status(chaîne) : état du participant. Valeurs possibles :"waiting","connecting","invited","connected","wrapping_up","finished","failed","resuming"et"post_session_in_progress".fail_reason(chaîne) : motif de l'échec, le cas échéant. Valeurs possibles :"nothing","canceled","ag_connection_timeout"et"unknown".connected_at(chaîne, date-heure ou valeur nulle) : code temporel de la connexion du participant.phone_number(chaîne) : numéro de téléphone du participant. Présent uniquement sur les participants consommateurs.chat_id(entier) : identifiant du chat.chat_duration(entier ou valeur nulle) : durée de la discussion pour le participant, en secondes.finished_at(chaîne, date-heure ou valeur nulle) : code temporel de la fin de la participation du participant.agent_assist(objet) : paramètres Agent Assist actifs pour le participant. Toujours présent ; un objet vide par défaut lorsque Agent Assist n'est pas configuré.virtual_agent(objet ou valeur nulle) : détails de l'agent virtuel servant de participant, distinct de l'objetagent_infode premier niveau et devirtual_agent_params.sip_headers(objet ou valeur nulle) : en-têtes SIP associés à ce participant. Toujours présent dans la charge utile ; valeur nulle lorsque CCAI Platform n'en capture aucun.location(chaîne ou valeur nulle) : emplacement configuré de l'agent. Présent uniquement sur les participants de l'agent.location_id(entier ou valeur nulle) : identifiant de l'emplacement. Présent uniquement sur les participants de l'agent.email(chaîne, e-mail) : adresse e-mail de l'agent. Présent uniquement sur les participants de l'agent.first_name(chaîne ou valeur nulle) : prénom de l'agent. Présent uniquement sur les participants de l'agent.last_name(chaîne ou valeur nulle) : nom de famille de l'agent. Présent uniquement sur les participants de l'agent.middle_name(chaîne ou valeur nulle) : deuxième prénom de l'agent. Présent uniquement sur les participants de l'agent.teams(tableau) : tableau d'objets{ id, name }décrivant les équipes auxquelles l'agent appartient. Présent uniquement sur les participants de l'agent.
Journaux d'enregistrement
check_in_logs(tableau) : événements d'enregistrement enregistrés pendant la session de chat. Chaque élément regroupe les événements d'enregistrement pour un flux d'enregistrement.check_in_id(entier) : identifiant du flux d'enregistrement.check_in_modal_displayed(chaîne, date-heure) : code temporel du moment où CCAI Platform a affiché la fenêtre modale d'enregistrement pour le client. Présent uniquement lorsque CCAI Platform a affiché le modal d'enregistrement.check_in_modal_confirmed(chaîne, date-heure) : code temporel indiquant le moment où le client a confirmé qu'il était toujours présent. Présent uniquement lorsque le client a confirmé la fenêtre modale d'enregistrement.check_in_modal_timed_out(chaîne, date-heure) : code temporel de l'expiration de l'invite de confirmation. Présent uniquement lorsque le délai d'expiration de la fenêtre modale d'enregistrement est dépassé.timeout_modal_rejoin_success(chaîne, date-heure) : code temporel de la réussite de l'action de réintégration. Présent uniquement lorsque le consommateur a rejoint la session après un délai avant expiration.timeout_modal_rejoin_failed_after_hour(chaîne, date-heure) : code temporel de l'échec de l'action de réintégration en raison du comportement en dehors des heures d'ouverture. Présent uniquement lorsque la tentative de rejoindre la file d'attente a échoué, car elle était fermée.timeout_modal_exit_chat(chaîne, date-heure) : code temporel du moment où le consommateur a choisi de quitter le chat. Présent uniquement lorsque le client a quitté le chat depuis la boîte de dialogue de délai avant expiration.timeout_modal_time_out_sdk_closed(chaîne, date-heure) : code temporel de la fin du flux modal de délai avant expiration, car le SDK s'est fermé. Présent uniquement lorsque le SDK s'est fermé après un délai avant expiration.
Proposer des événements
offer_type(chaîne ou valeur nulle) : manière dont CCAI Platform a proposé le chat à l'agent.offer_events(tableau) : événements où CCAI Platform a proposé le chat aux agents.casting_time(chaîne, date-heure) : heure à laquelle CCAI Platform a proposé le chat.group(chaîne) : groupe auquel CCAI Platform a proposé le chat.
Autres informations
dismiss_duration(entier) : durée pendant laquelle le chat est resté à l'état "ignoré", en secondes. Présent uniquement lorsque le chat a passé du temps à l'état "Ignoré".answer_type(chaîne ou valeur nulle) : comment il a été répondu au chat. Valeurs possibles :"manual","auto","outbound"et"deflection".inbound_number(chaîne) : numéro de téléphone entrant associé au chat. Présent uniquement lorsqu'un numéro de téléphone entrant est associé au chat.outbound_number(chaîne) : numéro de téléphone sortant associé au chat. Présent uniquement lorsqu'un numéro de téléphone sortant est associé au chat.after_hours(booléen) : indique si la discussion a eu lieu en dehors des heures d'ouverture.dispositions(tableau) : codes et notes de finalisation enregistrés par les agents. Présent uniquement lorsque vous activez les codes ou les notes de finalisation sur votre compte. Chaque entrée peut contenir des champs affichés de manière conditionnelle en fonction de votre configuration de finalisation :user_id(entier) : identifiant de l'agent.transfer_id(entier ou valeur nulle) : identifiant de l'événement de transfert, s'il est enregistré après un transfert.participant_id(entier) : identifiant du participant.note(chaîne) : note de l'agent en texte libre.original_note(chaîne) : version d'origine (avant modification) de la note.code(chaîne) : nom de code de disposition.ujet_code_id(entier ou chaîne vide) : identifiant attribué par la plate-forme CCAI au code de disposition ; clé stable pour le code (le nom à afficher du code peut changer). Chaîne vide si non disponible.list(chaîne) : nom de la liste à laquelle appartient le code.list_path(chaîne) : chemin d'accès de la liste de codes, séparé par des barres obliques.ujet_list_id(entier ou chaîne vide) : identifiant attribué par la plate-forme CCAI de la liste à laquelle appartient le code de disposition ; clé stable pour la liste. Chaîne vide si non disponible.custom_list_id(chaîne ou entier) : identifiant de liste défini par le client, s'il est mappé.custom_code_id(chaîne ou entier) : identifiant de code défini par le client, s'il est mappé.
auto_session_summaries(tableau) : résumés de session générés par l'IA enregistrés dans l'enregistrement CRM. Présent uniquement lorsque vous activez la synthèse des conversations sur votre compte et que l'IA génère un résumé. Chaque entrée contient les éléments suivants :user_id(entier) : identifiant du participant agent auquel le résumé est associé.participant_id(entier) : identifiant du participant.session_summary(chaîne) : texte du résumé.session_summary_sections(tableau ou objet) : résumé divisé en sections structurées, lorsqu'il est disponible.
transfer_limit(objet ou valeur nulle) : données de limite de transfert pour le chat.enabled(booléen) : indique si le suivi de la limite de transfert a été activé pour le chat.limit_count(entier) : nombre de correspondances autorisées.limit_reached(booléen) : indique si le chat a atteint la limite de transfert configurée.
email(chaîne, adresse e-mail ou valeur nulle) : adresse e-mail du client.feedback(chaîne ou valeur nulle) : commentaires des clients.smart_action_text(chaîne ou valeur nulle) : texte de toute action intelligente effectuée.
Définitions
Les sous-schémas suivants apparaissent à plusieurs endroits dans le document de métadonnées de session de chat. Chaque sous-schéma apparaît une fois. Les groupes de propriétés qui les référencent renvoient à cette section plutôt que de redéfinir leur forme de manière intégrée.
menu_path (objet)
Décrit un chemin de menu hiérarchique parcouru par le chat. Consultez Navigation dans le menu pour obtenir la liste complète de ses champs.
Référencé à partir de : le champ menu_path de premier niveau ; chaque transfers[].from_menu_path et transfers[].to_menu_path ; chaque escalations[].from_menu_path et escalations[].to_menu_path.
agent (objet)
Décrit un agent humain. Il s'agit de l'une des deux variantes du discriminateur agent_info de premier niveau (voir Racine du schéma). Pour obtenir la liste complète de ses champs, consultez Informations sur l'agent et l'agent virtuel.
Référencé à partir de : le champ agent_info lorsque le dernier gestionnaire du chat était un agent humain ; chaque transfers[].from_agent et transfers[].to_agent ; chaque escalations[].to_agent.
virtual_agent (objet)
Décrit un agent virtuel. Il s'agit de l'une des deux variantes du discriminateur agent_info de premier niveau (voir Racine du schéma). Pour obtenir la liste complète de ses champs, consultez Informations sur l'agent et l'agent virtuel.
Référencé depuis : le champ agent_info lorsque le dernier gestionnaire du chat était un agent virtuel ; chaque transfers[].from_virtual_agent et transfers[].to_virtual_agent ; chaque escalations[].from_virtual_agent ; chaque virtual_agent_handle_durations[].virtual_agent ; chaque virtual_agent_deflected_escalations[].virtual_agent ; chaque participants[].virtual_agent.
deflection (chaîne, énumération)
État de déviation associé à un transfert. Les valeurs suivent un modèle <trigger>_<destination>, où le préfixe identifie la condition qui a déclenché la déviation et le suffixe identifie la destination ou le traitement (par exemple, _phone, _voicemail, _message, _queue, _sip, _extension, _callback, _wait).
Valeurs autorisées, regroupées par famille de déclencheurs :
Aucune déviation :
no_deflection,deflectingSurcapacité, lorsque la file d'attente a dépassé son seuil de capacité :
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_extensionEn dehors des horaires d'ouverture, lorsque le chat est arrivé en dehors des horaires d'ouverture configurés du menu :
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_extensionRedirection temporaire, lorsqu'une redirection temporaire a été configurée dans le menu :
temp_redirection_phone,temp_redirection_message,temp_redirection_voicemail,temp_redirection_queue,temp_redirection_sip,temp_redirection_extension,temp_redirection_phone_with_extensionPré-session IVR :
ivr_presession_deflectionRedirection par un agent virtuel, lorsqu'un agent virtuel a redirigé le chat :
va_redirection_phone,va_redirection_sip
Référencé depuis : chaque transfers[].deflection. (Les escalades déviées par l'agent virtuel dans Escalades déviées par l'agent virtuel utilisent un vocabulaire de déviation distinct et plus petit, documenté de manière intégrée.)
transfer (objet)
Décrit un transfert qui s'est produit pendant la discussion. Un transfert peut déplacer un chat entre des menus, des agents et des agents virtuels. Pour obtenir la liste complète de ses champs, consultez Transferts Chat.
Référencé depuis : le tableau transfers de niveau supérieur. (Les autres champs nommés transfer_id dans le document sont des références entières à l'id d'un transfert, et non des objets transfer intégrés.)
participant (objet)
Décrit un participant au chat. La forme du participant varie selon son type. Les participants de type agent peuvent inclure des champs de profil d'agent, de localisation, d'équipe et Agent Assist, tandis que les participants de type consommateur et agent virtuel incluent des identifiants spécifiques au type. Consultez la section Participants pour obtenir la liste complète des champs documentés.
Référencé depuis : le tableau participants de niveau supérieur ; auto_session_summaries[].participant_id ; les enregistrements de disposition.
Ligne de durée (objet)
Décrit un intervalle mesuré dans le chat, tel que le temps de traitement de l'agent, le temps d'attente, le temps de traitement du client, le temps d'événement du client ou le temps de traitement de l'agent virtuel. Chaque tableau de durée a sa propre forme de ligne, car les champs portant le même nom peuvent avoir une précision ou une possibilité de valeur nulle différentes d'une table à l'autre.
Référencé depuis : handle_durations, queue_durations, virtual_agent_handle_durations, consumer_handle_durations et consumer_event_durations.
Gestion des versions et abandons
Le document de métadonnées de session de chat est conçu pour l'évolution du schéma rétrocompatible. De nouveaux champs et tableaux peuvent être ajoutés à tout moment. Les intégrations doivent ignorer les clés non reconnues pour garantir un fonctionnement continu. Les champs suivants sont d'anciens champs ou ont été remplacés. Ils restent dans la charge utile pour des raisons de rétrocompatibilité, mais les nouvelles intégrations doivent suivre les instructions pour chacun d'eux.
Anciens doublons
session_type(chaîne) : ancien alias dechat_type. Renvoie toujours la même valeur quechat_typeet utilise le même vocabulaire d'énumération hérité. Conservé pour assurer la rétrocompatibilité avec les intégrations qui utilisentsession_type. Les nouvelles intégrations doivent analyserchat_typedirectement ou, pour des distinctions plus précises,session_type_v2(voir Évolution du vocabulaire ci-dessous).
Évolution du vocabulaire
chat_type et session_type_v2 décrivent le même type de chat sous-jacent avec deux vocabulaires différents. CCAI Platform émet les deux champs sur chaque enregistrement. Ils ne sont pas des doublons l'un de l'autre :
chat_typeutilise l'ancien vocabulaire d'énumération. Les valeurs telles que "Messagerie entrante (chat dans l'application)" et "Messagerie (SMS)" décrivent les catégories de type de chat d'origine.session_type_v2utilise le vocabulaire d'énumération actuel. Il peut introduire des distinctions plus précises pour les types de chat qui ont des valeurs spécifiques à la v2. Pour les types de chat qui n'ont pas de valeur spécifique à la v2,session_type_v2renvoie la même chaîne quechat_type.
Les nouvelles intégrations doivent analyser session_type_v2. Les valeurs de chaque champ sont listées dans Informations de base.
Champs additifs
La charge utile des métadonnées de session de chat peut acquérir de nouveaux champs de premier niveau, des champs imbriqués, des champs d'éléments de tableau ou des valeurs d'énumération au fil du temps. Les intégrations doivent ignorer les clés non reconnues et conserver les enregistrements bruts dans la mesure du possible. Évitez l'analyse stricte qui échoue lorsqu'une nouvelle propriété apparaît.