DDClient_Contacts.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.malk.service.dingtalk;
  2. import java.util.Date;
  3. import java.util.List;
  4. import java.util.Map;
  5. /**
  6. * 钉钉通讯录管理
  7. *
  8. * @apiNote https://open.dingtalk.com/document/orgapp/contacts-overview
  9. */
  10. public interface DDClient_Contacts {
  11. /**
  12. * 获取子部门ID列表 [获取企业部门下的所有直属子部门列表]
  13. */
  14. List<Long> listSubDepartmentId(String access_token, long dept_id);
  15. /**
  16. * 获取部门列表
  17. */
  18. List<Map> listSubDepartmentDetail(String access_token, long dept_id);
  19. /**
  20. * 获取全部架构内部门_全部 ID [是否包含一级部门]
  21. */
  22. List<Long> getDepartmentId_all(String access_token, boolean containsTop);
  23. List<Long> getDepartmentId_all(String access_token, boolean containsTop, long deptId);
  24. /**
  25. * 获取全部架构内部门_全部 detail [是否包含一级部门]
  26. */
  27. List<Map> getDepartmentDetail_all(String access_token, boolean containsTop);
  28. /**
  29. * 获取部门用户userid列表 [无需分页]
  30. */
  31. List<String> listDepartmentUserId(String access_token, long dept_id);
  32. /**
  33. * 查询用户详情
  34. * -
  35. * [入职时间 需要再在花名册添加员工可见, 接口才会返回]
  36. * [手机号\邮箱等, 只有应用开通通讯录邮箱等个人信息权限,才会返回该字段: 如个人邮箱 fieldEmail]
  37. * ppExt: 企业邮箱org_email, 若无则字段不返回; 手机号telephone无值, 但mobile会返回
  38. */
  39. Map getUserInfoById(String access_token, String userId);
  40. /**
  41. * 根据手机号查询用户 [手机号查询仅返回userid, 查询详情后返回]
  42. */
  43. Map getUserInfoByMobile(String access_token, String mobile);
  44. /**
  45. * 删除用户
  46. */
  47. boolean deleteUser(String access_token, String userId);
  48. /**
  49. * 查询离职记录列表
  50. *
  51. * @param startTime 开始时间: 格式:YYYY-MM-DDTHH:mm:ssZ(ISO 8601/RFC 3339)
  52. * @param extInfo maxResults, 每页最大条目数,最大值50. nextToken 分页游标. endTime 结束时间, 默认当前时间, 查询跨度不能超过365天
  53. */
  54. List<Map<String, String>> getLeaveEmployeeRecords(String access_token, Date startTime, Map extInfo);
  55. /**
  56. * 获取指定用户的所有父部门列表
  57. */
  58. Map listParentByUser(String access_token, String userId);
  59. /**
  60. * 创建用户 [24小时只能收到一次邀请通知, 若是频繁退出再进入, 可关闭邀请确认后自动加入, 路径: 设置 - 安全中心 - 隐私开关 - 团队添加我时需要我的确认 - 关闭]
  61. */
  62. Map createUser(String access_token, String name, String mobile, List<String> dept_id_list, Map body_ext);
  63. /**
  64. * 创建钉钉自建企业账号 [邮箱为必填]
  65. */
  66. Map createUser_dingTalk(String access_token, String login_id, String init_password, String name, List<Long> dept_id_list, Map body_ext);
  67. /**
  68. * 创建部门
  69. */
  70. Map createDepartment(String access_token, String name, long parent_id, Map body_ext);
  71. /**
  72. * 获取部门详情
  73. */
  74. Map getDepartmentInfo(String access_token, long dept_id);
  75. /**
  76. * 获取员工人数
  77. *
  78. * @param only_active 是否包含未激活钉钉人数
  79. */
  80. int getUserCount(String access_token, boolean only_active);
  81. }