Documentation
¶
Index ¶
- type AddExternalContactCallbackMessage
- type AddHalfExternalContactCallbackMessage
- type Agentlist
- type AllowPartys
- type AllowTags
- type AllowUserinfos
- type AuditApprovedCallbackMessage
- type Button
- type CallbackMessage
- type Client
- func (r *Client) CreateMenu(options CreateMenuOptions) (info CreateMenuSchema, err error)
- func (r *Client) DeleteMenu() (info DeleteMenuSchema, err error)
- func (r *Client) GetApplicationInfo() (info GetApplicationInfoSchema, err error)
- func (r *Client) GetApplicationList() (info GetApplicationListSchema, err error)
- func (r *Client) GetCallbackMessage(signatureOptions SignatureOptions, encryptedMsg []byte) (rawData []byte, msg CallbackMessage, err error)
- func (r *Client) GetMenu() (info GetMenuSchema, err error)
- func (r *Client) SetApplicationInfo(options SetApplicationInfoOptions) (info SetApplicationInfoSchema, err error)
- func (r *Client) VerifyURL(options SignatureOptions) (string, error)
- type CreateCallbackMessage
- type CreateMenuOptions
- type CreateMenuSchema
- type DelExternalContactCallbackMessage
- type DelFollowUserCallbackMessage
- type DeleteMenuOptions
- type DeleteMenuSchema
- type DismissCallbackMessage
- type EditExternalContactCallbackMessage
- type Error
- type GetApplicationInfoOptions
- type GetApplicationInfoSchema
- type GetApplicationListOptions
- type GetApplicationListSchema
- type GetMenuOptions
- type GetMenuSchema
- type SetApplicationInfoOptions
- type SetApplicationInfoSchema
- type SignatureOptions
- type SubButton
- type TagCreateCallbackMessage
- type TagDeleteCallbackMessage
- type TagShuffleCallbackMessage
- type TagUpdateCallbackMessage
- type TransferFailCallbackMessage
- type UpdateCallbackMessage
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddExternalContactCallbackMessage ¶
type AddExternalContactCallbackMessage struct {
CallbackMessage
UserID string `json:"user_id"`
ExternalUserID string `json:"external_user_id"`
State string `json:"state"`
WelcomeCode string `json:"welcome_code"`
}
AddExternalContactCallbackMessage 添加企业客户事件
type AddHalfExternalContactCallbackMessage ¶
type AddHalfExternalContactCallbackMessage struct {
CallbackMessage
UserID string `json:"user_id"`
ExternalUserID string `json:"external_user_id"`
State string `json:"state"`
WelcomeCode string `json:"welcome_code"`
}
AddHalfExternalContactCallbackMessage 外部联系人免验证添加成员事件
type AllowPartys ¶
type AllowPartys struct {
Partyid []int `json:"partyid"`
}
type AllowUserinfos ¶
type AllowUserinfos struct {
User []User `json:"user"`
}
type AuditApprovedCallbackMessage ¶
type AuditApprovedCallbackMessage struct {
CallbackMessage
UserID string `json:"user_id"`
ExternalUserID string `json:"external_user_id"`
WelcomeCode string `json:"welcome_code"`
}
客户同意进行聊天内容存档事件回调
type CallbackMessage ¶
type CallbackMessage struct {
ToUserName string `json:"to_user_name"` // 企业微信CorpID
FromUserName string `json:"from_user_name"` // 此事件该值固定为sys,表示该消息由系统生成
CreateTime int `json:"create_time"` // 消息创建时间 (整型)
MsgType string `json:"msgtype"` // 消息的类型,此时固定为event
Event string `json:"event"` // 事件的类型,此时固定为change_contact
ChangeType string `json:"change_type"` // 此时固定为delete_user
}
CallbackMessage 基础回调消息
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client application实例
func (*Client) CreateMenu ¶
func (r *Client) CreateMenu(options CreateMenuOptions) (info CreateMenuSchema, err error)
CreateMenu 创建菜单
func (*Client) DeleteMenu ¶
func (r *Client) DeleteMenu() (info DeleteMenuSchema, err error)
DeleteMenu 删除菜单
func (*Client) GetApplicationInfo ¶
func (r *Client) GetApplicationInfo() (info GetApplicationInfoSchema, err error)
GetApplicationInfo 获取指定的应用详情
func (*Client) GetApplicationList ¶
func (r *Client) GetApplicationList() (info GetApplicationListSchema, err error)
GetApplicationList 获取access_token对应的应用列表
func (*Client) GetCallbackMessage ¶
func (r *Client) GetCallbackMessage(signatureOptions SignatureOptions, encryptedMsg []byte) (rawData []byte, msg CallbackMessage, err error)
GetCallbackMessage 获取回调事件中的消息内容
//Gin框架的使用示例
r.POST("/v1/event/callback", func(c *gin.Context) {
var (
message kf.CallbackMessage
body []byte
)
// 读取原始消息内容
body, err = c.GetRawData()
if err != nil {
c.String(http.StatusInternalServerError, err.Error())
return
}
// 解析原始数据
message, err = kfClient.GetCallbackMessage(body)
if err != nil {
c.String(http.StatusInternalServerError, "消息获取失败")
return
}
fmt.Println(message)
c.String(200, "ok")
})
func (*Client) SetApplicationInfo ¶
func (r *Client) SetApplicationInfo(options SetApplicationInfoOptions) (info SetApplicationInfoSchema, err error)
SetApplicationInfo 设置应用详情
func (*Client) VerifyURL ¶
func (r *Client) VerifyURL(options SignatureOptions) (string, error)
VerifyURL 验证请求参数是否合法并返回解密后的消息内容
//Gin框架的使用示例
r.GET("/v1/event/callback", func(c *gin.Context) {
options := kf.SignatureOptions{}
//获取回调的的校验参数
if = c.ShouldBindQuery(&options); err != nil {
c.String(http.StatusUnauthorized, "参数解析失败")
}
// 调用VerifyURL方法校验当前请求,如果合法则把解密后的内容作为响应返回给微信服务器
echo, err := kfClient.VerifyURL(options)
if err == nil {
c.String(http.StatusOK, echo)
} else {
c.String(http.StatusUnauthorized, "非法请求来源")
}
})
type CreateCallbackMessage ¶
type CreateCallbackMessage struct {
CallbackMessage
ChatId string `json:"ChatId"`
}
CreateCallbackMessage 客户群创建事件
type CreateMenuOptions ¶
type CreateMenuOptions struct {
Button []Button `json:"button"`
}
CreateMenuOptions 创建菜单请求参数
type DelExternalContactCallbackMessage ¶
type DelExternalContactCallbackMessage struct {
CallbackMessage
UserID string `json:"user_id"`
ExternalUserID string `json:"external_user_id"`
Source string `json:"source"`
}
DelExternalContactCallbackMessage 删除企业客户事件
type DelFollowUserCallbackMessage ¶
type DelFollowUserCallbackMessage struct {
CallbackMessage
UserID string `json:"user_id"`
ExternalUserID string `json:"external_user_id"`
}
DelFollowUserCallbackMessage 删除跟进成员事件
type DismissCallbackMessage ¶
type DismissCallbackMessage struct {
CallbackMessage
ChatId string `json:"chat_id"`
}
DismissCallbackMessage 客户群解散事件
type EditExternalContactCallbackMessage ¶
type EditExternalContactCallbackMessage struct {
CallbackMessage
UserID string `json:"user_id"`
ExternalUserID string `json:"external_user_id"`
}
EditExternalContactCallbackMessage 编辑企业客户事件
type Error ¶
type Error string
Error 错误
const ( // SDKInitFailed 错误码:50001 SDKInitFailed Error = "SDK初始化失败" SDKCacheUnavailable Error = "缓存无效" // SDKUnknownError 错误码:50003 SDKUnknownError Error = "未知错误" // SDKInvalidCredential 错误码:40001 SDKInvalidCredential Error = "不合法的secret参数" // SDKInvalidCorpID 错误码:40013 SDKInvalidCorpID Error = "无效的 CorpID" // SDKAccessTokenInvalid 错误码:40014 SDKAccessTokenInvalid Error = "AccessToken 无效" // SDKValidateSignatureFailed 错误码:40015 SDKValidateSignatureFailed Error = "校验签名错误" // SDKDecryptMSGFailed 错误码:40016 SDKDecryptMSGFailed Error = "消息解密失败" // SDKAccessTokenMissing 错误码:41001 SDKAccessTokenMissing Error = "缺少AccessToken参数" // SDKAccessTokenExpired 错误码:42001 SDKAccessTokenExpired Error = "AccessToken 已过期" // SDKApiFreqOutOfLimit 错误码:45009 SDKApiFreqOutOfLimit Error = "接口请求次数超频" // SDKApiForbidden 错误码:48002 SDKApiForbidden Error = "API 禁止调用" // SDKInvalidOpenKFID 错误码:95000 SDKInvalidOpenKFID Error = "无效的 open_kfid" // SDKOpenKFIDNotExist 错误码:95004 SDKOpenKFIDNotExist Error = "open_kfid 不存在" // SDKWeWorkAlready 错误码:95011 SDKWeWorkAlready Error = "已在企业微信使用微信客服" // SDKNotUseInWeCom 错误码:95012 SDKNotUseInWeCom Error = "未在企业微信使用微信客服" // SDKApiNotOpen 错误码:95017 SDKApiNotOpen Error = "API 功能没有被开启" )
type GetApplicationInfoOptions ¶
type GetApplicationInfoOptions struct {
}
GetApplicationInfoOptions 获取指定的应用详情请求参数
type GetApplicationInfoSchema ¶
type GetApplicationInfoSchema struct {
util.CommonError
Agentid int `json:"agentid"`
Name string `json:"name"`
SquareLogoURL string `json:"square_logo_url"`
Description string `json:"description"`
AllowUserinfos AllowUserinfos `json:"allow_userinfos"`
AllowPartys AllowPartys `json:"allow_partys"`
AllowTags AllowTags `json:"allow_tags"`
Close int `json:"close"`
RedirectDomain string `json:"redirect_domain"`
ReportLocationFlag int `json:"report_location_flag"`
Isreportenter int `json:"isreportenter"`
HomeURL string `json:"home_url"`
}
GetApplicationInfoSchema 获取指定的应用详情响应内容
type GetApplicationListOptions ¶
type GetApplicationListOptions struct {
}
GetApplicationListOptions 获取access_token对应的应用列表请求参数
type GetApplicationListSchema ¶
type GetApplicationListSchema struct {
util.CommonError
Agentlist []Agentlist `json:"agentlist"`
}
GetApplicationListSchema 获取access_token对应的应用列表响应内容
type GetMenuSchema ¶
type GetMenuSchema struct {
util.CommonError
Button []Button `json:"button"`
}
GetMenuSchema 获取菜单响应内容
type SetApplicationInfoOptions ¶
type SetApplicationInfoOptions struct {
Agentid int `json:"agentid"`
ReportLocationFlag int `json:"report_location_flag"`
LogoMediaid string `json:"logo_mediaid"`
Name string `json:"name"`
Description string `json:"description"`
RedirectDomain string `json:"redirect_domain"`
Isreportenter int `json:"isreportenter"`
HomeURL string `json:"home_url"`
}
SetApplicationInfoOptions 设置应用详情请求参数
type SetApplicationInfoSchema ¶
type SetApplicationInfoSchema struct {
util.CommonError
}
SetApplicationInfoSchema 设置应用详情响应内容
type SignatureOptions ¶
type SignatureOptions struct {
Signature string `form:"msg_signature"`
TimeStamp string `form:"timestamp"`
Nonce string `form:"nonce"`
EchoStr string `form:"echostr"`
Encrypt string `form:"encrypt"`
}
SignatureOptions 微信服务器验证参数
type TagCreateCallbackMessage ¶
type TagCreateCallbackMessage struct {
CallbackMessage
Id string `json:"id"`
TagType string `json:"tag_type"`
}
TagCreateCallbackMessage 企业客户标签创建事件
type TagDeleteCallbackMessage ¶
type TagDeleteCallbackMessage struct {
CallbackMessage
Id string `json:"id"`
TagType string `json:"tag_type"`
}
TagDeleteCallbackMessage 企业客户标签删除事件
type TagShuffleCallbackMessage ¶
type TagShuffleCallbackMessage struct {
CallbackMessage
Id string `json:"id"`
StrategyID string `json:"strategy_id"`
}
TagShuffleCallbackMessage 企业客户标签重排事件
type TagUpdateCallbackMessage ¶
type TagUpdateCallbackMessage struct {
CallbackMessage
Id string `json:"id"`
TagType string `json:"tag_type"`
}
TagUpdateCallbackMessage 企业客户标签变更事件
type TransferFailCallbackMessage ¶
type TransferFailCallbackMessage struct {
CallbackMessage
FailReason string `json:"fail_reason"`
UserID string `json:"user_id"`
ExternalUserID string `json:"external_user_id"`
}
TransferFailCallbackMessage 客户接替失败事件
type UpdateCallbackMessage ¶
type UpdateCallbackMessage struct {
CallbackMessage
ChatId string `json:"chat_id"`
UpdateDetail string `json:"update_detail"`
JoinScene int `json:"join_scene"`
QuitScene int `json:"quit_scene"`
MemChangeCnt int `json:"mem_change_cnt"`
}
UpdateCallbackMessage 客户群变更事件