Chat 转写元数据

本文档介绍了聊天记录元数据记录的架构。这是 Contact Center AI 平台 (CCAI Platform) 为已完成的聊天记录生成的 JSON 文件。聊天记录元数据记录由聊天记录 JSON 导出生成,并且可以通过 CRM 记录上传和外部存储空间记录文件进行传送,具体取决于您的实例配置。 您可以使用此架构来解析转写 JSON、验证收到的载荷,或将转写消息映射到下游系统。

架构根

聊天记录元数据记录是一个 JSON 对象,表示一个聊天记录制品。根级字段用于标识通信、转写格式版本和有序的转写条目集。

通信标识符 comm_typecomm_id

comm_typecomm_id 共同标识相应转写记录所代表的通信。

  • comm_type 用于标识通信类型。该值通常为 chat。对于包含混合短信转写内容的语音通话,该值为 call

  • comm_id 是相应转写内容所代表的聊天或通话的标识符。

格式版本 transcript_version

用于标识 JSON 转写格式的版本。集成应使用此字段进行前向兼容的解析,并应忽略无法识别的字段。

条目判别器 - entries[].typeentries[].body.type

entries 中的每个项都表示一条转写消息或一个事件。入门级 type 字段反映了消息正文类型。嵌套的 body 对象包含载荷,其形状因类型而异,例如 textmarkdownphotonotiaction

Chat 转写文稿元数据架构

此架构描述了聊天记录的数据结构。以下部分介绍了核心组件。

核心转写信息

以下属性提供有关转写本身的基本信息:

  • comm_type(字符串):转写内容所代表的通信类型。可能的值:chatcall。值 call 表示包含混合短信转写内容的语音通话。

  • comm_id(整数):转写所表示的通信的唯一标识符。

  • transcript_version(字符串):转写 JSON 格式的版本。当前值为 "1.0"。请参阅版本控制和弃用

  • assigned_at(字符串,日期时间):聊天分配时间的时间戳。

  • timezone(字符串):转写上下文的时区,例如 "America/Los_Angeles"

转写条目

  • entries(数组):按顺序排列的成绩条目列表。每个条目都表示对话中的一条消息、通知或操作。

    • timestamp(整数):系统创建相应条目的 Unix 纪元时间戳(以秒为单位)。

    • type(字符串):消息正文类型。此值与 body.type 相同。如需了解支持的身体类型,请参阅定义

    • body(对象):条目载荷。其形状取决于 type / body.type 的值。

    • role(字符串):生成相应条目的参与者或系统组件的角色。可能的值:end_useragentmanagervirtual_agentexternal_agenttask_virtual_agentsystem

    • user_data(对象):发送者元数据。对于 agentmanagervirtual_agentexternal_agenttask_virtual_agent 条目,此对象包含发件人的显示数据。对于 end_usersystem 条目,此对象为空。

      • name(字符串;仅当发件人元数据可用时才存在):发件人的显示名称。

      • id(整数;仅在发件人元数据可用时存在):发件人的标识符。

      • avatar_url(字符串,URI;仅在发件人元数据可用时存在):发件人头像图片的网址。

短信正文

  • text(对象):纯文本消息正文。

    • type(字符串):始终为 text

    • content(字符串):消息文本。

    • lang(字符串;仅在有语言元数据时显示):与消息关联的语言代码。

  • text_template(对象):模板化文本消息正文。

    • type(字符串):始终为 text_template

    • content(字符串):模板文本。

  • markdown(对象):采用 Markdown 格式的消息正文。

    • type(字符串):始终为 markdown

    • content(字符串):Markdown 内容。

    • lang(字符串;仅在有语言元数据时显示):与消息关联的语言代码。

  • markdown_template(对象):模板化 Markdown 消息正文。

    • type(字符串):始终为 markdown_template

    • content(字符串):Markdown 模板内容。

媒体和文件消息正文

  • photo(对象):照片或屏幕截图消息正文。

    • type(字符串):始终为 photo

    • media_id(整数):存储的照片媒体的标识符。

  • video(对象):视频消息正文。

    • type(字符串):始终为 video

    • media_id(整数;当系统将视频存储为 CCAI Platform 媒体时存在):存储的视频媒体的标识符。

    • title(字符串;当嵌入的视频对象表示视频时存在):视频的标题。

    • video(对象;当嵌入的视频对象表示视频时存在):视频详细信息。

      • url(字符串,URI):视频的网址。

      • text(字符串):视频的替代文本或后备网址。

  • image(对象):图片消息正文。

    • type(字符串):始终为 image

    • title(字符串;当消息发送者提供时存在):图片的标题。

    • image(对象):图片详情。

      • url(字符串,网址):图片的网址。

      • text(字符串):图片的替代文本或后备网址。

  • document(对象):文档消息正文。

    • type(字符串):始终为 document

    • media_id(整数;当系统将文档存储为 CCAI Platform 媒体时存在):存储的文档媒体的标识符。

    • title(字符串;当嵌入式文档对象表示文档时存在):文档的标题。

    • document(对象;当嵌入式文档对象表示文档时存在):文档详细信息。

      • url(字符串,URI):文档的网址。

      • text(字符串):文档的替代文本或后备网址。

  • audio(对象):语音消息正文。

    • type(字符串):始终为 audio

    • media_id(整数;当系统将音频存储为 CCAI 平台媒体时存在):存储的音频媒体的标识符。

    • title(字符串;当嵌入式音频对象表示音频文件时存在):音频文件的标题。

    • audio(对象;当嵌入式音频对象表示音频文件时存在):音频详细信息。

      • url(字符串,URI):音频文件的网址。

      • text(字符串):音频文件的替代文本或回退网址。

