Smart toys API documentation

Smart toys API documentation

User-related API

User Registration:

App for registered users

URL address: / reg
request method: POST
request protocol:

JSON:
{
    "username":username,
    "password":password,
    "nickname":nickname,
    "gender":gender,
    "avatar":avatar.jpg
}

Response data:

JSON:
{
    "code":0,
    "msg":"注册成功",
    "data":{}
}

User login:

App for user login

URL address: / login
request method: POST
request protocol:

JSON:
{
    "username":username,
    "password":password
}

Response data:

JSON:
{
    "code":0,
    "msg":"登录成功",
    "data":
    {
        "_id" : "5c8f582f268d7942f44c6703",
        "username" : "DragonFire",
        "gender" : "2",
        "nickname" : "厉害了我的哥",
        "avatar" : "baba.jpg",
        "friend_list" : [],
        "bind_toy" : []
    }
}

User is automatically logged:

For users to automatically log open App

URL address: / auto_login
request method: POST
request protocol:

JSON:
{
    "_id" : "5c8f582f268d7942f44c6703"
}

Response data:

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}
    }
}

Contextual API

Access to content resources:

Home for App Content Resources

URL address: / content_list
request method: POST
request protocol:

JSON:
{
    
}

Response data:

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" : "学习雷锋好榜样"
        }
    ]
}

Get music resources

For App / Toy Play content

URL address: / get_music / .mp3
request method: GET
Request Protocol: None
Response Data: Data Flow

Get Picture Resources

App for acquiring images resources

URL address: / get_image / .jpg
request method: GET
Request Protocol: None
Response Data: Data Flow

Get voice message resource

For App / Toy Play a voice message

URL address: / get_chat / .mp3
request method: GET
Request Protocol: None
Response Data: Data Flow

Obtain two-dimensional code image resources

App for acquiring two-dimensional code picture

URL address: / get_qr / .mp3
request method: GET
Request Protocol: None
Response Data: Data Flow

Uploaded audio API

App upload recorded voice interfaces:

App to record voice messages for upload

URL address: / app_uploader
request method: POST
request protocol:

JSON:
{
    "to_user":to_user, //语音消息接收方
    "user_id":from_user, //语音消息发送方
    "reco_file":File, //语音文件
}

Response data:

JSON:
{
    "code":0,
    "msg":"上传成功",
    "data":
    {
        "filename":"filename",
        "friend_type":"app"
    }
}

Toy record voice interface to upload:

Toy record voice messages for upload

URL address: / toy_uploader
request method: POST
request protocol:

JSON:
{
    "to_user":to_user, //语音消息接收方
    "user_id":from_user, //语音消息发送方
    "friend_type":app/toy, //语音接收方的用户类型
    "reco":File, //语音文件
}

Response data:

JSON:
{
    "code":0,
    "msg":"上传成功",
    "data":
    {
        "filename":"filename",
        "friend_type":"app"
    }
}

Toy record a voice interface to upload AI:

Toy for recording voice messages uploaded to the AI ​​Interface

URL address: / ai_uploader
request method: POST
request protocol:

JSON:
{
    "toy_id":toy_id, //Toy的Id
    "reco":File, //语音文件
}

Response data:

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
}

Voice messages related API

App obtain historical message:

App for obtaining historical message

URL address: / chat_list
request method: POST
request protocol:

JSON:
{
    "chat_id":chat_id, //聊天窗口Id
    "to_user":user_id, //App用户Id
    "from_user":friend_id, //接收消息方Id
}

Response data:

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 unread messages received:

After receipt of message alerts for Toy

URL address: / recv_msg
request method: POST
request protocol:

JSON:
{
    "from_user":user_id/toy_id, //发送语音消息方Id
    "to_user":toy_id, //当前接收语音消息的toy_id
}

Response data:

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
    }
]

Hardware and related two-dimensional code API

App to scan two-dimensional code validation interfaces:

App Toy for scanning two-dimensional code corresponding to the identification

URL address: / scan_qr
request method: POST
request protocol:

JSON:
{
    "device_key":device_key, //app扫描二维码后获取到的device_key
}

Response data:

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 binding device interface:

App for binding equipment, and information to create Toy

URL address: / bind_toy
request method: POST
request protocol:

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
}

Response data:

JSON:
{
    "code":0,
    "msg":"绑定完成",
    "data":{}
}

App Gets Toy bind the interface:

App already bound for acquiring equipment and information created through the Toy

URL address: / toy_list
request method: POST
request protocol:

JSON:
{
    "_id":user_id //App用户Id
}

Response data:

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"
                }
            ]
        }
    ]
}

The login interface device startup:

After verifying the identity information for the device starts

URL address: / open_toy
request method: POST
request protocol:

JSON:
{
    "device_key":device_key, //设备中写定的DeviceKey
}

Response data:

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"
}

Friends relevant API contacts

App Gets buddy list Interface:

Friends App for acquiring contacts

URL address: / friend_list
request method: POST
request protocol:

JSON:
{
    "_id":user_id, //app用户Id
}

Response data:

JSON:
//1.二维码扫描成功并且设备未进行绑定
{
    "code":0,
    "msg":"好友查询",
    "data":
    [
        {
            "friend_id" : "5c8f5853268d7942f44c6705",
            "friend_nick" : "小粪球儿",
            "friend_remark" : "圆圆",
            "friend_avatar" : "toy.jpg",
            "friend_chat" : "5c8f5853268d7942f44c6704",
            "friend_type" : "toy"
        }
    ]
}

Add Friend request interface:

Add Friend request for

URL address: / add_req
request method: POST
request protocol:

JSON:
{
    "req_user":req_user_id, //发送好友请求方Id
    "add_user":add_user_id, //被请求方Id
    "type":app/toy, //请求方客户端类型
    "req_info":"我是xxx", //请求内容信息
    "remark":remark //请求方 对 被请求方 的备注名称
}

Response data:

JSON:
{
    "code":0,
    "msg":"添加好友请求成功",
    "data":{}
}

App friend request list query interface:

Friends App for Toy query binding request

URL address: / req_list
request method: POST
request protocol:

JSON:
{
    "_id":user_id, //app用户Id
}

Response data:

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 reject friend request interfaces:

App Toy for binding refused to be added as a friend

URL address: / ref_req
request method: POST
request protocol:

JSON:
{
    "req_id":req_id //好友请求信息Id
}

Response data:

JSON:
{
    "code":0,
    "msg":"拒绝添加好友",
    "data":{}
}

App agree friend request Interface:

App Toy for binding consent to be added as a friend

URL address: / acc_req
request method: POST
request protocol:

JSON:
{
    "req_id":req_id, //好友请求信息Id
    "remark":"friend_remark", //为请求方添加备注名称
}

Response data:

JSON:
{
    "code":0,
    "msg":"同意添加好友",
    "data":{}
}

Guess you like

Origin www.cnblogs.com/Doner/p/11258661.html