-
Notifications
You must be signed in to change notification settings - Fork 170
/
rx_msg.md.go
386 lines (329 loc) · 13.9 KB
/
rx_msg.md.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
// Code generated by sdkcodegen; DO NOT EDIT.
package workwx
// rxMessageCommon 接收消息的公共部分
type rxMessageCommon struct {
// ToUserName 企业微信CorpID
ToUserName string `xml:"ToUserName"`
// FromUserName 成员UserID
FromUserName string `xml:"FromUserName"`
// CreateTime 消息创建时间(整型)
CreateTime int64 `xml:"CreateTime"`
// MsgType 消息类型
MsgType MessageType `xml:"MsgType"`
// MsgID 消息id,64位整型
MsgID int64 `xml:"MsgId"`
// AgentID 企业应用的id,整型。可在应用的设置页面查看
AgentID int64 `xml:"AgentID"`
// Event 事件类型 MsgType为event存在
Event EventType `xml:"Event"`
// ChangeType 变更类型 Event为change_external_contact存在
ChangeType ChangeType `xml:"ChangeType"`
}
// MessageType 消息类型
type MessageType string
// MessageTypeText 文本消息
const MessageTypeText MessageType = "text"
// MessageTypeImage 图片消息
const MessageTypeImage MessageType = "image"
// MessageTypeVoice 语音消息
const MessageTypeVoice MessageType = "voice"
// MessageTypeVideo 视频消息
const MessageTypeVideo MessageType = "video"
// MessageTypeLocation 位置消息
const MessageTypeLocation MessageType = "location"
// MessageTypeLink 链接消息
const MessageTypeLink MessageType = "link"
// MessageTypeEvent 事件消息
const MessageTypeEvent MessageType = "event"
// EventType 事件类型
type EventType string
// EventTypeChangeExternalContact 企业客户事件
const EventTypeChangeExternalContact EventType = "change_external_contact"
// EventTypeChangeExternalChat 客户群变更事件
const EventTypeChangeExternalChat EventType = "change_external_chat"
// EventTypeSysApprovalChange 审批申请状态变化回调通知
const EventTypeSysApprovalChange EventType = "sys_approval_change"
// EventTypeChangeContact 通讯录回调通知
const EventTypeChangeContact EventType = "change_contact"
// EventTypeKfMsgOrEvent 客服回调通知
const EventTypeKfMsgOrEvent EventType = "kf_msg_or_event"
// ChangeType 变更类型
type ChangeType string
// ChangeTypeAddExternalContact 添加企业客户事件
const ChangeTypeAddExternalContact ChangeType = "add_external_contact"
// ChangeTypeEditExternalContact 编辑企业客户事件
const ChangeTypeEditExternalContact ChangeType = "edit_external_contact"
// ChangeTypeAddHalfExternalContact 外部联系人免验证添加成员事件
const ChangeTypeAddHalfExternalContact ChangeType = "add_half_external_contact"
// ChangeTypeDelExternalContact 删除企业客户事件
const ChangeTypeDelExternalContact ChangeType = "del_external_contact"
// ChangeTypeDelFollowUser 删除跟进成员事件
const ChangeTypeDelFollowUser ChangeType = "del_follow_user"
// ChangeTypeTransferFail 客户接替失败事件
const ChangeTypeTransferFail ChangeType = "transfer_fail"
// ChangeTypeCreateUser 新增成员事件
const ChangeTypeCreateUser ChangeType = "create_user"
// ChangeTypeUpdateUser 更新成员事件
const ChangeTypeUpdateUser ChangeType = "update_user"
// EventTypeAppMenuClick 点击菜单
const EventTypeAppMenuClick = "click"
// EventTypeAppMenuCView 打开菜单链接
const EventTypeAppMenuView = "view"
// EventTypeAppMenuScanCodePush 扫码上传
const EventTypeAppMenuScanCodePush = "scancode_push"
// EventTypeAppMenuScanCodeWaitMsg 扫码等待消息
const EventTypeAppMenuScanCodeWaitMsg = "scancode_waitmsg"
// EventTypeAppMenuPicSysPhoto 弹出系统拍照发图
const EventTypeAppMenuPicSysPhoto = "pic_sysphoto"
// EventTypeAppMenuPicPhotoOrAlbum 弹出系统拍照发图
const EventTypeAppMenuPicPhotoOrAlbum = "pic_photo_or_album"
// EventTypeAppMenuPicWeixin 弹出微信相册发图器
const EventTypeAppMenuPicWeixin = "pic_weixin"
// EventTypeAppMenuLocationSelect 弹出微信位置选择器
const EventTypeAppMenuLocationSelect = "location_select"
// EventTypeAppSubscribe 应用订阅
const EventTypeAppSubscribe = "subscribe"
// EventTypeAppUnsubscribe 应用订阅取消
const EventTypeAppUnsubscribe = "unsubscribe"
// rxTextMessageSpecifics 接收的文本消息,特有字段
type rxTextMessageSpecifics struct {
// Content 文本消息内容
Content string `xml:"Content"`
}
// rxImageMessageSpecifics 接收的图片消息,特有字段
type rxImageMessageSpecifics struct {
// PicURL 图片链接
PicURL string `xml:"PicUrl"`
// MediaID 图片媒体文件id,可以调用获取媒体文件接口拉取,仅三天内有效
MediaID string `xml:"MediaId"`
}
// rxVoiceMessageSpecifics 接收的语音消息,特有字段
type rxVoiceMessageSpecifics struct {
// MediaID 语音媒体文件id,可以调用获取媒体文件接口拉取数据,仅三天内有效
MediaID string `xml:"MediaId"`
// Format 语音格式,如amr,speex等
Format string `xml:"Format"`
}
// rxVideoMessageSpecifics 接收的视频消息,特有字段
type rxVideoMessageSpecifics struct {
// MediaID 视频媒体文件id,可以调用获取媒体文件接口拉取数据,仅三天内有效
MediaID string `xml:"MediaId"`
// ThumbMediaID 视频消息缩略图的媒体id,可以调用获取媒体文件接口拉取数据,仅三天内有效
ThumbMediaID string `xml:"ThumbMediaId"`
}
// rxLocationMessageSpecifics 接收的位置消息,特有字段
type rxLocationMessageSpecifics struct {
// Lat 地理位置纬度
Lat float64 `xml:"Location_X"`
// Lon 地理位置经度
Lon float64 `xml:"Location_Y"`
// Scale 地图缩放大小
Scale int `xml:"Scale"`
// Label 地理位置信息
Label string `xml:"Label"`
// AppType app类型,在企业微信固定返回wxwork,在微信不返回该字段
AppType string `xml:"AppType"`
}
// rxLinkMessageSpecifics 接收的链接消息,特有字段
type rxLinkMessageSpecifics struct {
// Title 标题
Title string `xml:"Title"`
// Description 描述
Description string `xml:"Description"`
// URL 链接跳转的url
URL string `xml:"Url"`
// PicURL 封面缩略图的url
PicURL string `xml:"PicUrl"`
}
// rxEventAddExternalContact 接收的事件消息,添加企业客户事件
type rxEventAddExternalContact struct {
// UserID 企业服务人员的UserID
UserID string `xml:"UserID"`
// ExternalUserID 外部联系人的userid,注意不是企业成员的帐号
ExternalUserID string `xml:"ExternalUserID"`
// State 添加此用户的「联系我」方式配置的state参数,可用于识别添加此用户的渠道
State string `xml:"State"`
// WelcomeCode 欢迎语code,可用于发送欢迎语
WelcomeCode string `xml:"WelcomeCode"`
}
// rxEventEditExternalContact 接收的事件消息,编辑企业客户事件
type rxEventEditExternalContact struct {
// UserID 企业服务人员的UserID
UserID string `xml:"UserID"`
// ExternalUserID 外部联系人的userid,注意不是企业成员的帐号
ExternalUserID string `xml:"ExternalUserID"`
// State 添加此用户的「联系我」方式配置的state参数,可用于识别添加此用户的渠道
State string `xml:"State"`
}
// rxEventAddHalfExternalContact 接收的事件消息,外部联系人免验证添加成员事件
type rxEventAddHalfExternalContact struct {
// UserID 企业服务人员的UserID
UserID string `xml:"UserID"`
// ExternalUserID 外部联系人的userid,注意不是企业成员的帐号
ExternalUserID string `xml:"ExternalUserID"`
// State 添加此用户的「联系我」方式配置的state参数,可用于识别添加此用户的渠道
State string `xml:"State"`
// WelcomeCode 欢迎语code,可用于发送欢迎语
WelcomeCode string `xml:"WelcomeCode"`
}
// rxEventDelExternalContact 接收的事件消息,删除企业客户事件
type rxEventDelExternalContact struct {
// UserID 企业服务人员的UserID
UserID string `xml:"UserID"`
// ExternalUserID 外部联系人的userid,注意不是企业成员的帐号
ExternalUserID string `xml:"ExternalUserID"`
}
// rxEventDelFollowUser 接收的事件消息,删除跟进成员事件
type rxEventDelFollowUser struct {
// UserID 企业服务人员的UserID
UserID string `xml:"UserID"`
// ExternalUserID 外部联系人的userid,注意不是企业成员的帐号
ExternalUserID string `xml:"ExternalUserID"`
}
// rxEventTransferFail 接收的事件消息,客户接替失败事件
type rxEventTransferFail struct {
// FailReason 接替失败的原因, customer_refused-客户拒绝, customer_limit_exceed-接替成员的客户数达到上限
FailReason string `xml:"FailReason"`
// UserID 企业服务人员的UserID
UserID string `xml:"UserID"`
// ExternalUserID 外部联系人的userid,注意不是企业成员的帐号
ExternalUserID string `xml:"ExternalUserID"`
}
// rxEventChangeExternalChat 接收的事件消息,客户群变更事件
type rxEventChangeExternalChat struct {
// ToUserName 企业微信CorpID
ToUserName string `xml:"ToUserName"`
// FromUserName 此事件该值固定为sys,表示该消息由系统生成
FromUserName string `xml:"FromUserName"`
// FailReason 接替失败的原因, customer_refused-客户拒绝, customer_limit_exceed-接替成员的客户数达到上限
FailReason string `xml:"FailReason"`
// ChatID 群ID
ChatID string `xml:"ChatId"`
}
// rxEventSysApprovalChange 接收的事件消息,审批申请状态变化回调通知
type rxEventSysApprovalChange struct {
// ApprovalInfo 审批信息、
ApprovalInfo OAApprovalInfo `xml:"ApprovalInfo"`
}
// rxEventChangeTypeCreateUser 接受的事件消息,新增成员事件
type rxEventChangeTypeCreateUser struct {
// UserID 成员UserID
UserID string `xml:"UserID"`
// Name 成员名称
Name string `xml:"Name"`
// Department 成员部门列表,仅返回该应用有查看权限的部门id
Department string `xml:"Department"`
// IsLeaderInDept 表示所在部门是否为上级,0-否,1-是,顺序与Department字段的部门逐一对应
IsLeaderInDept string `xml:"IsLeaderInDept"`
// Mobile 手机号
Mobile string `xml:"Mobile"`
// Position 职位信息。长度为0~64个字节
Position string `xml:"Position"`
// Gender 性别,1表示男性,2表示女性
Gender int `xml:"Gender"`
// Email 邮箱
Email string `xml:"Email"`
// Status 激活状态:1=已激活 2=已禁用 4=未激活 已激活代表已激活企业微信或已关注微工作台(原企业号)5=成员退出
Status int `xml:"Status"`
// Avatar 头像url。注:如果要获取小图将url最后的”/0”改成”/100”即可。
Avatar string `xml:"Avatar"`
// Alias 成员别名
Alias string `xml:"Alias"`
// Telephone 座机
Telephone string `xml:"Telephone"`
// Address 地址
Address string `xml:"Address"`
// ExtAttr 扩展属性
ExtAttr string `xml:"ExtAttr"`
// Type 扩展属性类型: 0-本文 1-网页
Type string `xml:"Type"`
// Text 文本属性类型,扩展属性类型为0时填写
Text string `xml:"Text"`
// Value 文本属性内容
Value string `xml:"Value"`
// Web 网页类型属性,扩展属性类型为1时填写
Web string `xml:"Web"`
// Title 网页的展示标题
Title string `xml:"Title"`
// Url 网页的url
Url string `xml:"Url"`
}
// rxEventChangeTypeUpdateUser 接受的事件消息,更新成员事件
type rxEventChangeTypeUpdateUser struct {
// UserID 成员UserID
UserID string `xml:"UserID"`
// NewUserID 新的UserID,变更时推送(userid由系统生成时可更改一次)
NewUserID string `xml:"NewUserID"`
// Name 成员名称
Name string `xml:"Name"`
// Department 成员部门列表,仅返回该应用有查看权限的部门id
Department string `xml:"Department"`
// IsLeaderInDept 表示所在部门是否为上级,0-否,1-是,顺序与Department字段的部门逐一对应
IsLeaderInDept string `xml:"IsLeaderInDept"`
// Mobile 手机号
Mobile string `xml:"Mobile"`
// Position 职位信息。长度为0~64个字节
Position string `xml:"Position"`
// Gender 性别,1表示男性,2表示女性
Gender int `xml:"Gender"`
// Email 邮箱
Email string `xml:"Email"`
// Status 激活状态:1=已激活 2=已禁用 4=未激活 已激活代表已激活企业微信或已关注微工作台(原企业号)5=成员退出
Status int `xml:"Status"`
// Avatar 头像url。注:如果要获取小图将url最后的”/0”改成”/100”即可。
Avatar string `xml:"Avatar"`
// Alias 成员别名
Alias string `xml:"Alias"`
// Telephone 座机
Telephone string `xml:"Telephone"`
// Address 地址
Address string `xml:"Address"`
// ExtAttr 扩展属性
ExtAttr string `xml:"ExtAttr"`
// Type 扩展属性类型: 0-本文 1-网页
Type string `xml:"Type"`
// Text 文本属性类型,扩展属性类型为0时填写
Text string `xml:"Text"`
// Value 文本属性内容
Value string `xml:"Value"`
// Web 网页类型属性,扩展属性类型为1时填写
Web string `xml:"Web"`
// Title 网页的展示标题
Title string `xml:"Title"`
// Url 网页的url
Url string `xml:"Url"`
}
// rxEventAppMenuClick 接受的事件消息,应用菜单点击事件
type rxEventAppMenuClick struct {
// EventKey 事件key
EventKey string `xml:"EventKey"`
}
// rxEventAppMenuView 接受的事件消息,应用菜单点击链接事件
type rxEventAppMenuView struct {
// EventKey 事件key
EventKey string `xml:"EventKey"`
}
// rxEventAppSubscribe 接受的事件消息,用户订阅事件
type rxEventAppSubscribe struct {
// EventKey 事件key
EventKey string `xml:"EventKey"`
}
// rxEventAppUnsubscribe 接受的事件消息,用户取消订阅事件
type rxEventAppUnsubscribe struct {
// EventKey 事件key
EventKey string `xml:"EventKey"`
}
// rxEventKfMsgOrEvent 接受的事件消息,客服接收消息和事件
type rxEventKfMsgOrEvent struct {
// OpenKfID 有新消息的客服账号。可通过sync_msg接口指定open_kfid获取此客服账号的消息
OpenKfID string `xml:"OpenKfId"`
// Token 调用拉取消息接口时,需要传此token,用于校验请求的合法性
Token string `xml:"Token"`
}
// rxEventUnknown 接受的事件消息,未定义的事件类型
type rxEventUnknown struct {
// EventType 事件类型
EventType string `xml:"-"`
// Raw 原始的消息体
Raw string `xml:"-"`
}