Documentation
¶
Overview ¶
被动接收的基本消息(事件)的数据结构定义, 更多的消息(事件)定义在对应的业务模块内.
Index ¶
- Constants
- type AddExternalContactEvent
- type AddHalfExternalContactEvent
- type BatchJobResultEvent
- type ClickEvent
- type CreatePartyEvent
- type DelExternalContactEvent
- type DelExternalContactFollowUserEvent
- type DeletePartyEvent
- type EditExternalContactEvent
- type EnterAgentEvent
- type GetChangeExternalChatEvent
- type Image
- type Link
- type Location
- type LocationEvent
- type LocationSelectEvent
- type OpenApprovalChangeEvent
- type PicPhotoOrAlbumEvent
- type PicSysPhotoEvent
- type PicWeixinEvent
- type ScanCodePushEvent
- type SubscribeEvent
- type TaskCardClickEvent
- type Text
- type UnsubscribeEvent
- type UpdatePartyEvent
- type UpdateTagEvent
- type Video
- type ViewEvent
- type Voice
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"` // 图片链接
}
图片消息
type Link ¶
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"` // 图片链接
}
链接消息
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 ¶
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"` // 文本消息内容
}
文本消息
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, 可以调用多媒体文件下载接口拉取数据.
}
视频消息
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 ¶
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等
}
语音消息
Click to show internal directories.
Click to hide internal directories.