externalcontact

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

企业微信外部联系人相关API

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddMsgTemplate

func AddMsgTemplate(clt *core.Client, req *AddMsgTemplateRequest) (msgId string, failList []string, err error)

AddMsgTemplate 添加企业群发消息任务

func DelCorpTag

func DelCorpTag(clt *core.Client, tagIds []string, groupIds []string) (err error)

DelCorpTag 删除企业客户标签 tag_id: 标签的id列表 group_id: 标签组的id列表

func EditCorpTag

func EditCorpTag(clt *core.Client, id string, name string, order uint64) (err error)

EditCorpTag 编辑企业客户标签 id: 标签或标签组的id列表 name: 新的标签或标签组名称,最长为30个字符 order: 标签/标签组的次序值。order值大的排序靠前。有效的值范围是[0, 2^32)

func Get

func Get(clt *core.Client, externalUserId string) (contact *ExternalContact, followUsers []FollowUser, err error)

Get 获取客户详情. external_userid: 外部联系人的userid,注意不是企业成员的帐号

func GetFollowUserList

func GetFollowUserList(clt *core.Client) (users []string, err error)

GetFollowUserList 获取客户列表.

func List

func List(clt *core.Client, userId string) (list []string, err error)

List 获取客户列表. userid: 企业成员的userid

func MarkTag

func MarkTag(clt *core.Client, userId string, externalUserId string, addTags []string, removeTags []string) (err error)

MarkTag 编辑客户企业标签 userid: 添加外部联系人的userid external_userid: 外部联系人userid add_tag: 要标记的标签列表 remove_tag: 要移除的标签列表

func Remark

func Remark(clt *core.Client, req *RemarkRequest) (err error)

Remark 修改客户备注信息。 userid: 企业成员的userid external_userid: 群主过滤。如果不填,表示获取全部群主的数据 remark: 此用户对外部联系人的备注; description: 此用户对外部联系人的描述; remark_company: 此用户对外部联系人备注的所属公司名称; remark_mobiles: 此用户对外部联系人备注的手机号; remark_pic_mediaid: 备注图片的mediaid;

func SendWelcomeMsg

func SendWelcomeMsg(clt *core.Client, req *SendWelcomeMsgRequest) (err error)

SendWelcomeMsg 发送新客户欢迎语

Types

type AddMsgTemplateRequest

type AddMsgTemplateRequest struct {
	ChatType        string              `json:"chat_type,omitempty"`
	ExternalUserIds []string            `json:"external_userid,omitempty"`
	Sender          string              `json:"sender,omitempty"`
	Text            *TextMessage        `json:"text,omitempty"`
	Image           *ImageMessage       `json:"image,omitempty"`
	Link            *LinkMessage        `json:"link,omitempty"`
	MiniProgram     *MiniProgramMessage `json:"miniprogram,omitempty"`
}

type ExternalAttr

type ExternalAttr struct {
	Type        uint                     `json:"type,omitempty"`        // 属性类型: 0-文本 1-网页 2-小程序
	Name        string                   `json:"name,omitempty"`        // 属性名称: 需要先确保在管理端有创建该属性,否则会忽略
	Text        *ExternalAttrText        `json:"text,omitempty"`        // 文本类型的属性
	Web         *ExternalAttrWeb         `json:"web,omitempty"`         // 网页类型的属性,url和title字段要么同时为空表示清除该属性,要么同时不为空
	MiniProgram *ExternalAttrMiniProgram `json:"miniprogram,omitempty"` // 小程序类型的属性,appid和title字段要么同时为空表示清除改属性,要么同时不为空
}

type ExternalAttrMiniProgram

type ExternalAttrMiniProgram struct {
	AppId string `json:"appid,omitempty"`    // 小程序appid,必须是有在本企业安装授权的小程序,否则会被忽略
	Title string `json:"title,omitempty"`    // 小程序的展示标题,长度限制12个UTF8字符
	Path  string `json:"pagepath,omitempty"` // 小程序的页面路径
}

