dingtalk.client.api.extcontact 源代码
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from dingtalk.client.api.base import DingTalkBaseAPI
[文档]class ExtContact(DingTalkBaseAPI):
[文档] def listlabelgroups(self, offset=0, size=100):
"""
获取外部联系人标签列表
:param size: 分页大小,最大100
:param offset: 偏移位置
"""
return self._top_request(
"dingtalk.oapi.extcontact.listlabelgroups",
{"size": size, "offset": offset}
)
[文档] def list(self, offset=0, size=100):
"""
获取外部联系人列表
:param size: 分页大小, 最大100
:param offset: 偏移位置
"""
return self._top_request(
"dingtalk.oapi.extcontact.list",
{"size": size, "offset": offset}
)
[文档] def get(self, user_id):
"""
获取企业外部联系人详情
:param user_id: userId
"""
return self._top_request(
"dingtalk.oapi.extcontact.get",
{"user_id": user_id}
)
[文档] def create(self, name, follower_user_id, label_ids, mobile, state_code='86',
title=None, share_dept_ids=(), remark=None, address=None, company_name=None, share_user_ids=()):
"""
添加外部联系人
:param name: 名称
:param follower_user_id: 负责人userId
:param state_code: 手机号国家码
:param mobile: 手机号
:param label_ids: 标签列表
:param title: 职位
:param share_dept_ids: 共享给的部门ID
:param remark: 备注
:param address: 地址
:param company_name: 企业名
:param share_user_ids: 共享给的员工userId列表
:return:
"""
if not isinstance(label_ids, (list, tuple, set)):
label_ids = (label_ids, )
if not isinstance(share_dept_ids, (list, tuple, set)):
share_dept_ids = (share_dept_ids, )
if not isinstance(share_user_ids, (list, tuple, set)):
share_user_ids = (share_user_ids, )
return self._top_request(
"dingtalk.oapi.extcontact.create",
{
"contact": {
'name': name,
'follower_user_id': follower_user_id,
'state_code': state_code,
'mobile': mobile,
'label_ids': label_ids,
'title': title,
'share_dept_ids': share_dept_ids,
'remark': remark,
'address': address,
'company_name': company_name,
'share_user_ids': share_user_ids
}
},
result_processor=lambda x: x['userid']
)
[文档] def update(self, user_id, name, follower_user_id, label_ids, mobile, state_code='86',
title=None, share_dept_ids=(), remark=None, address=None, company_name=None, share_user_ids=()):
"""
更新外部联系人
:param user_id: 该外部联系人的userId
:param name: 名称
:param follower_user_id: 负责人userId
:param state_code: 手机号国家码
:param mobile: 手机号
:param label_ids: 标签列表
:param title: 职位
:param share_dept_ids: 共享给的部门ID
:param remark: 备注
:param address: 地址
:param company_name: 企业名
:param share_user_ids: 共享给的员工userId列表
:return:
"""
if not isinstance(label_ids, (list, tuple, set)):
label_ids = (label_ids, )
if not isinstance(share_dept_ids, (list, tuple, set)):
share_dept_ids = (share_dept_ids, )
if not isinstance(share_user_ids, (list, tuple, set)):
share_user_ids = (share_user_ids, )
return self._top_request(
"dingtalk.oapi.extcontact.update",
{
"contact": {
"user_id": user_id,
'name': name,
'follower_user_id': follower_user_id,
'state_code': state_code,
'mobile': mobile,
'label_ids': label_ids,
'title': title,
'share_dept_ids': share_dept_ids,
'remark': remark,
'address': address,
'company_name': company_name,
'share_user_ids': share_user_ids
}
}
)
[文档] def delete(self, user_id):
"""
删除外部联系人
:param user_id: 用户id
"""
return self._top_request(
"dingtalk.oapi.extcontact.delete",
{"user_id": user_id}
)