request

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: 1 Imported by: 0

Documentation

Overview

被动接收的基本消息(事件)的数据结构定义, 更多的消息(事件)定义在对应的业务模块内.

Index

Constants

View Source
const (
	// 普通事件类型
	EventTypeSubscribe             message.EventType = "subscribe"               // 关注事件, 包括点击关注和扫描二维码(公众号二维码和公众号带参数二维码)关注
	EventTypeUnsubscribe           message.EventType = "unsubscribe"             // 取消关注事件
	EventTypeEnterAgent            message.EventType = "enter_agent"             // 本事件在成员进入企业微信的应用时触发
	EventTypeLocation              message.EventType = "LOCATION"                // 上报地理位置事件
	EventTypeBatchJobResult        message.EventType = "batch_job_result"        // 本事件是成员在使用异步任务接口时,用于接收任务执行完毕的结果通知。
	EventTypeChangeContact         message.EventType = "change_contact"          // 新增/更新/删除/部门事件;标签成员变更事件
	EventTypeClick                 message.EventType = "click"                   // 点击菜单拉取消息的事件推送
	EventTypeView                  message.EventType = "view"                    // 点击菜单跳转链接的事件推送
	EventTypeScanCodePush          message.EventType = "scancode_push"           // 扫码推事件的事件推送
	EventTypeScanCodeWaitMsg       message.EventType = "scancode_waitmsg"        // 扫码推事件且弹出“消息接收中”提示框的事件推送
	EventTypePicSysPhoto           message.EventType = "pic_sysphoto"            // 弹出系统拍照发图的事件推送
	EventTypePicPhotoOrAlbum       message.EventType = "pic_photo_or_album"      // 弹出拍照或者相册发图的事件推送
	EventTypePicWeixin             message.EventType = "pic_weixin"              // 弹出微信相册发图器的事件推送
	EventTypeLocationSelect        message.EventType = "location_select"         // 弹出地理位置选择器的事件推送
	EventTypeOpenApprovalChange    message.EventType = "open_approval_change"    // 审批状态通知事件
	EventTypeTaskCardClick         message.EventType = "taskcard_click"          // 任务卡片事件推送
	EventTypeChangeExternalContact message.EventType = "change_external_contact" // 企业客户事件
	EventTypeChangeExternalChat    message.EventType = "change_external_chat"    // 客户群变更事件
)
View Source
const (
	MsgTypeEvent message.MsgType = "event" // 事件消息
	// 普通消息类型
	MsgTypeText     message.MsgType = "text"     // 文本消息
	MsgTypeImage    message.MsgType = "image"    // 图片消息
	MsgTypeVoice    message.MsgType = "voice"    // 语音消息
	MsgTypeVideo    message.MsgType = "video"    // 视频消息
	MsgTypeLocation message.MsgType = "location" // 地理位置消息
	MsgTypeLink     message.MsgType = "link"     // 链接消息
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AddExternalContactEvent

type AddExternalContactEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType      message.EventType `xml:"Event"     json:"Event"`               // change_external_contact
	ChangeType     message.CDATA     `xml:"ChangeType"  json:"ChangeType"`        // add_external_contact
	UserID         message.CDATA     `xml:"UserID" json:"UserID"`                 // 企业服务人员的UserID
	ExternalUserID message.CDATA     `xml:"ExternalUserID" json:"ExternalUserID"` // 外部联系人的userid,注意不是企业成员的帐号
	State          message.CDATA     `xml:"State" json:"State"`                   // 添加此用户的「联系我」方式配置的state参数,可用于识别添加此用户的渠道
	WelcomeCode    message.CDATA     `xml:"WelcomeCode" json:"WelcomeCode"`       // 欢迎语code
}

func GetAddExternalContactEvent

func GetAddExternalContactEvent(msg *message.MixedMsg) *AddExternalContactEvent

type AddHalfExternalContactEvent

type AddHalfExternalContactEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType      message.EventType `xml:"Event"     json:"Event"`               // change_external_contact
	ChangeType     message.CDATA     `xml:"ChangeType"  json:"ChangeType"`        // add_half_external_contact
	UserID         message.CDATA     `xml:"UserID" json:"UserID"`                 // 企业服务人员的UserID
	ExternalUserID message.CDATA     `xml:"ExternalUserID" json:"ExternalUserID"` // 外部联系人的userid,注意不是企业成员的帐号
	State          message.CDATA     `xml:"State" json:"State"`                   // 添加此用户的「联系我」方式配置的state参数,可用于识别添加此用户的渠道
	WelcomeCode    message.CDATA     `xml:"WelcomeCode" json:"WelcomeCode"`       // 欢迎语code
}

