265 lines
10 KiB
C#
265 lines
10 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
|
||
namespace Domain.IoTFerErEntity
|
||
{
|
||
/// <summary>
|
||
/// 本次用户输入的内容被理解为某个应用时的应用信息,用于一个开发者多个应用服务地址只有一个的时候的应用区分
|
||
/// </summary>
|
||
public class ApplicationInfo
|
||
{
|
||
/// <summary>
|
||
/// 开发者在平台创建应用时,平台分配的ID
|
||
/// </summary>
|
||
public string application_id { get; set; }
|
||
/// <summary>
|
||
/// 开发者在平台创建应用时,填写的应用名称
|
||
/// </summary>
|
||
public string application_name { get; set; }
|
||
/// <summary>
|
||
/// 应用的版本号,保留字段,默认为:“10000”
|
||
/// </summary>
|
||
public string application_version { get; set; }
|
||
}
|
||
|
||
public class Attributes
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string focus { get; set; }
|
||
/// <summary>
|
||
/// 小智
|
||
/// </summary>
|
||
public string bizname { get; set; }
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string type { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 会话相关的数据,包含:本次会话的ID、用户历史输入内容、会话中保持的槽值等
|
||
/// </summary>
|
||
public class Session
|
||
{
|
||
/// <summary>
|
||
/// 是否为新会话:true 是 false 否
|
||
/// </summary>
|
||
public bool is_new { get; set; }
|
||
/// <summary>
|
||
/// 本次交互会话中的会话ID,由平台方负责保持,在一次会话结束前,此ID不会变化
|
||
/// </summary>
|
||
public string session_id { get; set; }
|
||
/// <summary>
|
||
/// 会话具体参数,依据每个应用的不同,参数也不相同,此字段中主要以之前的槽值为主。
|
||
/// </summary>
|
||
public Attributes attributes { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 用户相关的数据,包含:用户的ID、用户正对当前应用的一个基础设置
|
||
/// </summary>
|
||
public class User
|
||
{
|
||
/// <summary>
|
||
/// 用户在平台相对于开发者某个应用的ID,注:应用不同,用户的ID也会不同
|
||
/// </summary>
|
||
public string user_id { get; set; }
|
||
/// <summary>
|
||
/// 用户具体参数,依据每个应用的不同,参数也不相同,此字段中主要以用户针对当前应用的基础配置,如:默认手机号、默认地址等。
|
||
/// </summary>
|
||
public Attributes attributes { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 个性化语义识别出来的用户当前输入对应的语义结果(槽值),当status为INTENT时不为空。注:槽值的key以及取值,与开发者当前的应用文法是一一对应的
|
||
/// </summary>
|
||
public class Slots
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string focus { get; set; }
|
||
/// <summary>
|
||
/// 小智
|
||
/// </summary>
|
||
public string bizname { get; set; }
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string operation_type { get; set; }
|
||
/// <summary>
|
||
/// 客厅
|
||
/// </summary>
|
||
public string room { get; set; }
|
||
/// <summary>
|
||
/// 灯
|
||
/// </summary>
|
||
public string category { get; set; }
|
||
}
|
||
|
||
public class Extend
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public string NO_REC { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 请求包体
|
||
/// </summary>
|
||
public class Request
|
||
{
|
||
/// <summary>
|
||
/// 版本号,格式:X.X, 目前默认为:1.0
|
||
/// </summary>
|
||
public string versionid { get; set; }
|
||
/// <summary>
|
||
/// 状态,LAUNCH、INTENT、END、NOTICE,详细描述见6.2
|
||
/// </summary>
|
||
public string status { get; set; }
|
||
/// <summary>
|
||
/// 交互流水号,唯一标识一次平台对开发者服务的调用
|
||
/// </summary>
|
||
public string sequence { get; set; }
|
||
/// <summary>
|
||
/// 平台发送请求到开发者服务的的时间,格式为:当前时间的毫秒值
|
||
/// </summary>
|
||
public long timestamp { get; set; }
|
||
/// <summary>
|
||
/// 本次用户输入的内容被理解为某个应用时的应用信息,用于一个开发者多个应用服务地址只有一个的时候的应用区分
|
||
/// </summary>
|
||
public ApplicationInfo application_info { get; set; }
|
||
/// <summary>
|
||
/// 会话相关的数据,包含:本次会话的ID、用户历史输入内容、会话中保持的槽值等
|
||
/// </summary>
|
||
public Session session { get; set; }
|
||
/// <summary>
|
||
/// 用户相关的数据,包含:用户的ID、用户正对当前应用的一个基础设置
|
||
/// </summary>
|
||
public User user { get; set; }
|
||
/// <summary>
|
||
/// 用户本次内容:让小智关闭客厅灯。
|
||
/// </summary>
|
||
public string input_text { get; set; }
|
||
/// <summary>
|
||
/// 个性化语义识别出来的用户当前输入对应的语义结果(槽值),当status为INTENT时不为空。注:槽值的key以及取值,与开发者当前的应用文法是一一对应的
|
||
/// </summary>
|
||
public Slots slots { get; set; }
|
||
/// <summary>
|
||
/// 会话结束原因,详见附录6.1,当status为END时不为空,其它情况为空。
|
||
/// </summary>
|
||
public string ended_reason { get; set; }
|
||
/// <summary>
|
||
/// 通知类型,用于开发者详见附录6.3,当status为NOTICE时不为空,其它情况为空。
|
||
/// </summary>
|
||
public string notice_type { get; set; }
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public Extend extend { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 开发者需要设备播报的内容。注:设备会依据开发者给出的顺序播报
|
||
/// </summary>
|
||
public class DirectiveItems
|
||
{
|
||
/// <summary>
|
||
/// 类型:1.TTS 2.AUDIO
|
||
/// </summary>
|
||
public string type { get; set; }
|
||
/// <summary>
|
||
/// TS播报内容。AUDIO 的url连接,请使用http的播放地址,音频格式为mp3、ma4。例如:好的,已帮您关闭了客厅灯
|
||
/// </summary>
|
||
public string content { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 开发者需要设备播报的内容。注:设备会依据开发者给出的顺序播报
|
||
/// </summary>
|
||
public class Directive
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public List<DirectiveItems> directive_items { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 开发者需要平台推送到设备关联的手机APP展现的内容,其中连接内可包含文本图片
|
||
/// </summary>
|
||
public class Card
|
||
{
|
||
/// <summary>
|
||
/// 开发者需要平台推送到用户设备关联的手机APP上展现的标题内容。注:不能超过20个字
|
||
/// </summary>
|
||
public string title { get; set; }
|
||
/// <summary>
|
||
/// APP展现内容类型:1.纯文字,2.图片(暂未开放),3.外部连接
|
||
/// </summary>
|
||
public string type { get; set; }
|
||
/// <summary>
|
||
/// type为1时使用
|
||
/// </summary>
|
||
public string text { get; set; }
|
||
/// <summary>
|
||
/// type为3时使用
|
||
/// </summary>
|
||
public string url { get; set; }
|
||
}
|
||
|
||
public class RichContent
|
||
{
|
||
/// <summary>
|
||
/// 类型:1.文字,2.图片
|
||
/// </summary>
|
||
public string type { get; set; }
|
||
/// <summary>
|
||
/// 类型为1时:文字内容,类型为2时:图片连接,连接长度不可超过512个字符
|
||
/// </summary>
|
||
public string content { get; set; }
|
||
}
|
||
/// <summary>
|
||
/// 应答包体
|
||
/// </summary>
|
||
public class Response
|
||
{
|
||
/// <summary>
|
||
/// 版本号,回传平台端调用时传递的版本号, 目前默认为:1.0
|
||
/// </summary>
|
||
public string versionid { get; set; }
|
||
/// <summary>
|
||
/// 由开发者服务决定本次会话是否结束,如果标识为结束(true)平台会清除本次会话在平台保持的会话数据,如果标识为不结束(false)平台继续为用户保持当前会话数据。
|
||
/// </summary>
|
||
public bool is_end { get; set; }
|
||
/// <summary>
|
||
/// 交互流水号,回传平台调用时传递的值
|
||
/// </summary>
|
||
public string sequence { get; set; }
|
||
/// <summary>
|
||
/// 开发者服务应答平台的请求的时间,格式为:当前时间的毫秒值
|
||
/// </summary>
|
||
public int timestamp { get; set; }
|
||
/// <summary>
|
||
/// 需要的槽值:如不为空,飞尔云会主动为开发者收集此槽值服务,如用户输入的说法不符合槽值提取规则,则视为未识别重复收集。如为空则表明不需要平台关注槽值的识别,全部透传到第三方应用进行判断
|
||
/// </summary>
|
||
public string need_slot { get; set; }
|
||
/// <summary>
|
||
/// 开发者需要设备播报的内容。注:设备会依据开发者给出的顺序播报
|
||
/// </summary>
|
||
public Directive directive { get; set; }
|
||
/// <summary>
|
||
/// 开发者需要平台推送到设备关联的手机APP展现的内容,其中连接内可包含文本图片
|
||
/// </summary>
|
||
public Card push_to_app { get; set; }
|
||
/// <summary>
|
||
/// 当设备未能识别用户说话时,给用户的重新提示语,以引导用户进行后继的对话,其中可以包含文本播报和流媒体播报。如果该字段为空,且设备发生未识别用户说话时,则设备会重复播放directive字段的内容
|
||
/// </summary>
|
||
public Directive repeat_directive { get; set; }
|
||
/// <summary>
|
||
/// 扩展字段,目前支持的扩展内容是,上一次会话拒识时,要不要让设备响应用户的下一次拒识的输入, 如果NO_REC(需大写)取值0时,播报响应。取值1时,不播报。默认是0
|
||
/// </summary>
|
||
public Extend extend { get; set; }
|
||
}
|
||
|
||
}
|
||
|