type ExternalAttrText

type ExternalAttrText struct {
	Value string `json:"value,omitempty"` // 文本属性内容,长度限制12个UTF8字符
}

type ExternalAttrWeb

type ExternalAttrWeb struct {
	Url   string `json:"url,omitempty"`   // 网页的url,必须包含http或者https头
	Title string `json:"title,omitempty"` // 网页的展示标题,长度限制12个UTF8字符
}

type ExternalContact

type ExternalContact struct {
	ExternalUserId  string           `json:"external_userid,omitempty"`  // 外部联系人的userid
	Name            string           `json:"name,omitempty"`             // 外部联系人的名称*
	Avatar          string           `json:"avatar,omitempty"`           // 外部联系人头像,第三方不可获取
	Type            uint             `json:"type,omitempty"`             // 外部联系人的类型,1表示该外部联系人是微信用户,2表示该外部联系人是企业微信用户
	Gender          uint             `json:"gender,omitempty"`           // 外部联系人性别 0-未知 1-男性 2-女性
	UnionId         string           `json:"unionid,omitempty"`          // 外部联系人在微信开放平台的唯一身份标识(微信unionid),通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当联系人类型是微信用户,且企业或第三方服务商绑定了微信开发者ID有此字段。
	Position        string           `json:"position,omitempty"`         // 外部联系人的职位,如果外部企业或用户选择隐藏职位,则不返回,仅当联系人类型是企业微信用户时有此字段
	CorpName        string           `json:"corp_name,omitempty"`        // 外部联系人所在企业的简称,仅当联系人类型是企业微信用户时有此字段
	CorpFullName    string           `json:"corp_full_name,omitempty"`   // 外部联系人所在企业的主体名称,仅当联系人类型是企业微信用户时有此字段
	ExternalProfile *ExternalProfile `json:"external_profile,omitempty"` // 外部联系人的自定义展示信息,可以有多个字段和多种类型,包括文本,网页和小程序,仅当联系人类型是企业微信用户时有此字段,字段详情见对外属性;
}

type ExternalProfile

type ExternalProfile struct {
	CorpName string         `json:"external_corp_name,omitempty"` // 企业对外简称,需从已认证的企业简称中选填。可在“我的企业”页中查看企业简称认证状态。
	Attrs    []ExternalAttr `json:"external_attr,omitempty"`      // 属性列表,目前支持文本、网页、小程序三种类型
}

type FollowUser

type FollowUser struct {
	UserId         string          `json:"userid,omitempty"`           // 添加了此外部联系人的企业成员userid
	Remark         string          `json:"remark,omitempty"`           // 该成员对此外部联系人的备注
	Description    string          `json:"description,omitempty"`      // 该成员对此外部联系人的描述
	CreateTime     int64           `json:"createtime,omitempty"`       // 该成员添加此外部联系人的时间
	Tags           []FollowUserTag `json:"tags,omitempty"`             // 该成员添加此外部联系人所打标签
	RemarkCorpName string          `json:"remark_corp_name,omitempty"` // 该成员对此客户备注的企业名称
	RemarkMobiles  []string        `json:"remark_mobiles,omitempty"`   // 该成员对此客户备注的手机号码,第三方不可获取
	State          string          `json:"state,omitempty"`            // 该成员添加此客户的渠道,由用户通过创建「联系我」方式指定
}

type FollowUserTag

type FollowUserTag struct {
	GroupName string `json:"group_name,omitepmty"` // 该成员添加此外部联系人所打标签的分组名称(标签功能需要企业微信升级到2.7.5及以上版本)
	Name      string `json:"tag_name,omitempty"`   // 该成员添加此外部联系人所打标签名称
	Type      uint   `json:"type,omitempty"`       // 该成员添加此外部联系人所打标签类型, 1-企业设置, 2-用户自定义
}

type GroupMsgResult

