第三方应用开发 客户端API JS-SDK 企业通讯录 企业互联/上下游选人接口
企业互联/上下游选人接口

权限说明

  • 此接口仅在企业微信3.1.6及以后版本支持,微信端不支持(微信开发者工具也不支持),仅支持ios,android和PC端调用
  • 上下游相关参数仅企业微信3.1.20及以后版本支持,微信端不支持(微信开发者工具也不支持),仅支持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列表。用于多次选人时可重入
      selectedChainDepartmentIds: [		// 非必填,已选上下游部门ID列表。用于多次选人时可重入
          {
              corpId:"ww3333",				 // 企业CORPID
              departmentId:"2"				 // 部门ID
          },
		  {
              corpId:"ww4444",				// 企业CORPID
              departmentId:"3"				// 部门ID
          }
      ],
      selectedChainUserIds: [ // 非必填,已选上下游用户ID列表。用于多次选人时可重入
          {
              corpId:"ww3333",				 // 企业CORPID
			  userId:"userid123",				 // 成员ID,仅自建应用返回
			  openUserId:"wx1111"				 // 成员OPEN_USERID,仅第三方应用返回
          },
		  {
              corpId:"ww4444",				// 企业CORPID
			  userId:"userid123",				 // 成员ID,仅自建应用返回
			  openUserId:"wx1111"				 // 成员OPEN_USERID,仅第三方应用返回
          }
      ],
      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,仅第三方应用返回
                }
			   var selectedChainDepartmentList = res.result.chainDepartmentList;// 已选的部门列表
               for (var i = 0; i < selectedChainDepartmentList.length; i++)
               {
                        var chainDepartment = selectedChainDepartmentList[i];
                    	var corpId = chainDepartment.corpId; // 企业CORPID
                        var departmentId = chainDepartment.id;// 已选的单个部门ID
               }
			   var selectedChainUserList = res.result.chainUserList; // 已选的已选企业互联成员列表
                for (var i = 0; i < selectedCorpGroupUserList.length; i++)
                {
                        var chainUser = selectedCorpGroupUserList[i];
                    	var corpId = chainUser.corpId; // 企业CORPID
                        var userId = chainUser.id; // 已选的单个成员ID,仅自建应用返回
						var openUserId = chainUser.openUserId; // 已选的单个成员ID,仅第三方应用返回
                }
        }
		}
);
自建应用调用该接口时userid返回的是企业内部的userid,对于服务商该字段返回的是open_userid,同一个服务商,不同应用获取到企业内同一个成员的open_userid是相同的,最多64个字节。

请求参数

参数名类型必填说明
fromDepartmentIdNumber表示打开的通讯录从指定的部门开始展示,-1表示打开的通讯录从自己所在部门开始展示, 0表示从最上层开始。移动端,当需要展开的部门不在应用可见范围内,则从应用的可见范围开始展开。
modeString选择模式,"single"表示单选,"multi"表示多选
typeArray选择限制类型,指定"department"、"user"中的一个或者多个
selectedDepartmentIdsArray已选部门ID列表。用于多次选人时可重入
selectedUserIdsArray已选用户ID列表,仅自建应用使用,企业微信会忽略第三方应用填入的该字段。用于多次选人时可重入
selectedOpenUserIdsArray已选用户ID列表,仅第三方应用使用,企业微信会忽略自建应用填入的该字段。用于多次选人时可重入
selectedCorpGroupDepartmentIdsArray已选企业互联部门ID列表。用于多次选人时可重入
selectedCorpGroupDepartmentIds.corpIdString已选企业互联的CorpId
selectedCorpGroupDepartmentIds.departmentIdString已选企业互联的部门ID
selectedCorpGroupUserIdsArray已选企业互联用户ID列表。用于多次选人时可重入
selectedCorpGroupUserIds.corpIdString已选企业互联的CorpId
selectedCorpGroupUserIds.userIdString已选企业互联的用户userId,自建应用必填,企业微信会忽略第三方应用填入的该字段
selectedCorpGroupUserIds.openUserIdString已选企业互联的用户openUserId,第三方应用必填,企业微信会忽略自建应用填入的该字段。
selectedChainDepartmentIdsArray已选上下游部门ID列表。用于多次选人时可重入
selectedChainDepartmentIds.corpIdString已选上下游的CorpId
selectedChainDepartmentIds.departmentIdString已选上下游的部门ID
selectedChainUserIdsArray已选上下游用户ID列表。用于多次选人时可重入
selectedChainUserIds.corpIdString已选上下游的CorpId
selectedChainUserIds.userIdString已选上下游的用户userId,自建应用必填,企业微信会忽略第三方应用填入的该字段
selectedChainUserIds.openUserIdString已选上下游的用户openUserId,第三方应用必填,企业微信会忽略自建应用填入的该字段。

返回参数 Object res.result

 

参数类型说明
departmentListArray已选的部门列表
departmentList.idString已选的部门Id
userListArray已选的成员列表
userList.idString已选的成员userId, 仅自建应用返回
userList.openUserIdString已选的成员userId, 仅第三方应用返回
corpGroupDepartmentListArray已选企业互联部门ID列表
corpGroupDepartmentList.corpIdString已选企业互联企业corpId
corpGroupDepartmentList.idString已选企业互联企业部门Id
corpGroupUserListArray已选企业互联用户ID列表
corpGroupUserList.corpIdString已选企业互联企业corpId
corpGroupUserList.idString已选企业互联企业成员userId, 仅自建应用返回
corpGroupUserList.openUserIdString已选企业互联企业成员openUserId,仅第三方应用使用返回
chainGroupList.groupIdNumber上下游分组ID
chainGroupList.chainIdString上下游id
chainDepartmentListArray已选上下游部门ID列表
chainDepartmentList.corpIdString已选上下游企业corpId
chainDepartmentList.idString已选上下游企业部门Id
chainUserListArray已选上下游联用户ID列表
chainUserList.corpIdString已选上下游企业corpId
chainUserList.idString已选上下游企业成员userId, 仅自建应用返回
chainList.openUserIdString已选上下游企业成员openUserId,仅第三方应用使用返回

 

错误列表

res.err_msg说明
selectCorpGroupContact:ok执行成功
selectCorpGroupContact:fail no permission必须先成功调用agentConfig
上一篇
打开个人信息页接口
下一篇
返回ticket的选人接口