互动消息正文

  • inline_button(对象):内嵌按钮消息正文。

    • type(字符串):始终为 inline_button

    • title(字符串):要显示在按钮上方的标题。

    • buttons(数组):按钮定义列表。

      • title(字符串):按钮标签。

      • action(字符串):与按钮关联的操作。

      • link(字符串,URI;仅适用于链接样式的快速回复):与按钮关联的网址。

  • sticky_button(对象):粘性按钮消息正文。

    • type(字符串):始终为 sticky_button

    • title(字符串):要显示在按钮上方的标题。

    • buttons(数组):按钮定义列表。

      • title(字符串):按钮标签。

      • action(字符串):与按钮关联的操作。

      • link(字符串,URI;仅适用于链接样式的快速回复):与按钮关联的网址。

  • content_card(对象):内容卡片消息正文。

    • type(字符串):始终为 content_card

    • cards(数组):内容卡片列表。

      • title(字符串):卡片标题。

      • body(字符串;仅当您配置卡片正文文本时存在):卡片正文文本。

  • form_complete(对象):当消费者完成、未能完成或取消表单时,客户端发送的表单完成消息正文。

    • type(字符串):始终为 form_complete

    • signature(字符串;仅当完成事件包含签名时存在):表单完成载荷的签名。

    • data(对象):表单填写详情。

      • status(字符串):完成状态。可能的值:successerrorcancelled

      • smart_action_id(整数):与表单关联的智能操作的标识符。

      • timestamp(字符串,日期时间):表单完成事件发生的时间戳。这与入门级 timestamp 不同,后者是整数 Unix 纪元时间戳(以秒为单位)。

      • details(对象;仅当载荷提供其他完成详细信息时才存在):其他状态详细信息。

        • error_code(字符串;仅当存在错误代码时才显示):与完成结果相关联的错误代码。

        • message(字符串):人类可读的状态详细信息。

服务器生成的消息正文和透传消息正文

  • server_message(对象):服务器生成的消息正文。仅当您为账号启用任务虚拟客服转写内容时,转写内容才会包含 server_message 条目;否则,转写内容会省略这些条目。如果转写内容引用了存储的服务器端消息,请使用此对象。

    • type(字符串):始终为 server_message

    • message_id(整数):存储的服务器消息的标识符。

    • visibility(字符串或 null):存储的服务器消息的可见性设置。

  • passthrough(对象):系统通过 CCAI 平台传递给虚拟代理或 CCaaS 集成的自定义载荷。集成定义了其 content,该 content 不属于 CCAI 平台架构;将其视为不透明。

    • type(字符串):始终为 passthrough

    • content(字符串或对象):集成定义的载荷。其结构因集成而异,CCAI 平台不会对其进行解读。

操作消息正文

  • action(对象):虚拟客服或聊天机器人流程请求的操作。action 字段用于确定操作载荷形状。

    • type(字符串):始终为 action

    • action(字符串):操作类型。可能的值包括 escalationdeflectionend

    • escalation_reason(字符串;仅当 actionescalation 时存在):对话升级的原因。

    • menu_id(整数;仅当 actionescalation 时存在):对话应升级到的菜单的标识符。

    • language(字符串;仅当 actionescalation 时存在):目标队列的语言代码。

    • deflection_type(字符串;仅当 actiondeflection 时存在):请求的转移类型。

    • sip_parameters(对象或 null;仅当 actiondeflection 时存在):要作为转移的一部分转发的 SIP 参数。