func GetAddHalfExternalContactEvent

func GetAddHalfExternalContactEvent(msg *message.MixedMsg) *AddHalfExternalContactEvent

type BatchJobResultEvent

type BatchJobResultEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event"     json:"Event"`                     // batch_job_result
	JobId     message.CDATA     `xml:"JobId"  json:"JobId"`                        // 异步任务id,最大长度为64字符
	JobType   message.CDATA     `xml:"JobType" json:"JobType"`                     // 操作类型,字符串,目前分别有:sync_user(增量更新成员)、 replace_user(全量覆盖成员)、invite_user(邀请成员关注)、replace_party(全量覆盖部门)
	ErrCode   int               `xml:"ErrCode,omitempty" json:"ErrCode,omitempty"` // 返回码
	ErrMsg    message.CDATA     `xml:"ErrMsg,omitempty" json:"ErrMsg,omitempty"`   // 对返回码的文本描述内容
}

异步任务完成事件推送

func GetBatchJobResultEvent

func GetBatchJobResultEvent(msg *message.MixedMsg) *BatchJobResultEvent

type ClickEvent

type ClickEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event"     json:"Event"`    // click
	EventKey  message.CDATA     `xml:"EventKey"  json:"EventKey"` // 事件KEY值,与自定义菜单接口中KEY值对应
}

点击菜单拉取消息的事件推送

func GetClickEvent

func GetClickEvent(msg *message.MixedMsg) *ClickEvent

type CreatePartyEvent

type CreatePartyEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType  message.EventType `xml:"Event"     json:"Event"`        // change_contact
	ChangeType message.CDATA     `xml:"ChangeType"  json:"ChangeType"` // create_party
	Id         uint64            `xml:"Id" json:"Id"`                  // 部门Id
	Name       message.CDATA     `xml:"Name" json:"Name"`              // 部门名称
	ParentId   message.CDATA     `xml:"ParentId" json:"ParentId"`      // 父部门id
	Order      int               `xml:"Order" json:"Order"`            // 部门排序

}

新增部门事件

func GetCreatePartyEvent

func GetCreatePartyEvent(msg *message.MixedMsg) *CreatePartyEvent

type DelExternalContactEvent

type DelExternalContactEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType      message.EventType `xml:"Event"     json:"Event"`               // change_external_contact
	ChangeType     message.CDATA     `xml:"ChangeType"  json:"ChangeType"`        // del_external_contact
	UserID         message.CDATA     `xml:"UserID" json:"UserID"`                 // 企业服务人员的UserID
	ExternalUserID message.CDATA     `xml:"ExternalUserID" json:"ExternalUserID"` // 外部联系人的userid,注意不是企业成员的帐号
}

func GetDelExternalContactEvent

func GetDelExternalContactEvent(msg *message.MixedMsg) *DelExternalContactEvent

type DelExternalContactFollowUserEvent

type DelExternalContactFollowUserEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType      message.EventType `xml:"Event"     json:"Event"`               // change_external_contact
	ChangeType     message.CDATA     `xml:"ChangeType"  json:"ChangeType"`        // del_follow_user
	UserID         message.CDATA     `xml:"UserID" json:"UserID"`                 // 企业服务人员的UserID
	ExternalUserID message.CDATA     `xml:"ExternalUserID" json:"ExternalUserID"` // 外部联系人的userid,注意不是企业成员的帐号
}

func GetDelExternalContactFollowUserEvent

func GetDelExternalContactFollowUserEvent(msg *message.MixedMsg) *DelExternalContactFollowUserEvent

type DeletePartyEvent

type DeletePartyEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType  message.EventType `xml:"Event"     json:"Event"`        // change_contact
	ChangeType message.CDATA     `xml:"ChangeType"  json:"ChangeType"` // update_party
	Id         uint64            `xml:"Id" json:"Id"`                  // 部门Id

}

删除部门事件

func GetDeletePartyEvent

func GetDeletePartyEvent(msg *message.MixedMsg) *DeletePartyEvent

type EditExternalContactEvent

type EditExternalContactEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType      message.EventType `xml:"Event"     json:"Event"`               // change_external_contact
	ChangeType     message.CDATA     `xml:"ChangeType"  json:"ChangeType"`        // edit_external_contact
	UserID         message.CDATA     `xml:"UserID" json:"UserID"`                 // 企业服务人员的UserID
	ExternalUserID message.CDATA     `xml:"ExternalUserID" json:"ExternalUserID"` // 外部联系人的userid,注意不是企业成员的帐号
	State          message.CDATA     `xml:"State" json:"State"`                   // 添加此用户的「联系我」方式配置的state参数,可用于识别添加此用户的渠道
}

func GetEditExternalContactEvent

func GetEditExternalContactEvent(msg *message.MixedMsg) *EditExternalContactEvent

type EnterAgentEvent

type EnterAgentEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event"    json:"Event"`    // enter_agent
	EventKey  message.CDATA     `xml:"EventKey" json:"EventKey"` // 事件KEY值, 空值
}

进入应用

func GetEnterAgentEvent

func GetEnterAgentEvent(msg *message.MixedMsg) *EnterAgentEvent

type GetChangeExternalChatEvent

type GetChangeExternalChatEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event"     json:"Event"` // change_external_chat
	ChatId    message.CDATA     `xml:"ChatId" json:"ChatId"`   // 群ID
}

func GetGetChangeExternalChatEvent

func GetGetChangeExternalChatEvent(msg *message.MixedMsg) *GetChangeExternalChatEvent

type Image

type Image struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	MsgId   int64         `xml:"MsgId"   json:"MsgId"`   // 消息id, 64位整型
	MediaId message.CDATA `xml:"MediaId" json:"MediaId"` // 图片消息媒体id, 可以调用多媒体文件下载接口拉取数据.
	PicURL  message.CDATA `xml:"PicUrl"  json:"PicUrl"`  // 图片链接
}

图片消息

func GetImage

func GetImage(msg *message.MixedMsg) *Image
type Link struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	MsgId       int64         `xml:"MsgId"       json:"MsgId"`       // 消息id, 64位整型
	Title       message.CDATA `xml:"Title"       json:"Title"`       // 消息标题
	Description message.CDATA `xml:"Description" json:"Description"` // 消息描述
	URL         message.CDATA `xml:"Url"         json:"Url"`         // 消息链接
	PicURL      message.CDATA `xml:"PicUrl"  json:"PicUrl"`          // 图片链接
}

链接消息

func GetLink(msg *message.MixedMsg) *Link

type Location

type Location struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	MsgId     int64         `xml:"MsgId"      json:"MsgId"`      // 消息id, 64位整型
	LocationX float64       `xml:"Location_X" json:"Location_X"` // 地理位置纬度
	LocationY float64       `xml:"Location_Y" json:"Location_Y"` // 地理位置经度
	Scale     int           `xml:"Scale"      json:"Scale"`      // 地图缩放大小
	Label     message.CDATA `xml:"Label"      json:"Label"`      // 地理位置信息
}

地理位置消息

func GetLocation

func GetLocation(msg *message.MixedMsg) *Location

type LocationEvent

type LocationEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event"     json:"Event"`                     // LOCATION
	Latitude  float64           `xml:"Latitude"  json:"Latitude"`                  // 地理位置纬度
	Longitude float64           `xml:"Longitude" json:"Longitude"`                 // 地理位置经度
	Precision float64           `xml:"Precision" json:"Precision"`                 // 地理位置精度(整数? 但是微信推送过来是浮点数形式)
	AppType   message.CDATA     `xml:"AppType,omitempty" json:"AppType,omitempty"` //app类型,在企业微信固定返回wxwork,在微信不返回该字段
}

上报地理位置事件

func GetLocationEvent

func GetLocationEvent(msg *message.MixedMsg) *LocationEvent

type LocationSelectEvent

type LocationSelectEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType        message.EventType        `xml:"Event"     json:"Event"`                     // location_select
	EventKey         message.CDATA            `xml:"EventKey"  json:"EventKey"`                  // 事件KEY值,与自定义菜单接口中KEY值对应
	SendLocationInfo message.SendLocationInfo `xml:"SendLocationInfo" json:"SendLocationInfo"`   // 发送的位置信息
	Latitude         float64                  `xml:"Latitude"  json:"Latitude"`                  // 地理位置纬度
	Longitude        float64                  `xml:"Longitude" json:"Longitude"`                 // 地理位置经度
	Precision        float64                  `xml:"Precision" json:"Precision"`                 // 地理位置精度(整数? 但是微信推送过来是浮点数形式)
	AppType          message.CDATA            `xml:"AppType,omitempty" json:"AppType,omitempty"` //app类型,在企业微信固定返回wxwork,在微信不返回该字段
}

