**1. 初始化会话** - 请求地址:**/v1/session/start** - 输入参数: ``` { "device": "pc",// 客户端设备信息:pc、pad、mobile、web等 "os": "linux", // 客户端运行的操作系统 "os_version": "3.6", // 操作系统版本 "app": "go-client", // 客户端运行的app "app_version": "1.0", // // 客户端运行的app版本 "tag":{} // 用于发送自定义标记 } ``` - 请求成功: ``` { "value":"5a9fca2a2b93417e5c0378b6" // 会话ID } ``` **2. 把用户ID和session绑定在一起:通过用户名和密码登陆** - 请求地址:**/v1/session/bind/uid** - 输入参数: ``` { "id":"217" // http登陆接口返回的用户id "password": // http登陆接口返回的password } ``` - 请求成功: ``` 返回内容为空 ``` **3. 通过token登陆聊天服务** - 请求地址:**/v1/session/bind/uid/by/token** - 输入参数: ``` { "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoyMTcsInBsYXRmb3JtIjoiaW9zIn0.JLx_CFhFIdpEnUBJUxjB0BQ-H3PAeeFm-fd1jG0Dun8" // http登陆接口返回的token } ``` - 请求成功: ``` 返回内容为空 ``` **4. 解除用户id和session的绑定即注销登录聊天服务** - 请求地址:**/v1/session/unbind/uid** - 输入参数: ``` 返回内容为空 ``` - 请求成功: ``` 返回内容为空 ``` **5. 修改在线状态** - 请求地址:**/v1/session/status** - 输入参数: ``` { "status":"on" // on:在线 off:离线 busy:忙碌 } ``` - 请求成功: ``` 返回内容为空 ``` **6. 获取当前登陆用户的设备信息** - 请求地址:**/v1/session/lists** - 输入参数: ``` 参数为空 ``` - 请求成功: ``` [{ "token": "5a9fd1772b93417e5c0378b8", "device": "pc", "os": "linux", "os_version": "3.6", "app": "go-client", "app_version": "1.0", "push_token": "c62c66585e1ba998326c0bfd2cccc6aa" }, { "token": "5a9fd1772b93417e5c0378b8", "device": "pc", "os": "linux", "os_version": "3.6", "app": "go-client", "app_version": "1.0", "push_token": "c62c66585e1ba998326c0bfd2cccc6aa" } ] ``` **7. 发送消息:接收消息需要有消息监听/v1/message/listener** - 请求地址:**/v1/send/message** - 输入参数: ``` { "from": "217", // 消息发送者 "type": "chat", // 消息类型:chat:单聊 group: 群聊 room:聊天室 "to": "45", // 消息接收者 "msg": { "message": "push message to you.", "type": "text" // 消息类型:text audio image video }, "ext": null // 扩展消息 } ``` - 请求成功: ``` { "msg_id":"5a9fd21d2b93417e5c0378ba", // 消息ID "status":1, 消息状态 1:已发送 2:已送达 3:已读 "create_at":1520423453 } ``` **8. 标记消息已送达** - 请求地址:**/v1/mark/message/serviced** - 输入参数: ``` {"msg_id":""} ``` - 请求成功: ``` 返回内容为空 ``` **9. 标记消息已送读** - 请求地址:**/v1/mark/messages/read** - 输入参数: ``` {"msg_id":""} ``` - 请求成功: ``` 返回内容为空 ``` **10. 增量获取所有会话信息** - 请求地址:**/v1/get/all/conversation** - 输入参数: ``` { "last_pull":0 // 最后一次获取的时间 0的话是全量获取 } ``` - 请求成功: ``` [{ "from": "62980", "to": "217", "type": "chat", "msg": { "message": "😊", "type": "text" }, "ext": {}, "num": 0, "deleted": false, "create_at": 1520217899, "update_at": 1520217899 }, { "from": "22428", "to": "217", "type": "chat", "msg": { "message": "😄😄", "type": "text" }, "ext": {}, "num": 0, "deleted": false, "create_at": 1520282463, "update_at": 1520282463 }] ``` **11. 获取联系人列表** - 请求地址:**/v1/get/all/contact** - 输入参数: ``` { "last_pull":0 // 最后一次获取的时间 0的话是全量获取 } ``` - 请求成功: ``` { "avatar_prefix": "https://links123-images.oss-cn-hangzhou.aliyuncs.com/avatar/", "fans": [ { "user_id": 22428, "user_nickname": "paula", "user_avatar": "2016/9/5/00fa5267353a2f3979bec4bec0df9c0b.png", "user_mark": "", "user_is_teacher": 0, "user_first_letter": "P", "type": 5, "is_masking": false, "is_stick": true, "no_disturbing": false, "create_at": 1520282388, "update_at": 1520282406 }, { "user_id": 62993, "user_nickname": "lk8846wqw", "user_avatar": "", "user_mark": "", "user_is_teacher": 0, "user_first_letter": "L", "type": 5, "is_masking": true, "is_stick": false, "no_disturbing": false, "create_at": 1520304485, "update_at": 1520306097 } ], "followers": [ { "friend_id": 217, "friend_nickname": "", "friend_avatar": "", "friend_mark": "", "friend_is_teacher": 1, "friend_first_letter": "#", "type": 1, "is_masking": false, "is_stick": false, "no_disturbing": false, "create_at": 1516809946, "update_at": 1520350402 }, { "friend_id": 62980, "friend_nickname": "lk9290lrn", "friend_avatar": "2018/1/25/734b55ddf5435fa8e173df8fcbd93d1b.png", "friend_mark": "", "friend_is_teacher": 0, "friend_first_letter": "L", "type": 5, "is_masking": false, "is_stick": false, "no_disturbing": false, "create_at": 1516851073, "update_at": 1519272032 }"server_time": 1520424326 } ``` **12. 添加联系人** - 请求地址:**/v1/add/contact** - 输入参数: ``` { "to_add_username":"45", // 被添加人 "reason":"I am paul, add me as your friend please." // 加好友原因 } ``` - 请求成功: ``` { "id": "5a9fd7dc2b93417e5c0378bd", "from": "217", "to": "45", "reason": "I am paul, add me as your friend please.", "status": 1, "create_at": 1520424924, "update_at": 1520424924 } ``` **13. 删除联系人** - 请求地址:**/v1/delete/contact** - 输入参数: ``` { "fid":""// 好友id } ``` - 请求成功: ``` 返回内容为空 ``` **14. 屏蔽联系人** - 请求地址:**/v1/add/contact/masking** - 输入参数: ``` { "fid":""// 好友id } ``` - 请求成功: ``` 返回内容为空 ``` **15. 屏蔽联系人** - 请求地址:**/v1/remove/contact/masking** - 输入参数: ``` { "fid":""// 好友id } ``` - 请求成功: ``` 返回内容为空 ``` **16. 置顶联系人** - 请求地址:**/v1/add/contact/stickg** - 输入参数: ``` { "fid":""// 好友id } ``` - 请求成功: ``` 返回内容为空 ``` **16. 解除置顶联系人** - 请求地址:**/v1/remove/contact/stick** - 输入参数: ``` { "fid":""// 好友id } ``` - 请求成功: ``` 返回内容为空 ``` **17. 消息免打扰** - 请求地址:**/v1/add/contact/no/disturbing** - 输入参数: ``` { "fid":""// 好友id } ``` - 请求成功: ``` 返回内容为空 ``` **18. 取消消息免打扰** - 请求地址:**/v1/remove/contact/no/disturbing** - 输入参数: ``` { "fid":""// 好友id } ``` - 请求成功: ``` 返回内容为空 ``` **19. 同意添加好友** - 请求地址:**/v1/add/contact/agree** - 输入参数: ``` { "id":""// 消息id "to":// 被添加好友的人 } ``` - 请求成功: ``` 返回内容为空 ``` **20. 拒绝添加好友** - 请求地址:**/v1/add/contact/reject** - 输入参数: ``` { "id":""// 消息id "to":// 被拒绝的人 } ``` - 请求成功: ``` 返回内容为空 ``` **21. 好友申请已送达** - 请求地址:**/v1/add/contact/serviced** - 输入参数: ``` { "id":""// 消息id "to":// 被送达人 } ``` - 请求成功: ``` 返回内容为空 ``` **22. 创建聊天室** - 请求地址:**/v1/create/chatroom** - 输入参数: ``` { "subject": "test",// 聊天室名称 "description": "test chatroom", // 聊天室描述 "welcome_message": "welcome to chatroom", // 欢迎词 "max": 1000 // 聊天室的最大人数 } ``` - 请求成功: ``` {"cid":"5aa003dd2b93417e5c0378be"// 聊天室ID} ``` **23. 销毁聊天室** - 请求地址:**/v1/destroy/chatroom** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41"} ``` - 请求成功: ``` 返回内容为空 ``` **23. 销毁聊天室** - 请求地址:**/v1/destroy/chatroom** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41"} ``` - 请求成功: ``` 返回内容为空 ``` **24. 离开聊天室** - 请求地址:**/v1/leave/chatroom** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41"} ``` - 请求成功: ``` 返回内容为空 ``` **25. 获取聊天室详情** - 请求地址:**/v1/get/chatroom/profile** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41"} ``` - 请求成功: ``` { "profile": { "id": "5a8bce182b934169cf517b41", // 聊天室ID "name": "new subject", "description": "new description", "notice": "new notice", // 聊天室公告 "welcome_message": "welcome to chatroom", "avatar": "",// 头像 "max": 1000, // 聊天室最大人数 "count": 0, // 聊天室当前人数 "cover": "", // 聊天室封面大图 "type": 1 }, "user_type": 9 } ``` **26. 修改聊天室名称** - 请求地址:**/v1/update/chatroom/subject** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41"} ``` - 请求成功: ``` 返回内容为空 ``` **27. 修改聊天室描述信息** - 请求地址:**/v1/update/chatroom/description** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41"} ``` - 请求成功: ``` 返回内容为空 ``` **28. 添加管理员** - 请求地址:**/v1/add/chatroom/admin** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41", "admin_id":""} ``` - 请求成功: ``` 返回内容为空 ``` **30. 批量添加管理员** - 请求地址:**/v1/add/chatroom/admins** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41", "admins_id":[45, 217]} ``` - 请求成功: ``` 返回内容为空 ``` **29. 移除管理员** - 请求地址:**/v1/add/chatroom/admin** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41", "admin_id":""} ``` - 请求成功: ``` 返回内容为空 ``` **29. 移除管理员** - 请求地址:**/v1/add/chatroom/admin** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41", "admin_id":""} ``` - 请求成功: ``` 返回内容为空 ``` **30. 批量删除管理员** - 请求地址:**/v1/remove/chatroom/admins** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41", "admins_id":[45, 217]} ``` - 请求成功: ``` 返回内容为空 ``` **30. 删除聊天室成员** - 请求地址:**/v1/remove/chatroom/member** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41", "member":""} ``` - 请求成功: ``` 返回内容为空 ``` **31.加入聊天室** - 请求地址:**/v1/join/chatroom** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41"} ``` - 请求成功: ``` [{ "from": "217", "msg_id": "", "type": "room", "msg": { "message": "Hi", "type": "text" }, "ext": {}, "to": "5a8bce182b934169cf517b41", "create_at": 1520350764 }, { "from": "62947", "msg_id": "", "type": "room", "msg": { "message": "😉😉😉😉", "type": "text" }, "ext": {}, "to": "5a8bcba72b934168d1edc2e0", "create_at": 1520562559 } ] ``` **32.获取置顶聊天室列表** - 请求地址:**/v1/fetch/stick/chatroom** - 输入参数: ``` {"cache_time":10位时间戳} ``` - 请求成功: ``` { "server_time": 1520437237, "avatar_prefix": "https://links123-images.oss-cn-hangzhou.aliyuncs.com/avatar/", "chat_room": [ { "id": "5a8bcba72b934168d1edc2e0", "cn_name": "麦聊", "en_name": "Wheat chat" "avatar": "wheat.png" }, { "id": "5a8bce182b934169cf517b41", "cn_name": "米聊", "en_name": "Rice chat", "avatar": "rice.png" } ] } ``` **32.获取聊天室历史消息** - 请求地址:**/v1/history/message** - 输入参数: ``` { "contact_id":"5a8bce182b934169cf517b41", "chat_type":"room" "start_time":int64, // 最新一条消息的10位时间戳 "limit":10, // 每次返回历史消息的条数 } ``` - 请求成功: ``` [{ "from": "217", "msg_id": "", "type": "room", "msg": { "message": "Hi", "type": "text" }, "ext": {}, "to": "5a8bce182b934169cf517b41", "create_at": 1520350764 }, { "from": "62947", "msg_id": "", "type": "room", "msg": { "message": "😉😉😉😉", "type": "text" }, "ext": {}, "to": "5a8bcba72b934168d1edc2e0", "create_at": 1520562559 } ] ``` **33. 根据聊天室成员权限后去聊天室成员** - 请求地址:**/v1/fetch/chatroom/members** - 输入参数: ``` {"room_id":"5a8bce182b934169cf517b41", "authority":数字类型1 owner, 2 admin 9 普通成员} ``` - 请求成功: ``` [{ "user_id": 62982, "nickname": "陽陽陽陽陽陽陽陽陽陽", "avatar": "2018/1/2/732f5927510695b6ef203ed8e786fba5.png", "mark": "", "type": 9, "first_letter": "Y" }, { "user_id": 62980, "nickname": "lk9290lrn", "avatar": "2018/1/25/734b55ddf5435fa8e173df8fcbd93d1b.png", "mark": "", "type": 9, "first_letter": "L" }] ``` **34.搜索聊天室历史消息** - 请求地址:**/v1/search/history/message** - 输入参数: ``` { "contact_id":"5a8bce182b934169cf517b41", "chat_type":"room" "keyword":"", // 搜索的关键字,模糊匹配,输入的关键词越多返回的越准确 "limit":10, // 每次返回历史消息的条数 } ``` - 请求成功: ``` [{ "from": "217", "msg_id": "", "type": "room", "msg": { "message": "Hi", "type": "text" }, "ext": {}, "to": "5a8bce182b934169cf517b41", "create_at": 1520350764 }, { "from": "62947", "msg_id": "", "type": "room", "msg": { "message": "😉😉😉😉", "type": "text" }, "ext": {}, "to": "5a8bcba72b934168d1edc2e0", "create_at": 1520562559 } ] ```