addresslist

package
v0.0.0-...-5652a87 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2017 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

管理通讯录接口

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attribute

type Attribute struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type Client

type Client corp.Client

func NewClient

func NewClient(srv corp.AccessTokenServer, clt *http.Client) *Client

func (*Client) DepartmentCreate

func (clt *Client) DepartmentCreate(para *DepartmentCreateParameters) (id int64, err error)

创建部门

func (*Client) DepartmentDelete

func (clt *Client) DepartmentDelete(id int64) (err error)

删除部门

func (*Client) DepartmentList

func (clt *Client) DepartmentList(rootId int64) (departments []Department, err error)

获取 rootId 部门的子部门

func (*Client) DepartmentUpdate

func (clt *Client) DepartmentUpdate(para *DepartmentUpdateParameters) (err error)

更新部门

func (*Client) InviteSend

func (clt *Client) InviteSend(UserId, InviteTips string) (Type int, err error)

邀请成员关注

UserId:     必须, 用户的userid
InviteTips: 可选, 推送到微信上的提示语(只有认证号可以使用).
            当使用微信推送时, 该字段默认为"请关注XXX企业号", 邮件邀请时, 该字段无效.
Type:       1:微信邀请 2.邮件邀请

func (*Client) TagAddUser

func (clt *Client) TagAddUser(id int64, userList []string,
	departmentList []int64) (invalidUserList []string, invalidDepartmentList []int64, err error)

增加标签成员

func (*Client) TagCreate

func (clt *Client) TagCreate(tagName string) (id int64, err error)

创建标签

func (*Client) TagDelete

func (clt *Client) TagDelete(id int64) (err error)

删除标签

func (*Client) TagDeleteUser

func (clt *Client) TagDeleteUser(id int64, userList []string,
	departmentList []int64) (invalidUserList []string, invalidDepartmentList []int64, err error)

删除标签成员

func (*Client) TagInfo

func (clt *Client) TagInfo(id int64) (userList []UserBaseInfo, departmentList []int64, err error)

获取标签成员

func (*Client) TagList

func (clt *Client) TagList() (list []Tag, err error)

获取标签列表

func (*Client) TagUpdate

func (clt *Client) TagUpdate(id int64, name string) (err error)

更新标签名字

func (*Client) UserAuthSuccess

func (clt *Client) UserAuthSuccess(userId string) (err error)

二次验证

企业在开启二次验证时, 必须填写企业二次验证页面的url, 此url的域名必须设置为企业小助手的可信域名.
当员工绑定通讯录中的帐号后, 会收到一条图文消息, 引导员工到企业的验证页面验证身份.
在跳转到企业的验证页面时, 会带上如下参数: code=CODE&state=STATE, 企业可以调用oauth2接口,
根据code和agentid获取员工的userid.

企业在员工验证成功后, 调用如下接口即可让员工关注成功.

func (*Client) UserBatchDelete

func (clt *Client) UserBatchDelete(UserIdList []string) (err error)

批量删除成员

func (*Client) UserCreate

func (clt *Client) UserCreate(para *UserCreateParameters) (err error)

创建成员

func (*Client) UserDelete

func (clt *Client) UserDelete(userId string) (err error)

删除成员

func (*Client) UserInfo

func (clt *Client) UserInfo(userId string) (info *UserInfo, err error)

func (*Client) UserList

func (clt *Client) UserList(departmentId int64,
	fetchChild bool, status int) (UserList []UserInfo, err error)

获取部门成员(详情)

departmentId: 获取的部门id
fetchChild:   是否递归获取子部门下面的成员
status:       0 获取全部员工, 1 获取已关注成员列表, 2 获取禁用成员列表, 4 获取未关注成员列表.
              status可叠加(可用逻辑运算符 | 来叠加, 一般都是后面 3 个叠加).

func (*Client) UserSimpleList

func (clt *Client) UserSimpleList(departmentId int64,
	fetchChild bool, status int) (UserList []UserBaseInfo, err error)

获取部门成员(基本)

departmentId: 获取的部门id
fetchChild:   是否递归获取子部门下面的成员
status:       0 获取全部员工, 1 获取已关注成员列表, 2 获取禁用成员列表, 4 获取未关注成员列表.
              status可叠加(可用逻辑运算符 | 来叠加, 一般都是后面 3 个叠加).

func (*Client) UserUpdate

func (clt *Client) UserUpdate(para *UserUpdateParameters) (err error)

更新成员

type Department

type Department struct {
	Id       int64  `json:"id"`
	Name     string `json:"name"`
	ParentId int64  `json:"parentid"`
}

type DepartmentCreateParameters

type DepartmentCreateParameters struct {
	DepartmentName string `json:"name,omitempty"`  // 必须, 部门名称. 长度限制为1~64个字符
	ParentId       int64  `json:"parentid"`        // 必须, 父亲部门id. 根部门id为1
	Order          *int   `json:"order,omitempty"` // 可选, 在父部门中的次序. 从1开始, 数字越大排序越靠后
	DepartmentId   *int64 `json:"id,omitempty"`    // 可选, 部门ID. 用指定部门ID新建部门, 不指定此参数时, 则自动生成
}