弹出地理位置选择器的事件推送

func GetLocationSelectEvent

func GetLocationSelectEvent(msg *message.MixedMsg) *LocationSelectEvent

type OpenApprovalChangeEvent

type OpenApprovalChangeEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType    message.EventType    `xml:"Event"     json:"Event"`           // open_approval_change
	ApprovalInfo message.ApprovalInfo `xml:"ApprovalInfo" json:"ApprovalInfo"` // 审批信息
}

审批状态通知事件

func GetOpenApprovalChangeEvent

func GetOpenApprovalChangeEvent(msg *message.MixedMsg) *OpenApprovalChangeEvent

type PicPhotoOrAlbumEvent

type PicPhotoOrAlbumEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType    message.EventType    `xml:"Event"     json:"Event"`           // pic_photo_or_album
	EventKey     message.CDATA        `xml:"EventKey"  json:"EventKey"`        // 事件KEY值,与自定义菜单接口中KEY值对应
	SendPicsInfo message.SendPicsInfo `xml:"SendPicsInfo" json:"SendPicsInfo"` // 扫描信息
}

弹出拍照或者相册发图的事件推送

func GetPicPhotoOrAlbumEvent

func GetPicPhotoOrAlbumEvent(msg *message.MixedMsg) *PicPhotoOrAlbumEvent

type PicSysPhotoEvent

type PicSysPhotoEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType    message.EventType    `xml:"Event"     json:"Event"`           // pic_sysphoto
	EventKey     message.CDATA        `xml:"EventKey"  json:"EventKey"`        // 事件KEY值,与自定义菜单接口中KEY值对应
	SendPicsInfo message.SendPicsInfo `xml:"SendPicsInfo" json:"SendPicsInfo"` // 扫描信息
}

弹出系统拍照发图的事件推送

func GetPicSysPhotoEvent

func GetPicSysPhotoEvent(msg *message.MixedMsg) *PicSysPhotoEvent

type PicWeixinEvent

type PicWeixinEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType    message.EventType    `xml:"Event"     json:"Event"`           // pic_weixin
	EventKey     message.CDATA        `xml:"EventKey"  json:"EventKey"`        // 事件KEY值,与自定义菜单接口中KEY值对应
	SendPicsInfo message.SendPicsInfo `xml:"SendPicsInfo" json:"SendPicsInfo"` // 扫描信息
}

弹出微信相册发图器的事件推送

func GetPicWeixinEvent

func GetPicWeixinEvent(msg *message.MixedMsg) *PicWeixinEvent

type ScanCodePushEvent

type ScanCodePushEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType    message.EventType    `xml:"Event"     json:"Event"`           // scancode_push
	EventKey     message.CDATA        `xml:"EventKey"  json:"EventKey"`        // 事件KEY值,与自定义菜单接口中KEY值对应
	ScanCodeInfo message.ScanCodeInfo `xml:"ScanCodeInfo" json:"ScanCodeInfo"` // 扫描信息
}

扫码推事件的事件推送

func GetScanCodePushEvent

func GetScanCodePushEvent(msg *message.MixedMsg) *ScanCodePushEvent

type SubscribeEvent

type SubscribeEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event" json:"Event"`                           // subscribe
	EventKey  message.CDATA     `xml:"EventKey,omitempty" json:"EventKey,omitempty"` // 事件KEY值, 此事件该值为空
}

关注事件

func GetSubscribeEvent

func GetSubscribeEvent(msg *message.MixedMsg) *SubscribeEvent

type TaskCardClickEvent

type TaskCardClickEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event"     json:"Event"`    // taskcard_click
	EventKey  message.CDATA     `xml:"EventKey"  json:"EventKey"` // 与发送任务卡片消息时指定的按钮btn:key值相同
	TaskId    message.CDATA     `xml:"TaskId" json:"TaskId"`      // 与发送任务卡片消息时指定的task_id相同
}

