本文档提供了通话会话元数据记录的架构,即 UJET 在每次语音通话结束时发出的 JSON 文档。UJET 会将记录作为会话结束命令的正文传递给 CRM 集成,并将记录作为 metadata.json 文件写入外部存储配置。每次调用都会生成一条记录。顶层 id 可唯一标识每条记录。您可以使用此架构将记录注入到下游系统中、验证收到的载荷,或将字段映射到数据仓库列。
架构根
通话会话元数据记录是一个 JSON 对象,表示语音通话会话。顶层有三个概念决定了记录的身份和形状。
主键 - id(整数)
顶级 id 可在您的租户中唯一标识通话会话。每次通话都有一条记录。所有其他顶级字段、数组和嵌套对象都描述了相应调用的属性,而 id 用于标识该调用。
处理程序判别器 - agent_info(对象,oneOf)
一个对象,其形状因调用的最后一个处理程序而异。这两个变体相互排斥 - 记录仅包含一个变体:
人工客服变体 - 如果上次通话是由人工客服处理的,则存在此变体。 除了共享的
id、name和avatar_url字段之外,还包含email、first_name、last_name和agent_number。虚拟客服变体 - 如果上次通话是由虚拟客服处理的,则存在。携带
va_alias并省略email、first_name、last_name和agent_number。
如需检测记录所携带的变体,请检查是否存在特定于变体的字段,通常是人工客服变体的 agent_info.email 或虚拟客服变体的 agent_info.va_alias。如需了解每个变体的完整形状,请参阅 agent 和 virtual_agent。
调用形状判别器 - call_type、session_type、session_type_v2(字符串)
同一底层通话类型的三种并行视图。它们在记录所代表的通话类型上从不意见不合;它们的不同之处仅在于用于命名通话类型的词汇。
call_type使用旧版枚举词汇(例如Voice Inbound (App)、Voice Outbound或Voice Internal)。session_type始终返回与call_type相同的字符串。UJET 提供此字段是为了向后兼容以该字段为键的集成;请将其视为call_type的已弃用别名。请参阅版本控制和弃用。session_type_v2使用当前的枚举词汇。此词汇表通过更精细的入站区分来扩展call_type词汇表,例如使用Voice Inbound (Mobile)和Voice Inbound (IVR using Mobile)代替更广泛的Voice Inbound (App)和Voice Inbound (IVR using App)。对于没有特定于 v2 的调用类型,session_type_v2返回的字符串与call_type相同。新的集成应解析session_type_v2。
如需了解每个字段的值,请参阅核心信息。
核心信息
这些属性可捕获通话的核心信息:
id(整数):每个通话会话的唯一标识符。这是区分不同通话的主键。call_uuid(字符串或 null):一种唯一标识符,用于在动态呼叫路由 (DCR) 互动中关联来源租户和接收租户之间的呼叫。DCR 调用的两个部分共享相同的call_uuid值,从而使客户能够在环境之间桥接数据。对于任何非 DCR 互动的通话,以及在 UJET 添加该字段之前发生的通话,该字段均为 null 或空。lang(字符串):通话所用语言的 ISO 639 语言代码(例如,“en”表示英语,“es”表示西班牙语)。此代码可帮助您执行特定于语言的分析和报告。call_type(字符串):通话类型,使用旧版类型词汇。 值包括“Voice Inbound (App)”“Voice Inbound (Web)”“Voice Inbound (IVR)”“Voice Inbound (IVR using App)”“Voice Inbound (API)”“Voice Inbound (Direct)”“Voice Inbound (Extension)”“Voice Scheduled (App)”“Voice Scheduled (Web)”“Voice Scheduled (API)”“Voice Callback”“Voice Callback (Web)”“Voice Outbound”“Voice Outbound (API)”“Voice Outbound (Direct)”“Voice Outbound (UCaaS)”“Voice Internal”“Voice Campaign (Acqueon)”“Voice Campaign (<your brand name>)”和“Agent Scheduled Call”。session_type(字符串):call_type的副本(值相同),UJET 保留该副本是为了实现向后兼容性。请参阅版本控制和弃用:旧版重复项。session_type_v2(字符串):通话类型,使用当前的类型词汇。它通过更精细的入站区分(例如,将“Voice Inbound (App)”和“Voice Inbound (IVR using App)”替换为“Voice Inbound (Mobile)”和“Voice Inbound (IVR using Mobile)”)来细化call_type值。值包括“Voice Inbound (Mobile)”“Voice Inbound (Web)”“Voice Inbound (IVR)”“Voice Inbound (IVR using Mobile)”“Voice Inbound (API)”“Voice Inbound (Direct)”“Voice Inbound (Extension)”“Voice Scheduled (Mobile)”“Voice Scheduled (Web)”“Voice Scheduled (API)”“Voice Callback”“Voice Callback (Web)”“Voice Outbound”“Voice Outbound (API)”“Voice Outbound (Direct)”“Voice Outbound (UCaaS)”“Voice Internal”“Voice Campaign (Acqueon)”“Voice Campaign (<your brand name>)”和“Agent Scheduled Call”。status(字符串):通话的当前状态。可能的值包括“scheduled”“queued”“connected”“finished”“failed”和“deflected”。 这会跟踪通话在其生命周期中的进展情况。created_at(字符串,日期时间):UJET 创建通话记录时的精确时间戳。queued_at(字符串、日期时间或 null):通话进入队列的时间戳,如果通话未进入队列,则为 null。assigned_at(字符串、日期时间或 null):UJET 将通话分配给客服人员的时间戳;如果 UJET 未分配通话,则为 null。connected_at(字符串、日期时间或 null):通话接通时的时间戳。ends_at(字符串、日期时间或 null):通话结束时的时间戳。scheduled_at(字符串、日期时间或 null):UJET 安排通话的时间戳,如果通话是立即进行的,则为 null。updated_at(字符串,日期时间):UJET 上次更新通话数据的时间戳。wait_duration(整数或 null):整个通话过程中,消费者在队列中等待的总时间(以秒为单位),如果 UJET 未记录任何排队时间,则为 null。如需查看按各个细分划分的排队时间,请参阅queue_durations数组(排队时长)。请参阅版本控制和弃用:等待时间字段命名规范。call_duration(整数或 null):通话总时长(以秒为单位)。hold_duration(整数或 null):消费者等待的总时长(以秒为单位),如果没有等待时间,则为 null。rating(整数或 null):消费者提交的客户满意度 (CSAT) 评分;如果消费者未提交评分,则为 null。has_feedback(布尔值):一个标志,用于指示消费者是否在通话后提供了反馈。voip_provider(字符串):通话的 VoIP 提供商。(注意:此字段已弃用,始终返回“deprecated”。)out_ticket_id(字符串或 null):UJET 在外部 CRM 系统中创建的支持请求的 ID。out_ticket_url(字符串、URI 或 null):CRM 工单的网址。is_out_ticket_account(布尔值或 null):表示 CRM 工单是代表客户 (true) 还是通话互动 (false)。verified(布尔值):表示验证智能操作是否验证了互动。recording_url(字符串、URI 或 null):通话录音的网址,如果没有录音,则为 null。recording_permission(字符串或 null):消费者的录制权限状态。可能的值:“not_asked”“granted”“denied”。voicemail_reason(字符串):语音信息的理由(如果适用)。 选项包括“not_voicemail”“temporary_redirection”和“after_hour_deflection”。disconnected_by(字符串或 null):表示哪一方结束了通话。 可能的值:disconnected_by_unknown、disconnected_by_agent、disconnected_by_end_user、disconnected_by_virtual_agent、disconnected_by_system。fail_reason(字符串或 null):通话失败的原因;对于未失败的通话,则为“nothing”。可能的值包括nothing、unknown、expired、eu_canceled、eu_rejected、eu_abandoned、eu_in_menu_abandoned、eu_busy、eu_wrong_number、eu_no_answer、eu_noti_failed、ag_canceled、ag_ignored、ag_mic_no_device、ag_mic_denied、voip_twilio_error、voip_tokbox_error、voip_invalid_token、voip_conn_general、voip_conn_timeout、voip_conn_signal。fail_details(字符串或 null):随附于fail_reason的其他人类可读的详细信息(如有)。adapter_fail_code(整数或 null):与调用级fail_reason对应的数字代码。如果调用未失败,则为 null。第 17 节中每个参与者的adapter_fail_code使用了相同的枚举。adapter_fail_message(字符串或 null):与adapter_fail_code对应的人类可读的消息。如果调用未失败,则为 null。support_number(字符串或 null):消费者拨打的用于联系联络中心的手机号码,采用 E.164 格式。针对 IVR 发起的通话填充;对于其他渠道,可能为 null。queue_priority_level(整数;仅当您的账号启用了队列优先级时才存在):分配给相应调用的队列优先级。
代理和虚拟客服信息
以下部分介绍了谁或什么处理了相应调用:
agent_info(对象):此字段可以包含有关人工客服或虚拟客服的信息。它使用oneOf关键字指定它可以是两种类型之一。agent(对象):有关人工客服的信息:id(整数):代理的唯一 ID。agent_number(字符串或 null):分配给代理的标识符。email(字符串,电子邮件地址):代理的电子邮件地址。name(字符串):代理的完整名称。last_name(字符串):代理的姓氏。first_name(字符串):代理的姓名。avatar_url(字符串,URI):代理的头像图片的网址。
virtual_agent(对象):有关虚拟客服的信息:id(整数):虚拟代理的唯一 ID。name(字符串):虚拟代理的名称。avatar_url(字符串、URI 或 null):虚拟客服的头像图片网址。va_alias(字符串或 null):虚拟代理的显示别名(如果您设置了别名)。始终存在于载荷中;如果未设置别名,则为 null。
菜单导航
selected_menu(对象或 null):消费者在通话期间选择的菜单的相关信息。id(整数):菜单的唯一 ID。name(字符串):菜单的名称。parent_id(整数或 null):父级菜单的 ID(如有)。position(整数):菜单相对于同一级别其他菜单的位置。deleted(布尔值):菜单是否已删除。menu_type(字符串):菜单的类型(例如ivr_menu或sms_menu)。hidden(布尔值):菜单是否可见且可供使用。
menu_path(对象或 null):描述了消费者浏览的菜单的层次结构路径。items_count(整数):路径中的菜单数量。name(字符串):以斜杠分隔的菜单名称字符串(例如,“支持/结算”)。materialized_path(字符串):以斜杠分隔的菜单 ID 字符串。
automation_redirection(对象;仅当通话的第一个转接日志与重定向组相关联时才存在):有关影响此通话路由的基于百分比的队列重定向的详细信息。percent_redirection(布尔值):您是否在来源菜单中启用了基于百分比的重定向。redirection_group(数组):包含重定向组详细信息的单元素数组:group_label(字符串):重定向组的人类可读标签(例如“重定向组 1”)。destination(对象或 null):您在群组中配置的重定向目标。after_hours(布尔值或 null):您是否为群组启用了非工作时间转接选项。ah_destination(对象或 null):您在群组中配置的非工作时间重定向目的地。
最终用户详细信息
end_user(对象或 null):有关消费者的信息:id(整数或 null):消费者的内部 ID。identifier(字符串或 null):消费者的外部标识符。out_contact_id(字符串或 null):CRM 中的消费者 ID。
自定义数据和 SDK 提供的数据
customer_flag(对象;仅在网站传递自定义身份验证数据时存在):消费者应用或网站在会话开始时传递的与身份验证相关的自定义数据属性。载荷仅包含您指定为身份验证参数的子集。api_dap_request(对象;仅在您启用数据参数并将其配置为包含在会话元数据中时显示):根据您在账号的外部 API 设置中配置的数据参数值快照。键和值类型取决于您的数据参数配置。form_responses(数组;仅当消费者提交了至少一个表单回答时才存在):在会话期间,通过通话中 SDK 表单收集的回答。每个条目都包含以下内容:id(字符串或整数):表单回复标识符。title(字符串):向消费者显示的表单标题。smart_action_id(整数或 null):触发表单的智能操作的标识符(如果有)。questions(数组):收集的问题和回答对。
附件
photos(数组):消费者在通话期间上传的照片。id(整数):照片的唯一标识符。photo_type(字符串):照片的类型或来源(例如“照片”)。url(字符串,URI):存储的照片的网址。smart_action_type(字符串或 null):生成相应照片的智能操作(如果有)。transfer_id(整数或 null):照片的转移事件 ID(如果消费者在转移后上传了照片)。
videos(数组):通话期间消费者上传的视频。id(整数):视频的唯一标识符。url(字符串,网址):指向存储视频的网址。smart_action_type(字符串或 null):生成视频的智能操作(如果有)。transfer_id(整数或 null):视频的转移事件 ID(如果消费者在转移后上传了该视频)。
通话转移
deflection(字符串):指示呼叫是否以及如何转接(例如“no_deflection”“over_cap_phone”或“after_hours_voicemail”)。deflection_details(数组):提供通话期间的转接详细日志。每个条目中的偏转字段都使用定义:偏转中定义的枚举。每个条目都包含以下信息:id(整数):分流日志记录的唯一标识符。call_id(整数):通话的唯一标识符。transfer_id(整数或 null):与转接关联的转移的唯一标识符(如果适用)。deflection(字符串;如需了解允许的值,请参阅定义:转接):转接类型。created_at(字符串,日期时间):发生偏转时的时间戳。from_menu_path(对象或 null):偏转开始时的菜单路径。to_menu_path(对象或 null):UJET 将呼叫转接到的菜单路径。to_sip_uri(字符串;仅当 UJET 将通话转接到 SIP 目的地时存在):UJET 将通话转接到的 SIP URI(如果适用)。to_sip_headers(对象;仅当 UJET 将通话转接到 SIP 目的地时存在):UJET 转接通话时使用的 SIP 标头(如果适用)。
传输
transfers(数组):通话期间每次转移事件对应一个条目。记录客服、虚拟客服和菜单之间的热转移和冷转移。id(整数):转移的唯一标识符。status(字符串):转移的当前状态(例如,正在转移、已连接或失败)。fail_reason(字符串):转移失败的原因,如果未失败,则为“nothing”。created_at(字符串,日期时间):转移开始时间。assigned_at(字符串、日期时间或 null):UJET 何时将转接分配给接收方。connected_at(字符串、日期时间或 null):转移连接的时间。updated_at(字符串,日期时间):UJET 上次更新转移记录的时间。call_duration(整数):转移的通话片段的通话时长(以秒为单位)。wait_duration(整数):转移期间消费者的等待时间,以秒为单位。deflection(字符串):与转移关联的转接类型(如果有)。answer_type_path(字符串或 null):描述转移的通话如何解决的路径。from_menu_path/to_menu_path(对象或 null):转移前后的菜单路径;与定义中的menu_path具有相同的形状。from_agent/to_agent(对象或 null):转移的每一方的人工客服;与定义中的agent对象具有相同的形状。from_virtual_agent/to_virtual_agent(对象或 null):转移的每一侧的虚拟代理;与定义中的virtual_agent对象具有相同的形状。from_queue_priority_level/to_queue_priority_level(整数或 null):转移前后的队列优先级。仅当您在账号中启用队列优先级时才会显示。
通话处理时长
handle_durations(数组):一个对象数组,每个对象都表示由客服人员处理的通话片段。这有助于分析客服人员处理时间。id(整数):处理时长的唯一标识符。agent_id(整数):代理的 ID。acw_duration(整数):通话后收尾工作时长。bcw_duration(整数):通话前工作时长。call_duration(整数):相应时间段内的通话时长。menu_path_id(整数或 null):菜单路径的 ID。menu_path(字符串):菜单路径的名称。lang(字符串):所用语言。barged(布尔值):主管是否强行加入通话。transfer(布尔值):是否发生了转移。transfer_id(整数或 null):转移作业的 ID。transfer_cold(布尔值或 null):转移是否为冷转移。started_at(字符串,日期时间):开始时间戳。ended_at(字符串、日期时间或 null):结束时间戳。scheduled_at(字符串、日期时间或 null):预定时间戳。hold_duration(整数或 null):相应细分中的保持时长。assigned_connection_duration(整数):在此阶段,客服人员连接期间消费者等待的时长。session_breakthrough(对象;仅当通话突破客服人员的“不可用”状态时存在):突破客服人员的“不可用”状态的通话的分配详细信息(如果适用)。
队列时长
queue_durations(数组):一个对象数组,每个对象表示消费者在队列中的通话片段。这有助于分析等待时间和服务水平。id(整数):队列时长的唯一标识符。agent_id(整数):代理的 ID。ended_at(字符串,日期时间):结束时间戳。lang(字符串):所用语言。menu_path_id(整数):菜单路径的 ID。menu_path(字符串):菜单路径的名称。queue_duration(整数):队列片段的时长。started_at(字符串,日期时间):开始时间戳。transfer_cold(布尔值):通话是否冷转接。transfer(布尔值):是否发生了转移。transfer_id(整数或 null):转移作业的 ID。service_level_abandon_time_threshold(整数):服务级别放弃的时间阈值。service_level_event(字符串):服务级事件状态(“excluded”“in_sla”“not_in_sla”)。service_level_target_percent(整数):服务等级合规性的目标百分比。service_level_target_time(整数):服务等级合规性的目标时间。
虚拟客服转人工客服
escalations(数组):每个条目都表示从虚拟客服到人工客服的升级。id(整数):升级的唯一标识符。status(字符串):当前状态(例如,正在升级、已升级或失败)。reason(字符串):会话升级的原因。created_at(字符串,日期时间):升级开始时间。escalated_at(字符串、日期时间或 null):升级完成时间。from_virtual_agent(对象或 null):升级通话的虚拟客服。与 Definitions 中的virtual_agent对象具有相同的形状。to_agent(对象或 null):通话升级到的人工客服。与 Definitions 中的agent对象具有相同的形状。from_menu_path/to_menu_path(对象或 null):升级前后的菜单路径。
虚拟客服升级
virtual_agent_deflected_escalations(数组):虚拟代理转接的升级请求的详细信息。id(整数):唯一标识符。deflection(字符串):转接类型。escalation_id(整数):升级事件标识符。escalation_reason(字符串):上报原因。escalated_at(字符串,日期时间):升级时间戳。menu_path_id(整数):菜单路径 ID。menu_path(字符串):菜单路径。lang(字符串):语言。virtual_agent(对象):虚拟客服详细信息。请参阅定义。
虚拟客服处理时长
virtual_agent_handle_durations(数组):虚拟客服人员处理通话的时间段。id(整数):唯一标识符。virtual_agent(对象):虚拟客服详细信息。请参阅定义。call_duration(整数):片段时长。escalation_reason(字符串):上报原因。finish_reason(字符串):互动结束的原因。sentiment(整数):消费者情绪。response_count(整数):虚拟客服响应次数。fallback_response_count(整数):后备回答数。initiated_by(字符串):虚拟客服会话的启动方式。menu_path_id(整数):菜单路径 ID。menu_path(字符串):菜单路径。lang(字符串):语言。transfer(布尔值):通话是否已转接。transfer_id(整数或 null):转移事件标识符。started_at(字符串,日期时间):开始时间戳。ended_at(字符串、日期时间或 null):结束时间戳。
消费者处理时长
consumer_handle_durations(数组):消费者通话时长。id(整数):唯一标识符。call_duration(整数):消费者细分时长。hold_duration(整数或 null):消费者等待时长。started_at(字符串,日期时间):开始时间戳。ended_at(字符串,日期时间):结束时间戳。
消费类活动时长
consumer_event_durations(数组):客户服务通话事件(例如 CSAT 或付款)的详细信息。id(整数):唯一标识符。duration(整数):活动时长。type(字符串):事件类型。event(字符串):活动结果。menu_path_id(整数):菜单路径 ID。menu_path(字符串):菜单路径。lang(字符串):语言。started_at(字符串,日期时间):开始时间戳。ended_at(字符串,日期时间):结束时间戳。
消费者在菜单中的停留时长
consumer_in_menu_durations(数组):用户在菜单中的互动时长。id(整数):唯一标识符。duration(整数):在菜单中的时长。event(字符串):菜单互动结果。menu_path_id(整数):菜单路径 ID。menu_path(字符串):菜单路径。lang(字符串):语言。started_at(字符串,日期时间):开始时间戳。ended_at(字符串,日期时间):结束时间戳。
参与者
participants(数组):通话中每位参与者(例如消费者、客服人员或虚拟客服人员)的相关信息。id(整数):参与者的唯一标识符。type(字符串):参与者的类型(“end_user”“agent”“virtual_agent”等)。entry_type(字符串):参与者加入通话的方式。user_id(整数或 null):如果参与者是客服人员,则为用户 ID。end_user_id(整数或 null):如果参与者是消费者,则为消费者标识符。virtual_agent_id(整数或 null):如果参与者是虚拟客服,则为虚拟客服 ID。virtual_agent_params(对象;仅在您配置虚拟客服自定义元数据以供纳入时存在):虚拟客服使用的自定义元数据。status(字符串):参与者的状态(“等待”“已连接”“已完成”等)。fail_reason(字符串):失败原因(如有)。connected_at(字符串、日期时间或 null):参与者连接时的时间戳。phone_number(字符串;仅在消费者参与者中存在):参与者的电话号码。call_id(整数):通话的标识符。call_duration(整数或 null):相应参与者的通话时长。hold_duration(整数或 null):参与者的搁置时长。ended_at(字符串、日期时间或 null):参与者参与结束的时间戳。adapter_fail_code(整数或 null):与失败原因对应的数字代码。adapter_fail_message(字符串或 null):如果存在,则为fail_reason的人类可读说明。agent_assist(对象;仅当您配置 Agent Assist 时,才会在代理参与者中显示):相应参与者的有效 Agent Assist 设置。virtual_agent(对象;仅在虚拟客服参与者中存在):充当相应参与者的虚拟客服的详细信息 - 与顶级agent_info和virtual_agent_params不同。caller_id(字符串;仅当您在账号中启用 SIP 标头主叫方 ID 时,且仅针对消费者参与者显示):UJET 从此消费者参与者的入站 SIP 标头中提取的主叫方 ID。sip_headers(对象或 null):与相应参与者关联的 SIP 标头。始终存在于载荷中;当 UJET 不捕获标头时为 null。location(字符串或 null;仅在代理参与者中存在):代理的位置。location_id(整数或 null;仅在代理参与者中存在):位置 ID。email(字符串,电子邮件地址;仅在代理参与者中显示):代理的电子邮件地址。first_name(字符串或 null;仅在代理参与者中存在):代理的姓名。last_name(字符串或 null;仅在代理参与者中存在):代理的姓氏。middle_name(字符串或 null;仅在代理参与者中存在):代理的中间名。teams(数组;仅在代理参与者中存在):代理团队的 { id, name } 对象数组。
录制内容
recordings(数组):有关录制通话音频的信息。id(整数):录制的唯一标识符。call_id(整数):通话标识符。conference_sid(字符串或 null):VoIP 提供商的通话标识符。duration(整数或 null):录制时长。recording_type(字符串):录制类型。redaction_times(数组):已遮盖的时间段。start(字符串,日期时间):模糊处理间隔的开始时间。end(字符串,日期时间):编辑间隔的结束时间。duration(整数):遮盖时长(以秒为单位)。start_agent_id(整数或 null):启动了编辑的代理。end_agent_id(整数或 null):结束内容屏蔽的代理。
started_at(字符串,日期时间):录制开始时间戳。
post_processed_recordings(数组;仅当您在账号中启用后处理录制功能时存在):后处理生成的音频录制内容(例如格式转换或遮盖)。id(整数):后处理录音的唯一标识符。call_id(整数):通话标识符。duration(整数):录制时长,以秒为单位。started_at(字符串,日期时间):录制开始时间戳。recording_file_name(字符串):后处理音频素材资源的文件名。recording_url(字符串,URI):后处理音频文件的网址。agent_id(整数或字符串):与细分受众群关联的代理的标识符。virtual_agent_id(整数或字符串):与细分相关联的虚拟客服的标识符(如果有)。conversation_id(字符串):将此录制内容与其对话记录相关联的标识符。
segments(数组;仅当您在账号中启用后处理数据分析录制功能时存在):系统为下游数据分析流水线生成的每个参与者的音频(以及可选的屏幕录制)片段。id(整数):细分的唯一标识符。call_id(整数):通话标识符。duration(整数):片段时长(以秒为单位)。started_at(字符串,日期时间):细分的开始时间戳。audio_file_name(字符串):分段的音频资产的文件名。audio_url(字符串,URI):分段的音频文件网址。agent_id(整数或字符串):与细分受众群相关联的代理的标识符。virtual_agent_id(整数或字符串):与细分相关联的虚拟客服的标识符(如果有)。participant_id(整数或字符串):细分所属参与者的标识符。conversation_id(字符串):将此细分与相应对话记录相关联的标识符。screen_recording_url(字符串、URI 或 null):匹配的屏幕录制素材资源的网址。仅在您为账号启用屏幕录制功能时显示。screen_recording_file_name(字符串或 null):屏幕录制的文件名。在与screen_recording_url相同的条件下呈现。
提供活动
offer_type(字符串或 null):UJET 向客服人员提供通话的方式。offer_events(数组):UJET 向客服人员提供通话时的事件。casting_time(字符串,日期时间):UJET 提供通话的时间。group(字符串):UJET 向其提供通话的群组。
其他详情
answer_type(字符串或 null):通话的解决方式(“手动”或“自动”)。outbound_number(字符串或 null):使用的外拨手机号码。wait_time_sms(数组;仅当此通话中发生等待时间短信互动时才存在):UJET 向消费者发送的有关预计等待时间的短信互动。每个条目都包含以下内容:transfer_id(整数或 null):转移事件标识符(如果与转移相关联)。status(字符串):短信的状态。可能的值:not_triggered、triggered、triggered_allowed、triggered_denied、triggered_no_selection、triggered_sent、triggered_failed。received(布尔值):消费者是否收到了相应短信。
in_call_sms(数组;仅当通话期间发生过通话中短信互动时才存在):通话期间的短信互动。每个条目都包含以下内容:transfer_id(整数或 null):转移事件标识符(如果与转移相关联)。preset_sent(布尔值):UJET 是否发送了预设消息。custom_sent(布尔值):智能体是否发送了自定义(自由文本)消息。received(布尔值):UJET 是否收到了消费者的短信。
dispositions(数组;仅当您在账号中启用收尾代码或备注时显示):客服人员记录的收尾代码和备注。每个条目都包含根据收尾配置动态呈现的字段:user_id(整数):代理标识符。transfer_id(整数或 null):转移事件标识符(如果是在转移后记录的)。participant_id(整数):参与者标识符。note(字符串):自由格式的代理备注。original_note(字符串):笔记的原始(编辑前)版本。code(字符串):处置代号。ujet_code_id(整数或空字符串):处置代码的 UJET ID,是代码的稳定键(代码显示名称可能会更改)。如果不可用,则为空字符串。list(字符串):代码所属列表的名称。list_path(字符串):以斜杠分隔的代码列表路径。ujet_list_id(整数或空字符串):处置代码所属列表的 UJET ID,即列表的稳定键。如果不可用,则为空字符串。custom_list_id(字符串或整数):客户定义的列表标识符(如果已映射)。custom_code_id(字符串或整数):客户定义的代码标识符(如果已映射)。
email(字符串、电子邮件地址或 null):消费者的电子邮件地址。feedback(字符串或 null):消费者反馈。smart_action_text(字符串或 null):所采取的任何智能操作的文本。custom_data_secured(对象或 null):自定义的安全签名数据。custom_data_not_secured(对象或 null):自定义的非安全签名数据。in_queue_wait_time_va(数组;仅当您在账号中为虚拟客服启用队列中等待时间跟踪功能,并且至少发生过一次保留虚拟客服的升级时才存在):在升级后,消费者在队列中等待 UJET 为其保留虚拟客服的时间间隔。每个条目都包含以下内容:start(字符串,日期时间):队列等待开始时间。end(字符串、日期时间或 null):队列等待结束时间;如果未完成,则为 null。duration(整数或 null):等待时长(以秒为单位);当end为 null 时,此值为 null。
auto_session_summaries(数组;仅当您在账号中启用对话总结功能且 UJET 成功生成总结时才会显示):UJET 保存到 CRM 记录中的 AI 生成的会话总结。每个条目都包含以下内容:user_id(整数):与摘要关联的代理参与者的标识符。participant_id(整数):参与者标识符。session_summary(字符串):摘要文本。session_summary_sections(数组或对象):结构化部分中的摘要(如有)。
sip_headers(对象;仅当您在账号中启用 SIP 标头捕获并将其配置为包含在会话元数据中时才会显示):UJET 为相应通话捕获的入站 SIP 标头。键和值反映了从上游电话服务提供商收到的 SIP 标头。
定义
本部分定义了每个子架构一次。引用子架构的属性组会链接到这些定义,而不是内联重新定义其形状。
menu_path(对象)
描述了调用所遍历的分层菜单路径。如需查看其字段的完整列表,请参阅菜单导航。
引用自:顶级 menu_path 字段;每个 transfers[].from_menu_path 和 transfers[].to_menu_path;每个 escalations[].from_menu_path 和 escalations[].to_menu_path;每个 deflection_details[].from_menu_path 和 deflection_details[].to_menu_path。
agent(对象)
描述人工客服。此对象是顶级 agent_info 判别器的两个变体之一(请参阅架构根)。如需查看其字段的完整列表,请参阅代理和虚拟客服信息。
引用自:人工客服上次处理通话时的 agent_info 字段;每个 transfers[].from_agent 和 transfers[].to_agent;每个 escalations[].to_agent。
virtual_agent(对象)
描述虚拟客服。此对象是顶级 agent_info 判别器的两个变体之一(请参阅架构根)。如需查看其字段的完整列表,请参阅代理和虚拟客服信息。
参考自:虚拟客服上次处理通话时的 agent_info 字段;每个 transfers[].from_virtual_agent 和 transfers[].to_virtual_agent;每个 escalations[].from_virtual_agent;每个 virtual_agent_handle_durations[].virtual_agent;每个 virtual_agent_deflected_escalations[].virtual_agent。
deflection(字符串,枚举)
通话或通话片段的转接状态。值遵循 <trigger>_<destination> 命名模式,其中前缀用于标识触发分流的条件(例如,超负荷、下班后或临时重定向),后缀用于标识目的地或处理方式(例如,语音留言、队列、手机或消息)。
常见的目标网址后缀:
_phone- 将来电转接到外部手机号码。_voicemail- 将来电转接至语音信箱。_message- 播放信息性消息。_message_only- 播放消息并结束通话,不再进行其他转接。_callback- 提供预定回调。_wait- 让来电者等待。_queue- 将呼叫转入其他队列。_sip- 将通话转接到 SIP 目的地。_extension- 将呼叫转接到分机。_phone_with_extension- 将通话路由到带有分机的手机目的地。
按触发器系列分组的允许值:
无偏转:
no_deflection、deflecting。容量过大 - 当队列超过其容量阈值时:
over_cap_phone、over_cap_voicemail、over_cap_callback、over_cap_wait、over_cap_queue、over_cap_message、over_cap_sip、over_cap_extension、over_cap_phone_with_extension。非营业时间 - 来电时间不在菜单配置的营业时间内:
after_hours_voicemail、after_hours_phone、after_hours_message_only、after_hours_queue、after_hours_message、after_hours_sip、after_hours_extension、after_hours_phone_with_extension。临时重定向 - 当您在以下菜单中配置临时重定向时:
temp_redirection_phone、temp_redirection_message、temp_redirection_voicemail、temp_redirection_queue、temp_redirection_sip、temp_redirection_extension、temp_redirection_phone_with_extension。IVR 会前:
ivr_presession_deflection。虚拟客服发起的 - 当虚拟客服重定向或转接通话时:
va_redirection_phone、va_redirection_sip、va_third_party_phone、va_third_party_sip。内部通话下班后:
internal_call_after_hours_message、internal_call_after_hours_queue、internal_call_after_hours_phone、internal_call_after_hours_extension、internal_call_after_hours_sip、internal_call_after_hours_voicemail。内部通话超容量:
internal_call_over_capacity_message、internal_call_over_capacity_queue、internal_call_over_capacity_phone、internal_call_over_capacity_extension、internal_call_over_capacity_sip、internal_call_over_capacity_voicemail、internal_call_over_capacity_wait。内部通话自动重定向:
internal_call_automatic_redirection_message、internal_call_automatic_redirection_queue、internal_call_automatic_redirection_phone、internal_call_automatic_redirection_extension、internal_call_automatic_redirection_sip、internal_call_automatic_redirection_voicemail。非工作时间呼叫转接:
call_transfer_after_hours_message、call_transfer_after_hours_queue、call_transfer_after_hours_phone、call_transfer_after_hours_extension、call_transfer_after_hours_sip、call_transfer_after_hours_voicemail。呼叫转移超容量:
call_transfer_over_capacity_message、call_transfer_over_capacity_queue、call_transfer_over_capacity_phone、call_transfer_over_capacity_extension、call_transfer_over_capacity_sip、call_transfer_over_capacity_voicemail、call_transfer_over_capacity_wait。通话转移自动重定向:
call_transfer_automatic_redirection_message、call_transfer_automatic_redirection_queue、call_transfer_automatic_redirection_phone、call_transfer_automatic_redirection_extension、call_transfer_automatic_redirection_sip、call_transfer_automatic_redirection_voicemail。紧急停机 - 当管理员触发紧急停机时:
emergency_shutdown、emergency_shutdown_message、emergency_shutdown_after_hours、emergency_shutdown_over_capacity。动态来电转接 (DCR):
dcr_transferred、dcr_missed、dcr_redirected、dcr_finished。
引用自:顶级 deflection 字段;每个 deflection_details[].deflection;每个 transfers[].deflection。
版本控制和弃用
通话会话元数据架构支持向后兼容的演变。UJET 可随时添加新字段和数组。集成应忽略无法识别的键,以确保功能正常运行。此部分中的字段已弃用、属于旧版或已被软取代。这些字段仍保留在载荷中,以实现向后兼容性,但新的集成必须遵循每个字段的指南。
已弃用的字段
voip_provider(字符串)- 已弃用。始终返回字面字符串“deprecated”。UJET 不再通过本文档向集成服务显示提供方信息。没有替代字段;如果您的集成需要识别上游电话服务提供商,请与您的客户支持团队联系。
旧版重复内容
session_type(字符串)-call_type的旧别名。始终返回与call_type相同的值,并使用相同的旧版枚举词汇。 UJET 保留此字段是为了向后兼容以session_type为键的集成。新集成应直接解析call_type,或者(为了更精细地区分入站流量)解析session_type_v2(请参阅下文中的词汇演变)。
词汇演变
call_type 和 session_type_v2 使用两种不同的词汇描述了相同的底层调用类型。UJET 会在每条记录中同时发出这两个字段;它们不是彼此的重复项:
call_type使用旧版枚举词汇表。Voice Inbound (App)和Voice Inbound (IVR using App)等值涵盖了单个标签下的所有入站移动和应用内 SDK 来源。call_type未被弃用。UJET 将继续发出此字段,但其词汇不会获得新的细粒度值。session_type_v2使用当前的枚举词汇。它针对具有 v2 特有值的来电类型引入了更精细的入站区分,例如Voice Inbound (Mobile)和Voice Inbound (IVR using Mobile)。对于没有特定于 v2 的值的调用类型,session_type_v2返回的字符串与call_type相同。
新集成应解析 session_type_v2。每个字段的值均列在核心信息中。
等待时间字段命名惯例
通话会话元数据文档会在两个范围内报告队列等待时间,分别使用以下两个字段名称:
通话总时长 - 顶级
wait_duration字段保存了整个通话过程中消费者在队列中等待的总时长。按细分 - 顶级
queue_durations数组(排队时长)中的每个条目都有自己的queue_duration字段,用于保存相应排队细分的排队时间。
这两个名称都指同一种衡量指标(排队时间),但范围不同。通话总时长 wait_duration 反映了消费者的总体排队时间,而每个细分的 queue_duration 值则描述了每个排队细分。此文档不发出单独的顶级 queue_duration 字段;每个细分的值仅在 queue_durations 内提供。