wechatpy.enterprise.client.api.user 源代码

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals

from optionaldict import optionaldict

from wechatpy.client.api.base import BaseWeChatAPI


[文档]class WeChatUser(BaseWeChatAPI): """ 成员管理 https://work.weixin.qq.com/api/doc#90000/90135/90194 邀请成员接口位于 `WeChatBatch.invite` """
[文档] def create(self, user_id, name, department=None, position=None, mobile=None, gender=0, tel=None, email=None, weixin_id=None, extattr=None, **kwargs): """ 创建成员 https://work.weixin.qq.com/api/doc#90000/90135/90195 """ user_data = optionaldict() user_data['userid'] = user_id user_data['name'] = name user_data['gender'] = gender user_data['department'] = department user_data['position'] = position user_data['mobile'] = mobile user_data['tel'] = tel user_data['email'] = email user_data['weixinid'] = weixin_id user_data['extattr'] = extattr user_data.update(kwargs) return self._post( 'user/create', data=user_data )
[文档] def get(self, user_id): """ 读取成员 https://work.weixin.qq.com/api/doc#90000/90135/90196 """ return self._get( 'user/get', params={ 'userid': user_id } )
[文档] def update(self, user_id, name=None, department=None, position=None, mobile=None, gender=None, tel=None, email=None, weixin_id=None, enable=None, extattr=None, **kwargs): """ 更新成员 https://work.weixin.qq.com/api/doc#90000/90135/90197 """ user_data = optionaldict() user_data['userid'] = user_id user_data['name'] = name user_data['gender'] = gender user_data['department'] = department user_data['position'] = position user_data['mobile'] = mobile user_data['tel'] = tel user_data['email'] = email user_data['weixinid'] = weixin_id user_data['extattr'] = extattr user_data['enable'] = enable user_data.update(kwargs) return self._post( 'user/update', data=user_data )
[文档] def delete(self, user_id): """ 删除成员 https://work.weixin.qq.com/api/doc#90000/90135/90198 """ return self._get( 'user/delete', params={ 'userid': user_id } )
[文档] def batch_delete(self, user_ids): """ 批量删除成员 https://work.weixin.qq.com/api/doc#90000/90135/90199 """ return self._post( 'user/batchdelete', data={ 'useridlist': user_ids } )
[文档] def list(self, department_id, fetch_child=False, status=0, simple=False): """ 批量获取部门成员 / 批量获取部门成员详情 https://work.weixin.qq.com/api/doc#90000/90135/90200 https://work.weixin.qq.com/api/doc#90000/90135/90201 此接口和 `WeChatDepartment.get_users` 是同一个接口,区别为 simple 的默认值不同。 """ url = 'user/simplelist' if simple else 'user/list' res = self._get( url, params={ 'department_id': department_id, 'fetch_child': 1 if fetch_child else 0, 'status': status } ) return res['userlist']
[文档] def convert_to_openid(self, user_id, agent_id=None): """ user_id 转成 openid https://work.weixin.qq.com/api/doc#90000/90135/90202 :param user_id: 企业微信内的成员 ID :param agent_id: 可选,需要发送红包的应用ID,若只是使用微信支付和企业转账,则无需该参数 :return: 返回的 JSON 数据包 """ data = optionaldict( userid=user_id, agentid=agent_id ) return self._post('user/convert_to_openid', data=data)
[文档] def convert_to_user_id(self, openid): """ openid 转成 user_id https://work.weixin.qq.com/api/doc#90000/90135/90202 :param openid: 在使用微信支付、微信红包和企业转账之后,返回结果的openid :return: 该 openid 在企业微信中对应的成员 user_id """ res = self._post('user/convert_to_userid', data={'openid': openid}) return res['userid']
[文档] def verify(self, user_id): """ 二次验证 https://work.weixin.qq.com/api/doc#90000/90135/90203 :param user_id: 成员UserID。对应管理端的帐号 """ return self._get( 'user/authsucc', params={ 'userid': user_id } )
def get_info(self, agent_id, code): return self._get( 'user/getuserinfo', params={ 'agentid': agent_id, 'code': code } )