addresslist

package
v0.0.0-...-7011273 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 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 struct {
	*corp.CorpClient
}

func NewClient

func NewClient(AccessTokenServer corp.AccessTokenServer, httpClient *http.Client) Client

兼容保留, 建議實際項目全局維護一個 *corp.CorpClient

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