企业互联选人接口

权限说明

  • 此接口仅在企业微信3.1.6及以后版本支持,微信端不支持(微信开发者工具也不支持),仅支持ios,android和PC端调用
  • 必须先成功调用agentConfig,否则调用时会报“no permission”错误
  • 该接口仅可选择应用可见范围内的成员和部门
wx.invoke("selectCorpGroupContact", {
      fromDepartmentId: -1,// 必填,表示打开的通讯录从指定的部门开始展示,-1表示打开的通讯录从自己所在部门开始展示, 0表示从最上层开始。移动端,当需要展开的部门不在应用可见范围内,则从应用的可见范围开始展开。
      mode: "single",// 必填,选择模式,single表示单选,multi表示多选
      type: ["department", "user"],// 必填,选择限制类型,指定department、user中的一个或者多个
      selectedDepartmentIds: ["2","3"],// 非必填,已选部门ID列表。用于多次选人时可重入
      selectedUserIds: ["lisi","lisi2"],// 非必填,仅自建应用使用,第三方应用会忽略该字段,已选用户ID列表。用于多次选人时可重入
      selectedOpenUserIds: ["wabc3","wbcde"],// 非必填,仅第三方应用使用,自建应用会忽略该字段,已选用户ID列表。用于多次选人时可重入
      selectedCorpGroupDepartmentIds: [        // 非必填,已选企业互联部门ID列表。用于多次选人时可重入
          {
              corpId:"ww3333",                 // 企业CORPID
                 departmentId:"2"                 // 部门ID
          },
          {
              corpId:"ww4444",                // 企业CORPID
                 departmentId:"3"                // 部门ID
          }
      ],
      selectedCorpGroupUserIds: [ // 非必填,已选企业互联用户ID列表。用于多次选人时可重入
          {
              corpId:"ww3333",                 // 企业CORPID
              userId:"userid123",                 // 成员ID,仅自建应用返回
              openUserId:"wx1111"                 // 成员OPEN_USERID,仅第三方应用返回
          },
          {
              corpId:"ww4444",                // 企业CORPID
              userId:"userid123",                 // 成员ID,仅自建应用返回
              openUserId:"wx1111"                 // 成员OPEN_USERID,仅第三方应用返回
          }
      ]
      },function(res){
                if (res.err_msg == "selectCorpGroupContact:ok")
                {
                        if(typeof res.result == 'string')
                        {
                                res.result = JSON.parse(res.result) //由于目前各个终端尚未完全兼容,需要开发者额外判断result类型以保证在各个终端的兼容性
                        }

               var selectedDepartmentList = res.result.departmentList;// 已选的部门列表
               for (var i = 0; i < selectedDepartmentList.length; i++)
               {
                        var department = selectedDepartmentList[i];
                        var departmentId = department.id;// 已选的单个部门ID
                }
                var selectedUserList = res.result.userList; // 已选的成员列表
                for (var i = 0; i < selectedUserList.length; i++)
                {
                        var user = selectedUserList[i];
                        var userid = user.id; // 已选的单个成员ID,仅自建应用返回
                        var openUserId = user.openUserId; // 已选的单个成员ID,仅第三方应用返回
                }
               var selectedCorpGroupDepartmentList = res.result.corpGroupDepartmentList;// 已选的部门列表
               for (var i = 0; i < selectedCorpGroupDepartmentList.length; i++)
               {
                         var corpGroupDepartment = selectedCorpGroupDepartmentList[i];
                        var corpId = corpGroupDepartment.corpId; // 企业CORPID
                        var departmentId = corpGroupDepartment.id;// 已选的单个部门ID
               }
                   var selectedCorpGroupUserList = res.result.corpGroupUserList; // 已选的已选企业互联成员列表
                for (var i = 0; i < selectedGroupUserList.length; i++)
                {
                       var corpGroupUser = selectedCorpGroupUserList[i];
                        var corpId = corpGroupUser.corpId; // 企业CORPID
                        var userId = corpGroupUser.id; // 已选的单个成员ID,仅自建应用返回
                        var openUserId = corpGroupUser.openUserId; // 已选的单个成员ID,仅第三方应用返回
                }
        }
        }
);

自建应用调用该接口时userid返回的是企业内部的userid,对于服务商该字段返回的是open_userid,同一个服务商,不同应用获取到企业内同一个成员的open_userid是相同的,最多64个字节。

请求参数

参数名 类型 必填 说明
fromDepartmentId Number 表示打开的通讯录从指定的部门开始展示,-1表示打开的通讯录从自己所在部门开始展示, 0表示从最上层开始。移动端,当需要展开的部门不在应用可见范围内,则从应用的可见范围开始展开。
mode String 选择模式,”single”表示单选,”multi”表示多选
type Array 选择限制类型,指定”department”、”user”中的一个或者多个
selectedDepartmentIds Array 已选部门ID列表。用于多次选人时可重入
selectedUserIds Array 已选用户ID列表,仅自建应用使用,企业微信会忽略第三方应用填入的该字段。用于多次选人时可重入
selectedOpenUserIds Array 已选用户ID列表,仅第三方应用使用,企业微信会忽略自建应用填入的该字段。用于多次选人时可重入
selectedCorpGroupDepartmentIds Array 已选企业互联部门ID列表。用于多次选人时可重入
selectedCorpGroupDepartmentIds.corpId String 已选企业互联的CorpId
selectedCorpGroupDepartmentIds.departmentId String 已选企业互联的部门ID
selectedCorpGroupUserIds Array 已选企业互联用户ID列表。用于多次选人时可重入
selectedCorpGroupUserIds.corpId String 已选企业互联的CorpId
selectedCorpGroupUserIds.userId String 已选企业互联的用户userId,自建应用必填,企业微信会忽略第三方应用填入的该字段
selectedCorpGroupUserIds.openUserId String 已选企业互联的用户openUserId,第三方应用必填,企业微信会忽略自建应用填入的该字段。

返回参数

参数 类型 说明
departmentList Array 已选的部门列表
departmentList.id String 已选的部门Id
userList Array 已选的成员列表
userList.id String 已选的成员userId, 仅自建应用返回
userList.openUserId String 已选的成员userId, 仅第三方应用返回
corpGroupDepartmentList Array 已选企业互联部门ID列表
corpGroupDepartmentList.corpId String 已选企业互联企业corpId
corpGroupDepartmentList.id String 已选企业互联企业部门Id
corpGroupUserList Array 已选企业互联用户ID列表
corpGroupUserList.corpId String 已选企业互联企业corpId
corpGroupUserList.id String 已选企业互联企业成员userId, 仅自建应用返回
corpGroupUserList.openUserId String 已选企业互联企业成员openUserId,仅第三方应用使用返回

错误列表

res.err_msg 说明
selectCorpGroupContact:ok 执行成功
selectCorpGroupContact:fail no permission 必须先成功调用agentConfig
© 1998 - 2021 Tencent Inc. All Rights Reserved