任务卡片事件推送

func GetTaskCardClickEvent

func GetTaskCardClickEvent(msg *message.MixedMsg) *TaskCardClickEvent

type Text

type Text struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	MsgId   int64         `xml:"MsgId"   json:"MsgId"`   // 消息id, 64位整型
	Content message.CDATA `xml:"Content" json:"Content"` // 文本消息内容
}

文本消息

func GetText

func GetText(msg *message.MixedMsg) *Text

type UnsubscribeEvent

type UnsubscribeEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event"              json:"Event"`              // unsubscribe
	EventKey  message.CDATA     `xml:"EventKey,omitempty" json:"EventKey,omitempty"` // 事件KEY值, 空值
}

取消关注事件

func GetUnsubscribeEvent

func GetUnsubscribeEvent(msg *message.MixedMsg) *UnsubscribeEvent

type UpdatePartyEvent

type UpdatePartyEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType  message.EventType `xml:"Event"     json:"Event"`        // change_contact
	ChangeType message.CDATA     `xml:"ChangeType"  json:"ChangeType"` // update_party
	Id         uint64            `xml:"Id" json:"Id"`                  // 部门Id
	Name       message.CDATA     `xml:"Name" json:"Name"`              // 部门名称
	ParentId   message.CDATA     `xml:"ParentId" json:"ParentId"`      // 父部门id

}

更新部门事件

func GetUpdatePartyEvent

func GetUpdatePartyEvent(msg *message.MixedMsg) *UpdatePartyEvent

type UpdateTagEvent

type UpdateTagEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType     message.EventType `xml:"Event"     json:"Event"`                                 // change_contact
	ChangeType    message.CDATA     `xml:"ChangeType"  json:"ChangeType"`                          // update_tag
	TagId         uint64            `xml:"TagId" json:"TagId"`                                     // 标签Id
	AddUserItems  message.CDATA     `xml:"AddUserItems,omitempty" json:"AddUserItems,omitempty"`   // 标签中新增的成员userid列表,用逗号分隔
	DelUserItems  message.CDATA     `xml:"DelUserItems,omitempty" json:"DelUserItems,omitempty"`   // 标签中删除的成员userid列表,用逗号分隔
	AddPartyItems message.CDATA     `xml:"AddPartyItems,omitempty" json:"AddPartyItems,omitempty"` // 标签中新增的部门id列表,用逗号分隔
	DelPartyItems message.CDATA     `xml:"DelPartyItems,omitempty" json:"DelPartyItems,omitempty"` // 标签中删除的部门id列表,用逗号分隔
}

标签成员变更事件

func GetUpdateTagEvent

func GetUpdateTagEvent(msg *message.MixedMsg) *UpdateTagEvent

type Video

type Video struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	MsgId        int64         `xml:"MsgId"        json:"MsgId"`        // 消息id, 64位整型
	MediaId      message.CDATA `xml:"MediaId"      json:"MediaId"`      // 视频消息媒体id, 可以调用多媒体文件下载接口拉取数据.
	ThumbMediaId message.CDATA `xml:"ThumbMediaId" json:"ThumbMediaId"` // 视频消息缩略图的媒体id, 可以调用多媒体文件下载接口拉取数据.
}

视频消息

func GetVideo

func GetVideo(msg *message.MixedMsg) *Video

type ViewEvent

type ViewEvent struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	EventType message.EventType `xml:"Event"     json:"Event"`    // view
	EventKey  message.CDATA     `xml:"EventKey"  json:"EventKey"` // 事件KEY值,与自定义菜单接口中KEY值对应
}

点击菜单跳转链接的事件推送

func GetViewEvent

func GetViewEvent(msg *message.MixedMsg) *ViewEvent

type Voice

type Voice struct {
	XMLName struct{} `xml:"xml" json:"-"`
	message.MsgHeader
	MsgId   int64         `xml:"MsgId"   json:"MsgId"`   // 消息id, 64位整型
	MediaId message.CDATA `xml:"MediaId" json:"MediaId"` // 语音消息媒体id, 可以调用多媒体文件下载接口拉取该媒体
	Format  message.CDATA `xml:"Format"  json:"Format"`  // 语音格式, 如amr, speex等
}

语音消息

func GetVoice

func GetVoice(msg *message.MixedMsg) *Voice

Jump to

Keyboard shortcuts

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