@galaxy-0
2019-08-26T06:23:45.000000Z
字数 4618
阅读 858
查表对话系统
| 修改日期 | 版本 | 备注 |
|---|---|---|
| 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 | 添加实体接口 |
阶段一首先实现两个表的获取接口和四个表的上传接口(获取表的名字,获取表的缩略,上传表,上传表的描述,上传表的联合主键,上传表的操作类型),用户使用默认用户进行测试, token字段不进行额外的验证,直接使用固定值
GET:/dialog/find
{domain:'' //请求的机器人名字}
{status:1/0 //系统状态,1表示正常,0表示错误exist:false/true //是否存在这个机器人}
POST:/dialog/chat,
{message:'',//当前用户说的话session:'',//当前对话的session,第一次开启谈话时为空app_name:''}
{status:1/0 //系统状态,1表示正常,0表示错误response:'',//当前系统的回复session:''//当前对话的session,第一次开启谈话时需要后台生成一个新的sessionhasTable:true/false //本次回复是否需要回复表格table:[{col1:value,col2:value},{...}] //如果需要回复表格,表格的内容log:{'slu':[],'dm':[]}}
POST:/user/register
{usn:'',//注册的用户名password:''//密码}
{status:1/0/-1 //1表示成功,0表示系统出错,-1表示用户名已被占用user_id:'' //如果注册成功,返回用户的唯一标识。注册失败时为空}
POST/user/login
{usn:''//登录的用户名password:'' //密码}
{status:1/0/-1,//1表示成功,0表示系统错误,-1表示密码错误user_id:'',登录成功时返回用户唯一标识token:''//用于身份验证的token,涉及到用户的请求都会附带token}
POST:/app/add
{app_name:'',//创建的app名字user_id:''//创建者的id(唯一标识)token:''//创建者的token}
{status:1/0/-1/-2,//-1表示新建失败,比如该用户有重名的app。-2表示token验证失败app_id: 新建成功时,返回app唯一标识}
GET:/app/delete
{user_id:'',//用户唯一标识token:'' // 身份验证app_id:''}
{status:1/0/-1/-2, //-1表示删除失败,-2表示token验证失败}
GET:/app/list
{user_id:''//请求获得列表的用户唯一标识token:'' //身份验证}
{status:1/0/-1/-2,app_list:[{app_name:'',app_id:''}] //用户的app列表}
POST:/app/editName
{app_name:'',//修改后的app名字app_id:'', //app的唯一标识user_id:''//创建者的id(唯一标识)token:''//创建者的token}
{status:1/0/-1/-2,//-1表示修改失败,比如该用户有重名的app。-2表示token验证失败}
GET:/app/getTableName
{app_id:'',user_id:'',token:'',}
{status:0/1/-1/-2,name:'' //当前应用的表的名字}
POST:/app/uploadTable
Content-type:multipart/form-data{user_id:'',app_id:'',token:'',file_name:'',file:''}
{status:1/0/-1/-2}
GET:/app/getTableHeader
{user_id:'',token:'',app_id:''}
{status:-1/0/1/-2,header:[{col:'col1',//指定对应的列,col1 col2是用户上传的表的headeralias:['alias1','alias2'],description:''//列的自然语言描述},{...}]}
POST:/app/tableHeader
{user_id:'',token:'',app_id:'',header:[{col:'col1',//指定对应的列,col1 col2是用户上传的表的headeralias:['alias1','alias2'],description:''//列的自然语言描述},{...}}}
{status:1/0/-1/-2}
GET:/app/getTableType
{user_id:'',token:'',app_id:''}
{status:-1/0/1/-2,type:[{col:'col1',type:'',operation:{min:false,max:false,sum:false,avg:false,comparable:false,fuzzy:false,search:false}},{...}]}
POST:/app/tableType
{user_id:'',token:'',app_id:'',type:[{col:'col1',type:'',operation:{min:false,max:false,sum:false,avg:false,comparable:false,fuzzy:false,search:false}},{...}]}
{status:1/0/-1/-2}
GET:/app/getJoinKeys
{user_id:'',token:'',app_id:''}
{status:-1/0/1/-2,keys:[[col1,col2],[col3,col],[...]]}
POST:/app/joinKeys
{user_id:'',token:'',app_id:'',keys:[[col1,col2],[col3,col],[...]]}
{status:1/0/-1/-2}
GET:/app/getTable
{user_id:'',app_id:'',token:''}
{status:1/0/-1/-2,table:{col:[col1,col2,...],content:[{col1:'',col2:'',col3:'',...},{...}] // 每一行的内容是一个dict,一共3行}}
GET:/app/getState
{user_id:'',app_id:'',token:''}
{status:1/0/-1/-2,state:1/0 //1表示正在运行(已发布),0表示没有运行(没有发布)}
POST:/app/release
{user_id:'',app_id:'',token:''}
{status:1/0/-1/-2}
POST:/app/stop
{user_id:'',app_id:'',token:''}
{status:1/0/-1/-2}
POST:/app/nlg
{user_id:'',app_id:'',token:'',nlg:['inform(...)','']}
{status:1/0/-1/-2}
GET:/app/getNlg
{user_id:'',app_id:'',token:'',}
{nlg:[{...}] // {...}是原始nlg规则经过转换的结果status:1/0/-1/-2}
POST:/app/slu
{user_id:'',app_id:'',token:'',slu:[{'col':'','prefix':'','postfix':'','spoken_language':'','words':{'verb':'','noun':'','adj':''}},{...}]}
{status:1/0/-1/-2}
GET:/app/getSlu
{user_id:'',app_id:'',token:'',}
{slu:[{'col':'','prefix':'','postfix':'','spoken_language':'','words':{'verb':'','noun':'','adj':''}},{...}],status:1/0/-1/-2}
POST:/app/entity
{user_id:'',app_id:'',token:'',entity:'',spoken_language:'',entity_adj:[{'col':'','description'}]}
{status:1/0/-1/-2}
GET:/app/getEntity
{user_id:'',app_id:'',token:'',}
{entity:'',spoken_language:'',entity_adj:[{'col':'','description'}]status:1/0/-1/-2}
GET:/app/getTableCol
{user_id:'',token:'',app_id:''}
{status:-1/0/1/-2,header:[{col:'col1',//指定对应的列,col1 col2是用户上传的表的headeralias:['alias1','alias2'],description:''//列的自然语言描述},{...}]}