创建部门参数

type DepartmentUpdateParameters

type DepartmentUpdateParameters struct {
	DepartmentId   int64  `json:"id"`                 // 必须, 部门id
	DepartmentName string `json:"name,omitempty"`     // 可选, 更新的部门名称. 长度限制为1~64个字符. 修改部门名称时指定该参数
	ParentId       *int64 `json:"parentid,omitempty"` // 可选, 父亲部门id. 根部门id为1
	Order          *int   `json:"order,omitempty"`    // 可选, 在父部门中的次序. 从1开始, 数字越大排序越靠后, 当数字大于该层部门数时表示移动到最末尾.
}

更新部门参数

type Tag

type Tag struct {
	Id   int64  `json:"tagid"`
	Name string `json:"tagname"`
}

type UserBaseInfo

type UserBaseInfo struct {
	Id   string `json:"userid"` // 员工UserID
	Name string `json:"name"`   // 成员名称
}

type UserCreateParameters

type UserCreateParameters struct {
	UserId     string  `json:"userid,omitempty"`     // 必须;  员工UserID. 对应管理端的帐号, 企业内必须唯一. 长度为1~64个字符
	Name       string  `json:"name,omitempty"`       // 必须;  成员名称. 长度为1~64个字符
	Department []int64 `json:"department,omitempty"` // 非必须; 成员所属部门id列表. 注意, 每个部门的直属员工上限为1000个
	Position   string  `json:"position,omitempty"`   // 非必须; 职位信息. 长度为0~64个字符
	Mobile     string  `json:"mobile,omitempty"`     // 非必须; 手机号码. 企业内必须唯一, mobile/weixinid/email三者不能同时为空
	Email      string  `json:"email,omitempty"`      // 非必须; 邮箱. 长度为0~64个字符. 企业内必须唯一
	WeixinId   string  `json:"weixinid,omitempty"`   // 非必须; 微信号. 企业内必须唯一. (注意: 是微信号, 不是微信的名字)
	ExtAttr    struct {
		Attrs []Attribute `json:"attrs,omitempty"`
	} `json:"extattr"` // 非必须; 扩展属性. 扩展属性需要在WEB管理端创建后才生效, 否则忽略未知属性的赋值
}

创建成员的参数

type UserInfo

type UserInfo struct {
	Id         string  `json:"userid"`               // 员工UserID. 对应管理端的帐号
	Name       string  `json:"name"`                 // 成员名称
	Department []int64 `json:"department,omitempty"` // 成员所属部门id列表
	Position   string  `json:"position"`             // 职位信息
	Mobile     string  `json:"mobile"`               // 手机号码
	Email      string  `json:"email"`                // 邮箱
	WeixinId   string  `json:"weixinid"`             // 微信号
	Avatar     string  `json:"avatar"`               // 头像url. 注: 如果要获取小图将url最后的"/0"改成"/64"即可
	Status     int     `json:"status"`               // 关注状态: 1=已关注, 2=已冻结, 4=未关注
	ExtAttr    struct {
		Attrs []Attribute `json:"attrs,omitempty"`
	} `json:"extattr"` // 扩展属性
}

type UserUpdateParameters

type UserUpdateParameters struct {
	UserId     string  `json:"userid,omitempty"`     // 必须;  员工UserID. 对应管理端的帐号, 企业内必须唯一. 长度为1~64个字符
	Name       string  `json:"name,omitempty"`       // 非必须; 成员名称. 长度为0~64个字符
	Department []int64 `json:"department,omitempty"` // 非必须; 成员所属部门id列表. 注意, 每个部门的直属员工上限为1000个
	Position   string  `json:"position,omitempty"`   // 非必须; 职位信息. 长度为0~64个字符
	Mobile     string  `json:"mobile,omitempty"`     // 非必须; 手机号码. 企业内必须唯一, mobile/weixinid/email三者不能同时为空
	Email      string  `json:"email,omitempty"`      // 非必须; 邮箱. 长度为0~64个字符. 企业内必须唯一
	WeixinId   string  `json:"weixinid,omitempty"`   // 非必须; 微信号. 企业内必须唯一. (注意: 是微信号, 不是微信的名字)
	Enable     *int    `json:"enable,omitempty"`     // 非必须; 启用/禁用成员. 1表示启用成员, 0表示禁用成员
	ExtAttr    struct {
		Attrs []Attribute `json:"attrs,omitempty"`
	} `json:"extattr"` // 非必须; 扩展属性. 扩展属性需要在WEB管理端创建后才生效, 否则忽略未知属性的赋值
}

func (*UserUpdateParameters) SetEnable

func (para *UserUpdateParameters) SetEnable(b bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL