IMUserAPI.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. package com.easemob.server.example.api;
  2. /**
  3. * This interface is created for RestAPI of User Integration, it should be
  4. * synchronized with the API list.
  5. *
  6. * @author Eric23 2016-01-05
  7. * @see http://docs.easemob.com/
  8. */
  9. public interface IMUserAPI {
  10. /**
  11. * 注册IM用户[单个] <br>
  12. * POST
  13. *
  14. * @param payload
  15. * <code>{"username":"${用户名}","password":"${密码}", "nickname":"${昵称值}"}</code>
  16. * @return
  17. */
  18. Object createNewIMUserSingle(Object payload);
  19. /**
  20. * 注册IM用户[批量] <br>
  21. * POST
  22. *
  23. * @param payload
  24. * <code>[{"username":"${用户名1}","password":"${密码}"},…,{"username":"${用户名2}","password":"${密码}"}]</code>
  25. * @return
  26. */
  27. Object createNewIMUserBatch(Object payload);
  28. /**
  29. * 获取IM用户[单个] <br>
  30. * GET
  31. *
  32. * @param userName
  33. * 用戶名或用戶ID
  34. * @return
  35. */
  36. Object getIMUserByUserName(String userName);
  37. /**
  38. * 获取IM用户[批量],参数为空时默认返回最早创建的10个用户 <br>
  39. * GET
  40. *
  41. * @param limit
  42. * 单页获取数量
  43. * @param cursor
  44. * 游标,大于单页记录时会产生
  45. * @return
  46. */
  47. Object getIMUsersBatch(Long limit, String cursor);
  48. /**
  49. * 删除IM用户[单个] <br>
  50. * DELETE
  51. *
  52. * @param userName
  53. * 用戶名或用戶ID
  54. * @return
  55. */
  56. Object deleteIMUserByUserName(String userName);
  57. /**
  58. * 删除IM用户[批量],随机删除 <br>
  59. * DELETE
  60. *
  61. * @param limit
  62. * 删除数量,建议100-500
  63. * @return
  64. */
  65. Object deleteIMUserBatch(Long limit, String cursor);
  66. /**
  67. * 重置IM用户密码 <br>
  68. * PUT
  69. *
  70. * @param userName
  71. * 用戶名或用戶ID
  72. * @param payload
  73. * <code>{"newpassword" : "${新密码指定的字符串}"}</code>
  74. * @return
  75. */
  76. Object modifyIMUserPasswordWithAdminToken(String userName, Object payload);
  77. /**
  78. * 修改用户昵称 <br>
  79. * PUT
  80. *
  81. * @param userName
  82. * 用戶名或用戶ID
  83. * @param payload
  84. * <code>{"nickname" : "${昵称值}"}</code>
  85. * @return
  86. */
  87. Object modifyIMUserNickNameWithAdminToken(String userName, Object payload);
  88. /**
  89. * 给IM用户的添加好友 <br>
  90. * POST
  91. *
  92. * @param userName
  93. * 用戶名或用戶ID
  94. * @param friendName
  95. * 好友用戶名或用戶ID
  96. * @return
  97. */
  98. Object addFriendSingle(String userName, String friendName);
  99. /**
  100. * 解除IM用户的好友关系 <br>
  101. * DELETE
  102. *
  103. * @param userName
  104. * 用戶名或用戶ID
  105. * @param friendName
  106. * 好友用戶名或用戶ID
  107. * @return
  108. */
  109. Object deleteFriendSingle(String userName, String friendName);
  110. /**
  111. * 查看某个IM用户的好友信息 <br>
  112. * GET
  113. *
  114. * @param userName
  115. * 用戶名或用戶ID
  116. * @return
  117. */
  118. Object getFriends(String userName);
  119. /**
  120. * 获取IM用户的黑名单 <br>
  121. * GET
  122. *
  123. * @param userName
  124. * 用戶名或用戶ID
  125. * @return
  126. */
  127. Object getBlackList(String userName);
  128. /**
  129. * 往IM用户的黑名单中加人 <br>
  130. * POST
  131. *
  132. * @param userName
  133. * 用戶名或用戶ID
  134. * @param payload
  135. * <code>{"usernames":["5cxhactgdj", "mh2kbjyop1"]}</code>
  136. * @return
  137. */
  138. Object addToBlackList(String userName, Object payload);
  139. /**
  140. * 从IM用户的黑名单中减人 <br>
  141. * DELETE
  142. *
  143. * @param userName
  144. * 用戶名或用戶ID
  145. * @param blackListName
  146. * 黑名单用戶名或用戶ID
  147. * @return
  148. */
  149. Object removeFromBlackList(String userName, String blackListName);
  150. /**
  151. * 查看用户在线状态 <br>
  152. * GET
  153. *
  154. * @param userName
  155. * 用戶名或用戶ID
  156. * @return
  157. */
  158. Object getIMUserStatus(String userName);
  159. /**
  160. * 查询离线消息数 <br>
  161. * GET
  162. *
  163. * @param userName
  164. * 用戶名或用戶ID
  165. * @return
  166. */
  167. Object getOfflineMsgCount(String userName);
  168. /**
  169. * 查询某条离线消息状态 <br>
  170. * GET
  171. *
  172. * @param userName
  173. * 用戶名或用戶ID
  174. * @param msgId
  175. * 消息ID
  176. * @return
  177. */
  178. Object getSpecifiedOfflineMsgStatus(String userName, String msgId);
  179. /**
  180. * 用户账号禁用 <br>
  181. * POST
  182. *
  183. * @param userName
  184. * 用戶名或用戶ID
  185. * @return
  186. */
  187. Object deactivateIMUser(String userName);
  188. /**
  189. * 用户账号解禁 <br>
  190. * POST
  191. *
  192. * @param userName
  193. * 用戶名或用戶ID
  194. * @return
  195. */
  196. Object activateIMUser(String userName);
  197. /**
  198. * 强制用户下线 <br>
  199. * GET
  200. *
  201. * @param userName
  202. * 用戶名或用戶ID
  203. * @return
  204. */
  205. Object disconnectIMUser(String userName);
  206. /**
  207. * 获取用户参与的群组 <br>
  208. * GET
  209. *
  210. * @param userName
  211. * 用戶名或用戶ID
  212. * @return
  213. * @see http://docs.easemob.com/doku.php?id=start:100serverintegration:
  214. * 60groupmgmt
  215. */
  216. Object getIMUserAllChatGroups(String userName);
  217. /**
  218. * 获取用户所有参与的聊天室 <br>
  219. * GET
  220. *
  221. * @param userName
  222. * 用戶名或用戶ID
  223. * @return
  224. * @see http://docs.easemob.com/doku.php?id=start:100serverintegration:
  225. * 70chatroommgmt
  226. */
  227. Object getIMUserAllChatRooms(String userName);
  228. }