智能玩具API文档
用户相关API
用户注册:
用于App用户注册
URL地址: /reg
请求方式: POST 请求协议:JSON:{ "username":username, "password":password, "nickname":nickname, "gender":gender, "avatar":avatar.jpg}
响应数据:
JSON:{ "code":0, "msg":"注册成功", "data":{}}
用户登录:
用于App用户登录
URL地址: /login
请求方式: POST 请求协议:JSON:{ "username":username, "password":password}
响应数据:
JSON:{ "code":0, "msg":"登录成功", "data": { "_id" : "5c8f582f268d7942f44c6703", "username" : "DragonFire", "gender" : "2", "nickname" : "厉害了我的哥", "avatar" : "baba.jpg", "friend_list" : [], "bind_toy" : [] }}
用户自动登录:
用于App打开时用户进行自动登录
URL地址: /auto_login
请求方式: POST 请求协议:JSON:{ "_id" : "5c8f582f268d7942f44c6703"}
响应数据:
JSON:{ "code":0, "msg":"登录成功", "data": { "_id" : "5c8f582f268d7942f44c6703", "username" : "DragonFire", "gender" : "2", "nickname" : "厉害了我的哥", "avatar" : "baba.jpg", "friend_list" : [], "bind_toy" : [] 'chat' : ? # get_all_redis(user_info_dict['_id']) 'chat' : {'count':1} }}
内容相关API
获取内容资源:
用于App首页内容资源获取
URL地址: /content_list
请求方式: POST 请求协议:JSON:{ }
响应数据:
JSON:{ "code":0, "msg":"获取内容资源列表", "data": [ { "_id" : "5c8f58eb268d79173c97bac5", "music" : "21b61cc0-9292-4e51-bf58-72be8ee6f962.mp3", "cover" : "21b61cc0-9292-4e51-bf58-72be8ee6f962.jpg", "title" : "一只哈巴狗" }, { "_id" : "5c8f58eb268d79173c97bac4", "music" : "aa523ebe-95f9-4641-9478-1663cc74c6a6.mp3", "cover" : "aa523ebe-95f9-4641-9478-1663cc74c6a6.jpg", "title" : "学习雷锋好榜样" } ]}
获取音乐资源
用于App/Toy播放内容
URL地址: /get_music/.mp3
请求方式: GET 请求协议: 无 响应数据: 数据流获取图片资源
用于App获取图片资源
URL地址: /get_image/.jpg
请求方式: GET 请求协议: 无 响应数据: 数据流获取语音消息资源
用于App/Toy播放语音消息
URL地址: /get_chat/.mp3
请求方式: GET 请求协议: 无 响应数据: 数据流获取二维码图片资源
用于App获取二维码图片
URL地址: /get_qr/.mp3
请求方式: GET 请求协议: 无 响应数据: 数据流音频上传相关API
App录制语音上传接口:
用于App录制语音消息上传
URL地址: /app_uploader
请求方式: POST 请求协议:JSON:{ "to_user":to_user, //语音消息接收方 "user_id":from_user, //语音消息发送方 "reco_file":File, //语音文件}
响应数据:
JSON:{ "code":0, "msg":"上传成功", "data": { "filename":"filename", "friend_type":"app" }}
Toy录制语音上传接口:
用于Toy录制语音消息上传
URL地址: /toy_uploader
请求方式: POST 请求协议:JSON:{ "to_user":to_user, //语音消息接收方 "user_id":from_user, //语音消息发送方 "friend_type":app/toy, //语音接收方的用户类型 "reco":File, //语音文件}
响应数据:
JSON:{ "code":0, "msg":"上传成功", "data": { "filename":"filename", "friend_type":"app" }}
Toy录制语音上传AI接口:
用于Toy录制语音消息上传至AI接口
URL地址: /ai_uploader
请求方式: POST 请求协议:JSON:{ "toy_id":toy_id, //Toy的Id "reco":File, //语音文件}
响应数据:
JSON://1.ai响应播放音乐{ "from_user": "ai", "music": music_name}//2.ai响应语音消息{ "from_user": "ai", "chat": filename}//3.ai响应主动发起消息{ "from_user":friend_id, "chat":filename, "friend_type":app/toy}
语音消息相关API
App获取历史消息:
用于App获取历史消息
URL地址: /chat_list
请求方式: POST 请求协议:JSON:{ "chat_id":chat_id, //聊天窗口Id "to_user":user_id, //App用户Id "from_user":friend_id, //接收消息方Id}
响应数据:
JSON:{ "code":0, "msg":"查询聊天记录", "data": [ { "from_user" : "5c8f582f268d7942f44c6703", "message" : "1552898221960.amr.mp3", "create_time" : 1552898225.2744157 }, { "from_user" : "5c8f5853268d7942f44c6705", "message" : "ba7462dd-62a5-460c-bfab-bb64edd7c983.wav", "create_time" : 1552899004.6702642 } ]}
Toy接收未读消息:
用于Toy收到消息提醒后
URL地址: /recv_msg
请求方式: POST 请求协议:JSON:{ "from_user":user_id/toy_id, //发送语音消息方Id "to_user":toy_id, //当前接收语音消息的toy_id}
响应数据:
JSON:[ { "from_user" : "5c8f582f268d7942f44c6703", "message" : "1552898221960.amr.mp3", "create_time" : 1552898225.2744157 }, { "from_user" : "5c8f5853268d7942f44c6705", "message" : "ba7462dd-62a5-460c-bfab-bb64edd7c983.wav", "create_time" : 1552899004.6702642 }]
硬件设备及二维码相关API
App扫描二维码验证接口:
用于App扫描Toy对应二维码进行识别
URL地址: /scan_qr
请求方式: POST 请求协议:JSON:{ "device_key":device_key, //app扫描二维码后获取到的device_key}
响应数据:
JSON://1.二维码扫描成功并且设备未进行绑定{ "code":0, "msg":"二维码扫描成功", "data": { "device_key":device_key }}//2.二维码扫描失败,扫描的条码不是设备库中存在的{ "code":1, "msg":"请扫描玩具二维码", "data":{}}//3.二维码扫描成功,但设备已经进行绑定{ "code":2, "msg":"设备已经进行绑定", "data": { "toy_id":toy_id }}
App绑定设备接口:
用于App绑定设备,并创建Toy信息
URL地址: /bind_toy
请求方式: POST 请求协议:JSON:{ "toy_name":toy_name, //toy名称 "baby_name":baby_name, //toy所属主人名称 "remark":remark, //toy主人对App用户的称呼 "user_id":user_id,//绑定Toy的App用户Id "device_key":device_key, //设备唯一编码device_key}
响应数据:
JSON:{ "code":0, "msg":"绑定完成", "data":{}}
App获取绑定Toy信息接口:
用于App获取已经绑定的设备和创建过Toy信息
URL地址: /toy_list
请求方式: POST 请求协议:JSON:{ "_id":user_id //App用户Id}
响应数据:
JSON:{ "code":0, "msg":"获取Toy列表", "data": [ { "_id" : ObjectId("5bcdaaa6268d794ec8af3fa2"), "device_key" : "bc557bcc9570069a494a64eb38698d35", "bind_user" : "5bcda858268d796fc8d3e3de", "toy_name" : "蛋蛋", "avatar" : "toy.jpg", "baby_name" : "臭屎蛋儿", "gender" : "1", "friend_list" : [ { "friend_nickname" : "淫王", "friend_avatar" : "girl.jpg", "friend_remark" : "爸爸", "friend_chat" : "5bcdaaa6268d794ec8af3fa1" } ] }, { "_id" : ObjectId("5bcdaa6f268d794ec8af3fa0"), "device_key" : "a195ac8014fb069676835a78d300f8a3", "bind_user" : "5bcda858268d796fc8d3e3de", "toy_name" : "球球", "avatar" : "toy.jpg", "baby_name" : "小粪球儿", "gender" : "1", "friend_list" : [ { "friend_nickname" : "淫王", "friend_avatar" : "girl.jpg", "friend_remark" : "爸爸", "friend_chat" : "5bcdaa6f268d794ec8af3f9f" } ] } ]}
设备启动登录接口:
用于设备启动后验证身份信息
URL地址: /open_toy
请求方式: POST 请求协议:JSON:{ "device_key":device_key, //设备中写定的DeviceKey}
响应数据:
JSON://1.设备处于绑定状态,正常启动{ "code":0, "music":"Success.mp3", "toy_id":toy_id, "name":toy_name}//2.设备未绑定{ "code":2, "music":"Nolic.mp3"}//3.设备未授权{ "code":1, "music":"Nobind.mp3"}
好友通讯录相关API
App获取好友列表接口:
用于App获取好友通讯录
URL地址: /friend_list
请求方式: POST 请求协议:JSON:{ "_id":user_id, //app用户Id}
响应数据:
JSON://1.二维码扫描成功并且设备未进行绑定{ "code":0, "msg":"好友查询", "data": [ { "friend_id" : "5c8f5853268d7942f44c6705", "friend_nick" : "小粪球儿", "friend_remark" : "圆圆", "friend_avatar" : "toy.jpg", "friend_chat" : "5c8f5853268d7942f44c6704", "friend_type" : "toy" } ]}
添加好友请求接口:
用于请求添加好友
URL地址: /add_req
请求方式: POST 请求协议:JSON:{ "req_user":req_user_id, //发送好友请求方Id "add_user":add_user_id, //被请求方Id "type":app/toy, //请求方客户端类型 "req_info":"我是xxx", //请求内容信息 "remark":remark //请求方 对 被请求方 的备注名称}
响应数据:
JSON:{ "code":0, "msg":"添加好友请求成功", "data":{}}
App好友请求列表查询接口:
用于App查询绑定Toy的好友请求
URL地址: /req_list
请求方式: POST 请求协议:JSON:{ "_id":user_id, //app用户Id}
响应数据:
JSON:{ "code":0, "msg":"查询好友请求", "data": [ { "req_user":req_user_id, //发送好友请求方Id "add_user":add_user_id, //被请求方Id "type":app/toy, //请求方客户端类型 "req_info":"我是xxx", //请求内容信息 "remark":remark //请求方 对 被请求方 的备注名称 "avatar":avatar.jpg // 请求方的头像 "nickname":"nickname" // 请求方的昵称 "status":0 // 请求状态 0待处理 1同意 2拒绝 "toy_name":"toy_name" // 被请求方的昵称 } ]}
App拒绝好友请求接口:
用于App拒绝绑定Toy被添加为好友
URL地址: /ref_req
请求方式: POST 请求协议:JSON:{ "req_id":req_id //好友请求信息Id}
响应数据:
JSON:{ "code":0, "msg":"拒绝添加好友", "data":{}}
App同意好友请求接口:
用于App同意绑定Toy被添加为好友
URL地址: /acc_req
请求方式: POST 请求协议:JSON:{ "req_id":req_id, //好友请求信息Id "remark":"friend_remark", //为请求方添加备注名称}
响应数据:
JSON:{ "code":0, "msg":"同意添加好友", "data":{}}