通知消息正文

  • noti(对象):通知消息正文。通知描述了聊天期间发生的系统事件。

    • type(字符串):始终为 noti

    • event(字符串):通知事件名称。

    • agent(对象;仅针对与人工客服人员相关的事件存在):与事件相关联的客服人员。

      • id(整数):代理标识符。

      • email(字符串,电子邮件):代理的电子邮件地址。

      • name(字符串):代理的显示名称。

    • from_agent(对象;仅针对具有来源代理的转移事件存在):相应事件的来源代理。

      • id(整数):代理标识符。

      • email(字符串,电子邮件):代理的电子邮件地址。

      • name(字符串):代理的显示名称。

    • to_agent(对象;仅当转移或上报事件具有目标人工客服时才存在):事件的目标人工客服。

      • id(整数):代理标识符。

      • email(字符串,电子邮件):代理的电子邮件地址。

      • name(字符串):代理的显示名称。

    • from_virtual_agent(对象;仅在虚拟客服的升级事件中显示):事件的来源虚拟客服。

      • id(整数):虚拟代理标识符。

      • name(字符串):虚拟代理的显示名称。

      • avatar_url(字符串、URI 或 null):虚拟客服头像图片的网址。

    • to_virtual_agent(对象;仅在将事件转移到虚拟客服时存在):事件的目标虚拟客服。

      • id(整数):虚拟代理标识符。

      • name(字符串):虚拟代理的显示名称。

      • avatar_url(字符串、URI 或 null):虚拟客服头像图片的网址。

    • target(字符串;仅针对转移事件显示):转移的目标类型。可能的值包括 menuagent

    • status(字符串;仅针对包含聊天状态的事件存在):与事件关联的 Chat 状态。

    • timeout(布尔值;仅针对与超时相关的事件存在):事件是否由超时导致。

    • memberIdentity(字符串;仅在参与者加入或离开活动时显示):参与者的身份。

    • memberName(字符串;仅在参与者加入或离开事件中显示):参与者的显示名称。

    • name(字符串;仅针对 virtual-agent 或 task-va 事件存在):与事件关联的显示名称。

    • reason(字符串;仅在任务-va 完成事件中存在):任务-va 会话结束的原因。

    • escalation_reason(字符串;仅针对上报事件显示):上报原因。

    • deflection(对象;仅针对转接事件显示):转接详细信息。

    • detail(对象;仅针对自定义通知事件存在):自定义事件详细信息。

      • key(字符串):自定义事件键。

      • data(对象):自定义事件载荷。

通知事件名称

event 字段用于标识通知事件。聊天提供方(作为唯一可信来源)会将以下列表中的所有通知事件持久保存到转写 JSON 中。该列表按家庭对这些活动进行分组。

智能操作请求

  • verificationRequested

  • photoRequested

  • videoRequested

  • screenshotRequested

  • textRequested

  • cobrowseRequestedFromAgent

智能操作结果

  • 已完成:photoFinishedvideoFinishedscreenshotFinishedtextFinished

  • 已取消:photoCanceledvideoCanceledscreenshotCanceledtextCanceledcobrowseCanceled

  • 失败:photoFailedvideoFailedscreenshotFailedtextFailedverificationFailed

验证

  • endUserVerified

共同浏览

  • cobrowseRequestedFromEndUser

  • cobrowseCodeGenerated

  • cobrowseStarted

  • cobrowseEnded

  • cobrowseFailed

表单

  • formRequested

  • formSent

  • formCompleted

传输

  • transferStarted

  • transferAccepted

  • transferFailed

虚拟客服升级

  • escalationStarted

  • escalationAccepted

  • escalationDeflected

  • escalationFailed

任务虚拟客服

  • taskVaStarted

  • taskVaFinished

成员资格

  • memberJoined

  • memberLeft

会话生命周期

  • chatEnded

  • chatEndedWithPostSession

  • chatDismissed

  • checkInRequired

  • checkInTimedOut

  • transcriptRequested

  • transcriptUpdated

自定义

  • custom

对于将 comm_type 设置为 call 的记录,可能会显示其他通话转写通知事件。这些事件与通话或 Agent Assist 转写处理相关联,而不是与普通的聊天事件系列相关联。

定义

以下子架构会显示在聊天记录元数据文档中。本部分定义了每个子架构一次;引用它们的属性组会指向本部分,而不是重新内联定义它们的形状。

entry(对象)

表示一条转写消息、通知或操作。每个条目都有一个 Unix-epoch timestamp、一个顶级 type、一个类型与该形状匹配的 body 对象、一个发送者 role 和一个 user_data 对象。如需查看完整的字段列表,请参阅转写条目

user_data(对象)

当发件人元数据可用时,描述转写条目的发件人。代理、经理、虚拟代理、外部代理和任务虚拟代理条目可以携带 nameidavatar_url。消费者和系统条目包含一个空对象。

消息正文(对象,oneOf)

每个条目上的 body 对象使用 body.type 的值来选择支持的消息正文形状之一。支持的正文类型包括文本正文、媒体或文件正文、互动正文、服务器生成的正文、操作正文和通知正文。如需查看已记录的变体的完整列表,请参阅短信正文通知消息正文

参与者角色(字符串、枚举)

标识转写条目的发送者类别。

允许使用的值

  • end_user - 消费者。

  • agent - 人工客服。

  • manager - 管理员参与者。

  • virtual_agent - 虚拟客服。

  • external_agent - 外部代理参与者。

  • task_virtual_agent - 任务虚拟客服。

  • system - 系统生成的条目。

版本控制和弃用

聊天记录元数据文档支持向后兼容的架构演变。随着时间的推移,系统可能会添加新字段和消息正文变体,集成应忽略任何无法识别的键,以确保功能持续正常运行。

当前格式版本

  • transcript_version(字符串)- 当前值:"1.0"。集成应根据载荷中存在的字段解析转写内容,并且不应因未来版本添加新字段或消息正文类型而失败。

未知消息正文类型

如果转写条目包含无法识别的 typebody.type,请尽可能保留原始条目,并继续解析转写的其余部分。系统可能会添加新的消息正文类型,但不会更改现有字段的含义。

已弃用的字段 

此文档未列出聊天记录元数据记录的任何已弃用字段。