[关闭]
@galaxy-0 2019-08-26T14:23:45.000000Z 字数 4618 阅读 714

tbd-前端接口

查表对话系统


修改日期 版本 备注
2019.7.28 v0.9 初始版本
2019.7.31 v0.95 添加查询信息的接口
2019.8.6 v0.98 添加前端展示表格回复的接口
2019.8.7 v0.99 添加发送信息时的domain和回复时的log,添加发布接口
2019.8.15 v0.99 添加NLG模板接口
2019.8.19 v1.0 添加实体接口

备注

2019.7.28

阶段一首先实现两个表的获取接口和四个表的上传接口(获取表的名字,获取表的缩略,上传表,上传表的描述,上传表的联合主键,上传表的操作类型),用户使用默认用户进行测试, token字段不进行额外的验证,直接使用固定值

对话部分

前端寻找对话机器人

  1. {
  2. domain:'' //请求的机器人名字
  3. }
  1. {
  2. status:1/0 //系统状态,1表示正常,0表示错误
  3. exist:false/true //是否存在这个机器人
  4. }

前端发送对话内容

  1. {
  2. message:'',//当前用户说的话
  3. session:'',//当前对话的session,第一次开启谈话时为空
  4. app_name:''
  5. }
  1. {
  2. status:1/0 //系统状态,1表示正常,0表示错误
  3. response:'',//当前系统的回复
  4. session:''//当前对话的session,第一次开启谈话时需要后台生成一个新的session
  5. hasTable:true/false //本次回复是否需要回复表格
  6. table:[{col1:value,col2:value},{...}] //如果需要回复表格,表格的内容
  7. log:{'slu':[],'dm':[]}
  8. }

用户管理部分

注册

  1. {
  2. usn:'',//注册的用户名
  3. password:''//密码
  4. }
  1. {
  2. status:1/0/-1 //1表示成功,0表示系统出错,-1表示用户名已被占用
  3. user_id:'' //如果注册成功,返回用户的唯一标识。注册失败时为空
  4. }

登录

  1. {
  2. usn:''//登录的用户名
  3. password:'' //密码
  4. }
  1. {
  2. status:1/0/-1,//1表示成功,0表示系统错误,-1表示密码错误
  3. user_id:'',登录成功时返回用户唯一标识
  4. token:''//用于身份验证的token,涉及到用户的请求都会附带token
  5. }

应用管理部分

新建一个机器人

  1. {
  2. app_name:'',//创建的app名字
  3. user_id:''//创建者的id(唯一标识)
  4. token:''//创建者的token
  5. }
  1. {
  2. status:1/0/-1/-2,//-1表示新建失败,比如该用户有重名的app。-2表示token验证失败
  3. app_id: 新建成功时,返回app唯一标识
  4. }

删除一个机器人

  1. {
  2. user_id:'',//用户唯一标识
  3. token:'' // 身份验证
  4. app_id:''
  5. }
  1. {
  2. status:1/0/-1/-2, //-1表示删除失败,-2表示token验证失败
  3. }

获取机器人列表

  1. {
  2. user_id:''//请求获得列表的用户唯一标识
  3. token:'' //身份验证
  4. }
  1. {
  2. status:1/0/-1/-2,
  3. app_list:[{app_name:'',app_id:''}] //用户的app列表
  4. }

修改机器人名字

  1. {
  2. app_name:'',//修改后的app名字
  3. app_id:'', //app的唯一标识
  4. user_id:''//创建者的id(唯一标识)
  5. token:''//创建者的token
  6. }
  1. {
  2. status:1/0/-1/-2,//-1表示修改失败,比如该用户有重名的app。-2表示token验证失败
  3. }

获取表的名字

  1. {
  2. app_id:'',
  3. user_id:'',
  4. token:'',
  5. }
  1. {
  2. status:0/1/-1/-2,
  3. name:'' //当前应用的表的名字
  4. }

上传表格

  1. Content-type:multipart/form-data
  2. {
  3. user_id:'',
  4. app_id:'',
  5. token:'',
  6. file_name:'',
  7. file:''
  8. }
  1. {
  2. status:1/0/-1/-2
  3. }

获得当前的表头别名

  1. {
  2. user_id:'',
  3. token:'',
  4. app_id:''
  5. }
  1. {
  2. status:-1/0/1/-2,
  3. header:[{
  4. col:'col1',//指定对应的列,col1 col2是用户上传的表的header
  5. alias:['alias1','alias2'],
  6. description:''//列的自然语言描述
  7. },{...}]
  8. }