type GroupMsgResult struct {
	ChatId         string `json:"chat_id,omitempty"`
	ExternalUserId string `json:"external_userid,omitempty"`
	UserId         string `json:"userid,omitempty"`
	Status         int    `json:"status,omitempty"`
	SendTime       int64  `json:"send_time,omitempty"`
}

func GetGroupMsgResult

func GetGroupMsgResult(clt *core.Client, msgId string) (ret []GroupMsgResult, err error)

GetGroupMsgResult 获取企业群发消息发送结果

type ImageMessage

type ImageMessage struct {
	MediaId string `json:"media_id,omitempty"`
	PicUrl  string `json:"pic_url,omitempty"`
}

type LinkMessage

type LinkMessage struct {
	Title  string `json:"title"`
	PicUrl string `json:"picurl,omitempty"`
	Desc   string `json:"desc,omitempty"`
	Url    string `json:"url"`
}

type MiniProgramMessage

type MiniProgramMessage struct {
	Title      string `json:"title"`
	PicMediaId string `json:"pic_media_id"`
	AppId      string `json:"appid"`
	Page       string `json:"page"`
}

type RemarkRequest

type RemarkRequest struct {
	UserId           string   `json:"userid"`
	ExternalUserId   string   `json:"external_userid"`
	Remark           string   `json:"remark,omitempty"`
	Description      string   `json:"description,omitempty"`
	RemarkCompany    string   `json:"remark_company,omitempty"`
	RemarkMobiles    []string `json:"remark_mobiles,omitempty"`
	RemarkPicMediaId string   `json:"remark_pic_mediaid,omitempty"`
}

type SendWelcomeMsgRequest

type SendWelcomeMsgRequest struct {
	WelcomeCode string              `json:"welcome_code,omitempty"`
	Text        *TextMessage        `json:"text,omitempty"`
	Image       *ImageMessage       `json:"image,omitempty"`
	Link        *LinkMessage        `json:"link,omitempty"`
	MiniProgram *MiniProgramMessage `json:"miniprogram,omitempty"`
}

type Tag

type Tag struct {
	Id         string `json:"id,omitempty"`          // 标签id
	Name       string `json:"name,omitempty"`        // 标签名称
	CreateTime int64  `json:"create_time,omitempty"` // 标签创建时间
	Order      uint64 `json:"order,omitempty"`       // 标签排序的次序值,order值大的排序靠前。有效的值范围是[0, 2^32)
	Deleted    bool   `json:"deleted,omitempty"`     // 标签是否已经被删除,只在指定tag_id进行查询时返回
}

type TagGroup

type TagGroup struct {
	GroupId    string `json:"group_id,omitempty"`    // 标签组id
	GroupName  string `json:"group_name,omitempty"`  // 标签组名称
	CreateTime int64  `json:"create_time,omitempty"` // 标签组创建时间
	Order      uint64 `json:"order,omitempty"`       // 标签组排序的次序值,order值大的排序靠前。有效的值范围是[0, 2^32)
	Deleted    bool   `json:"deleted,omitempty"`     // 标签组是否已经被删除,只在指定tag_id进行查询时返回
	Tags       []Tag  `json:"tag,omitempty"`         // 标签组内的标签列表
}

func AddCorpTag

func AddCorpTag(clt *core.Client, tagGroup *TagGroup) (rslt *TagGroup, err error)

AddCorpTag 添加企业客户标签

func GetCorpTagList

func GetCorpTagList(clt *core.Client, tagIds []string) (rslt []TagGroup, err error)

GetCorpTagList 获取企业标签库 tag_id: 要查询的标签id,如果不填则获取该企业的所有客户标签,目前暂不支持标签组id

type TextMessage

type TextMessage struct {
	Content string `json:"content"`
}

Directories

Path Synopsis
企业微信外部联系人客户群相关API
企业微信外部联系人客户群相关API
企业微信客户群群欢迎语素材管理相关API
企业微信客户群群欢迎语素材管理相关API

Jump to

Keyboard shortcuts

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