Nav apraksta

message.md 14KB

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