上传表头别名

  1. {
  2. user_id:'',
  3. token:'',
  4. app_id:'',
  5. header:[{
  6. col:'col1',//指定对应的列,col1 col2是用户上传的表的header
  7. alias:['alias1','alias2'],
  8. description:''//列的自然语言描述
  9. },{...}}
  10. }
  1. {
  2. status:1/0/-1/-2
  3. }

请求表的列数据结构和可进行的操作

  1. {
  2. user_id:'',
  3. token:'',
  4. app_id:''
  5. }
  1. {
  2. status:-1/0/1/-2,
  3. type:[{
  4. col:'col1',
  5. type:'',
  6. operation:{
  7. min:false,
  8. max:false,
  9. sum:false,
  10. avg:false,
  11. comparable:false,
  12. fuzzy:false,
  13. search:false
  14. }
  15. },{...}]
  16. }

上传表的列数据结构和可进行的操作

  1. {
  2. user_id:'',
  3. token:'',
  4. app_id:'',
  5. type:[{
  6. col:'col1',
  7. type:'',
  8. operation:{
  9. min:false,
  10. max:false,
  11. sum:false,
  12. avg:false,
  13. comparable:false,
  14. fuzzy:false,
  15. search:false
  16. }
  17. },{...}]
  18. }
  1. {
  2. status:1/0/-1/-2
  3. }

获取表的联合主键

  1. {
  2. user_id:'',
  3. token:'',
  4. app_id:''
  5. }
  1. {
  2. status:-1/0/1/-2,
  3. keys:[[col1,col2],[col3,col],[...]]
  4. }

上传表的联合主键

  1. {
  2. user_id:'',
  3. token:'',
  4. app_id:'',
  5. keys:[[col1,col2],[col3,col],[...]]
  6. }
  1. {
  2. status:1/0/-1/-2
  3. }

获取表的缩略

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:''
  5. }
  1. {
  2. status:1/0/-1/-2,
  3. table:{
  4. col:[col1,col2,...],
  5. content:[{col1:'',col2:'',col3:'',...},{...}] // 每一行的内容是一个dict,一共3
  6. }
  7. }

获得机器人现在的运行状态

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:''
  5. }
  1. {
  2. status:1/0/-1/-2,
  3. state:1/0 //1表示正在运行(已发布),0表示没有运行(没有发布)
  4. }

发布机器人

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:''
  5. }
  1. {
  2. status:1/0/-1/-2
  3. }

停止机器人

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:''
  5. }
  1. {
  2. status:1/0/-1/-2
  3. }

上传NLG模板

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:'',
  5. nlg:['inform(...)','']
  6. }
  1. {
  2. status:1/0/-1/-2
  3. }

获取NLG模板

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:'',
  5. }
  1. {
  2. nlg:[{...}] // {...}是原始nlg规则经过转换的结果
  3. status:1/0/-1/-2
  4. }

上传SLU模板

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:'',
  5. slu:[{
  6. 'col':'',
  7. 'prefix':'',
  8. 'postfix':'',
  9. 'spoken_language':'',
  10. 'words':{
  11. 'verb':'',
  12. 'noun':'',
  13. 'adj':''
  14. }
  15. }
  16. ,{...}]
  17. }
  1. {
  2. status:1/0/-1/-2
  3. }

获取SLU模板

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:'',
  5. }
  1. {
  2. slu:[{
  3. 'col':'',
  4. 'prefix':'',
  5. 'postfix':'',
  6. 'spoken_language':'',
  7. 'words':{
  8. 'verb':'',
  9. 'noun':'',
  10. 'adj':''
  11. }
  12. }
  13. ,{...}],
  14. status:1/0/-1/-2
  15. }

上传实体信息

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:'',
  5. entity:'',
  6. spoken_language:'',
  7. entity_adj:[{'col':'','description'}]
  8. }
  1. {
  2. status:1/0/-1/-2
  3. }

获取实体信息

  1. {
  2. user_id:'',
  3. app_id:'',
  4. token:'',
  5. }
  1. {
  2. entity:'',
  3. spoken_language:'',
  4. entity_adj:[{'col':'','description'}]
  5. status:1/0/-1/-2
  6. }

获得当前的所有表头和别名

  1. {
  2. user_id:'',
  3. token:'',
  4. app_id:''
  5. }
  1. {
  2. status:-1/0/1/-2,
  3. header:[{
  4. col:'col1',//指定对应的列,col1 col2是用户上传的表的header
  5. alias:['alias1','alias2'],
  6. description:''//列的自然语言描述
  7. },{...}]
  8. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注