1. 初始化会话
输入参数:
{
"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绑定在一起:通过用户名和密码登陆
输入参数:
{
"id":"217" // http登陆接口返回的用户id
"password": // http登陆接口返回的password
}
请求成功:
返回内容为空
3. 通过token登陆聊天服务
输入参数:
{
"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoyMTcsInBsYXRmb3JtIjoiaW9zIn0.JLx_CFhFIdpEnUBJUxjB0BQ-H3PAeeFm-fd1jG0Dun8" // http登陆接口返回的token
}
请求成功:
返回内容为空
4. 解除用户id和session的绑定即注销登录聊天服务
输入参数:
返回内容为空
请求成功:
返回内容为空
5. 修改在线状态
输入参数:
{
"status":"on" // on:在线 off:离线 busy:忙碌
}
请求成功:
返回内容为空
6. 获取当前登陆用户的设备信息
输入参数:
参数为空
请求成功:
[{
"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
输入参数:
{
"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. 标记消息已送达
输入参数:
{"msg_id":""}
请求成功:
返回内容为空
9. 标记消息已送读
输入参数:
{"msg_id":""}
请求成功:
返回内容为空
10. 增量获取所有会话信息
输入参数:
{
"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. 获取联系人列表
输入参数:
{
"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. 添加联系人
输入参数:
{
"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. 删除联系人
输入参数:
{
"fid":""// 好友id
}
请求成功:
返回内容为空
14. 屏蔽联系人
输入参数:
{
"fid":""// 好友id
}
请求成功:
返回内容为空
15. 屏蔽联系人
输入参数:
{
"fid":""// 好友id
}
请求成功:
返回内容为空
16. 置顶联系人
输入参数:
{
"fid":""// 好友id
}
请求成功:
返回内容为空
16. 解除置顶联系人
输入参数:
{
"fid":""// 好友id
}
请求成功:
返回内容为空
17. 消息免打扰
输入参数:
{
"fid":""// 好友id
}
请求成功:
返回内容为空
18. 取消消息免打扰
输入参数:
{
"fid":""// 好友id
}
请求成功:
返回内容为空
19. 同意添加好友
输入参数:
{
"id":""// 消息id
"to":// 被添加好友的人
}
请求成功:
返回内容为空
20. 拒绝添加好友
输入参数:
{
"id":""// 消息id
"to":// 被拒绝的人
}
请求成功:
返回内容为空
21. 好友申请已送达
输入参数:
{
"id":""// 消息id
"to":// 被送达人
}
请求成功:
返回内容为空
22. 创建聊天室
输入参数:
{
"subject": "test",// 聊天室名称
"description": "test chatroom", // 聊天室描述
"welcome_message": "welcome to chatroom", // 欢迎词
"max": 1000 // 聊天室的最大人数
}
请求成功:
{"cid":"5aa003dd2b93417e5c0378be"// 聊天室ID}
23. 销毁聊天室
输入参数:
{"room_id":"5a8bce182b934169cf517b41"}
请求成功:
返回内容为空
23. 销毁聊天室
输入参数:
{"room_id":"5a8bce182b934169cf517b41"}
请求成功:
返回内容为空
24. 离开聊天室
输入参数:
{"room_id":"5a8bce182b934169cf517b41"}
请求成功:
返回内容为空
25. 获取聊天室详情
输入参数:
{"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. 修改聊天室名称
输入参数:
{"room_id":"5a8bce182b934169cf517b41"}
请求成功:
返回内容为空
27. 修改聊天室描述信息
输入参数:
{"room_id":"5a8bce182b934169cf517b41"}
请求成功:
返回内容为空
28. 添加管理员
输入参数:
{"room_id":"5a8bce182b934169cf517b41", "admin_id":""}
请求成功:
返回内容为空
30. 批量添加管理员
输入参数:
{"room_id":"5a8bce182b934169cf517b41", "admins_id":[45, 217]}
请求成功:
返回内容为空
29. 移除管理员
输入参数:
{"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. 删除聊天室成员
输入参数:
{"room_id":"5a8bce182b934169cf517b41", "member":""}
请求成功:
返回内容为空
31.加入聊天室
输入参数:
{"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.获取置顶聊天室列表
输入参数:
{"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.获取聊天室历史消息
输入参数:
{
"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. 根据聊天室成员权限后去聊天室成员
输入参数:
{"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.搜索聊天室历史消息
输入参数:
{
"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
}
]