瀏覽代碼

增加企微通道

boweniac 1 周之前
父節點
當前提交
ee315841b1
共有 100 個文件被更改,包括 1731 次插入0 次删除
  1. 10 0
      proto/wecom/WAcceptCustomerTask.proto
  2. 10 0
      proto/wecom/WAccountForceOfflineNotice.proto
  3. 13 0
      proto/wecom/WAddCustomerByGroupTask.proto
  4. 10 0
      proto/wecom/WAddCustomerByIdTask.proto
  5. 13 0
      proto/wecom/WAddCustomerFromSearchTask.proto
  6. 11 0
      proto/wecom/WAddCustomerFromWxTask.proto
  7. 10 0
      proto/wecom/WAddEmojiTask.proto
  8. 12 0
      proto/wecom/WAddEmojiTaskResultNotice.proto
  9. 34 0
      proto/wecom/WChatRoomActionTask.proto
  10. 11 0
      proto/wecom/WCommonResult.proto
  11. 15 0
      proto/wecom/WCommonTriggerTask.proto
  12. 31 0
      proto/wecom/WConfigPushNotice.proto
  13. 11 0
      proto/wecom/WConfigSetting.proto
  14. 35 0
      proto/wecom/WContactPushNotice.proto
  15. 10 0
      proto/wecom/WConversationAddNotice.proto
  16. 10 0
      proto/wecom/WConversationChangedNotice.proto
  17. 13 0
      proto/wecom/WConversationInfoNotice.proto
  18. 50 0
      proto/wecom/WConversationPushNotice.proto
  19. 15 0
      proto/wecom/WCorporationPushNotice.proto
  20. 11 0
      proto/wecom/WCustomerAddNotice.proto
  21. 11 0
      proto/wecom/WCustomerDelNotice.proto
  22. 24 0
      proto/wecom/WCustomerGroupPushNotice.proto
  23. 42 0
      proto/wecom/WCustomerPushNotice.proto
  24. 12 0
      proto/wecom/WDaKaTask.proto
  25. 11 0
      proto/wecom/WDelCustomerTask.proto
  26. 13 0
      proto/wecom/WDelSnsCommentTask.proto
  27. 11 0
      proto/wecom/WDelSnsTask.proto
  28. 17 0
      proto/wecom/WDepartmentPushNotice.proto
  29. 16 0
      proto/wecom/WDeviceAuthReq.proto
  30. 18 0
      proto/wecom/WDeviceAuthRsp.proto
  31. 12 0
      proto/wecom/WDownloadFileByMsgIdTask.proto
  32. 15 0
      proto/wecom/WDownloadFileByUrlTask.proto
  33. 15 0
      proto/wecom/WDownloadFileResultNotice.proto
  34. 9 0
      proto/wecom/WErrorNotice.proto
  35. 12 0
      proto/wecom/WForwardMsgTask.proto
  36. 12 0
      proto/wecom/WForwardMultiTask.proto
  37. 24 0
      proto/wecom/WFriendTalkNotice.proto
  38. 10 0
      proto/wecom/WGetContactInfoTask.proto
  39. 13 0
      proto/wecom/WGetContactInfoTaskResultNotice.proto
  40. 9 0
      proto/wecom/WGetConversationInfoTask.proto
  41. 11 0
      proto/wecom/WGetExtUserIdTask.proto
  42. 17 0
      proto/wecom/WGetExtUserIdTaskResult.proto
  43. 10 0
      proto/wecom/WGetGroupMemberTask.proto
  44. 11 0
      proto/wecom/WGetSnsDataTask.proto
  45. 13 0
      proto/wecom/WGetSnsDataTaskResultNotice.proto
  46. 10 0
      proto/wecom/WGetWeChatsReq.proto
  47. 31 0
      proto/wecom/WGetWeChatsResp.proto
  48. 13 0
      proto/wecom/WGroupMemberAddNotice.proto
  49. 13 0
      proto/wecom/WGroupMemberDelNotice.proto
  50. 13 0
      proto/wecom/WGroupMemberPushNotice.proto
  51. 32 0
      proto/wecom/WHistoryMsgPushNotice.proto
  52. 13 0
      proto/wecom/WJoinGroupInviteTask.proto
  53. 14 0
      proto/wecom/WMsgRevokeNotice.proto
  54. 10 0
      proto/wecom/WMsgRevokeTask.proto
  55. 12 0
      proto/wecom/WNewCustomerAddedNotice.proto
  56. 12 0
      proto/wecom/WNewCustomerPushNotice.proto
  57. 10 0
      proto/wecom/WOneWayCustomerPushNotice.proto
  58. 22 0
      proto/wecom/WPhoneActionTask.proto
  59. 8 0
      proto/wecom/WPhoneStateTask.proto
  60. 13 0
      proto/wecom/WPhoneStateTaskResultNotice.proto
  61. 12 0
      proto/wecom/WPhoneStateWarningNotice.proto
  62. 26 0
      proto/wecom/WPostDeviceInfoNotice.proto
  63. 8 0
      proto/wecom/WPostMessageReadNotice.proto
  64. 37 0
      proto/wecom/WPostSnsTask.proto
  65. 14 0
      proto/wecom/WPostSnsTaskResultNotice.proto
  66. 9 0
      proto/wecom/WPostSnsTaskTask.proto
  67. 9 0
      proto/wecom/WPullMyQrCodeTask.proto
  68. 11 0
      proto/wecom/WPullMyQrCodeTaskResultNotice.proto
  69. 9 0
      proto/wecom/WPullMySnsListTask.proto
  70. 50 0
      proto/wecom/WPullMySnsListTaskResultNotice.proto
  71. 9 0
      proto/wecom/WPullSnsTaskListTask.proto
  72. 19 0
      proto/wecom/WPullSnsTaskListTaskResultNotice.proto
  73. 15 0
      proto/wecom/WQunFaTask.proto
  74. 10 0
      proto/wecom/WRedirectNotice.proto
  75. 10 0
      proto/wecom/WRunFunCardTask.proto
  76. 11 0
      proto/wecom/WSearchMsgTask.proto
  77. 27 0
      proto/wecom/WSearchMsgTaskResultNotice.proto
  78. 10 0
      proto/wecom/WSendFriendVerifyTask.proto
  79. 10 0
      proto/wecom/WSetUserMemoTask.proto
  80. 13 0
      proto/wecom/WSnsCommentTask.proto
  81. 14 0
      proto/wecom/WSnsCommentTaskResultNotice.proto
  82. 11 0
      proto/wecom/WSnsLikeTask.proto
  83. 17 0
      proto/wecom/WSnsMsgNotice.proto
  84. 12 0
      proto/wecom/WSnsNotifyNotice.proto
  85. 15 0
      proto/wecom/WTalkToFriendTask.proto
  86. 16 0
      proto/wecom/WTalkToFriendTaskResultNotice.proto
  87. 15 0
      proto/wecom/WTaskResultNotice.proto
  88. 230 0
      proto/wecom/WTransport.proto
  89. 8 0
      proto/wecom/WTriggerConversationPushTask.proto
  90. 8 0
      proto/wecom/WTriggerCustomerPushTask.proto
  91. 12 0
      proto/wecom/WTriggerHistoryMsgPushTask.proto
  92. 8 0
      proto/wecom/WTriggerMessageReadTask.proto
  93. 16 0
      proto/wecom/WUpgradeDeviceAppNotice.proto
  94. 10 0
      proto/wecom/WUserLabelChangedNotice.proto
  95. 11 0
      proto/wecom/WUserLabelDelTask.proto
  96. 12 0
      proto/wecom/WUserLabelModifyTask.proto
  97. 13 0
      proto/wecom/WUserLabelModifyTaskResultNotice.proto
  98. 27 0
      proto/wecom/WUserLabelPushNotice.proto
  99. 14 0
      proto/wecom/WUserLabelSetTask.proto
  100. 14 0
      proto/wecom/WUserSetLabelTask.proto

+ 10 - 0
proto/wecom/WAcceptCustomerTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message AcceptCustomerTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 RemoteId = 2; // 联系人id
+    int64 TaskId = 3;
+}
+

+ 10 - 0
proto/wecom/WAccountForceOfflineNotice.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+message AccountForceOfflineNoticeMessage {
+    EnumForceOfflineReason Reason = 1; //被强制下线的原因
+    string Message = 2; //补充文字描述
+    int64 WxId = 3; // 设备企业WX号
+}

+ 13 - 0
proto/wecom/WAddCustomerByGroupTask.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message AddCustomerByGroupTaskMessage {
+    int64 WxId = 1; //
+    int64 GroupId = 2; // 搜索关键字
+    int64 RemoteId = 3;
+    string Msg = 4; // 招呼语, 缺省:我是xxx公司的xxx,添加我的企业微信与我联系吧。
+    string Memo = 5;
+    repeated string Labels = 6;
+    int64 TaskId = 7;
+}

+ 10 - 0
proto/wecom/WAddCustomerByIdTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message AddCustomerByIdTaskMessage {
+    int64 WxId = 1; //
+    repeated string Ids = 2; // 微信好友OpenId列表
+    string Msg = 3; // 招呼语,缺省:你好这是我的企业微信,以后也可以在这里与我联系。
+    int64 TaskId = 5;
+}

+ 13 - 0
proto/wecom/WAddCustomerFromSearchTask.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message AddCustomerFromSearchTaskMessage {
+    int64 WxId = 1; //
+    string Key = 2; // 搜索关键字
+    string Msg = 3; // 招呼语, 缺省:我是xxx公司的xxx,添加我的企业微信与我联系吧。
+    string Memo = 4;
+    repeated string Labels = 5;
+    int64 TaskId = 6;
+    bool AddByGroup = 7;
+}

+ 11 - 0
proto/wecom/WAddCustomerFromWxTask.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message AddCustomerFromWxTaskMessage {
+    int64 WxId = 1; //
+    int32 Count = 2; // 添加的个数
+    int32 Index = 3; // 添加的起始位置
+    string Msg = 4; // 招呼语,缺省:你好这是我的企业微信,以后也可以在这里与我联系。
+    int64 TaskId = 5;
+}

+ 10 - 0
proto/wecom/WAddEmojiTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message AddEmojiTaskMessage {
+    int64 WxId = 1; //
+    string Image = 2;
+    int64 TaskId = 3;
+}
+

+ 12 - 0
proto/wecom/WAddEmojiTaskResultNotice.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message AddEmojiTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    int64 TaskId = 4;
+    string Emoji = 5;
+}
+

+ 34 - 0
proto/wecom/WChatRoomActionTask.proto

@@ -0,0 +1,34 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+enum EnumChatRoomAction {
+    RoomName = 0; // 改群名 content=群名称
+    ModifyPublicNoti = 1; // 改公告 content=公告内容
+    AddMember = 2; // 拉人 Members不为空,content=附带消息
+    KickMember = 3; // 踢人
+    RoomShowName = 4; // 修改群内显示名 content=显示名 未实现
+    AddToPhonebook = 5; // 未实现
+    NoDisturb = 6; // 免打扰 IntValue=1 (消息免打扰 ),IntValue=0 取消,可设置单个联系人
+    ExitRoom = 7; // 退群
+    CreateRoom = 8; // 建群 Members不为空,content=群名称
+    ViewAllMember = 9; // 查看所有群成员 未实现
+    TransferOwner = 10; // 群主转让
+    SetVerify = 11; // 未实现
+    AddManager = 12; // 设置群管理员
+    DelManager = 13; // 删除群管理员
+    SetRemark = 14; // 未实现
+    AddToFold = 15; // 折叠
+    SetTop = 16; //设置置顶 IntValue=0 取消置顶,IntValue=1 置顶,可设置单个联系人
+    SetMarked = 17; //标记 IntValue=0 取消标记,IntValue=1 标记,可设置单个联系人
+}
+
+message ChatRoomActionTaskMessage {
+    int64 WxId = 1; // 商家所属微信号
+    int64 ConvId = 2; // 会话remoteId
+    EnumChatRoomAction Action = 3; // 指令
+    string Content = 4; // 指令内容
+    int32 IntValue = 5; //
+    repeated int64 Members = 6; //操作的联系人(客户)
+    int64 taskId = 7;
+}

+ 11 - 0
proto/wecom/WCommonResult.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+message CommonResultMessage {
+  int64 WxId = 1; // 设备企业WX号
+  bool Success = 2; // 是否成功
+  int32 Code = 3; // 错误码 Success = true 忽略
+  string ErrMsg = 4; // 错误内容描述
+}

+ 15 - 0
proto/wecom/WCommonTriggerTask.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+// 通用Trigger任务消息
+message CommonTriggerTaskMessage {
+    int64 WxId = 1; //
+    // 同步会话,0:所有会话;1 已加载的会话 2 下一页会话, &512 忽略群成员 &1024 忽略消息概要
+    // 同步客户:Flag=1 只推送单向客户id
+    int32 Flag = 2;
+    int64 Time = 3; // 备用
+    int32 Offset = 4;
+    int32 Limit = 5;
+    int64 TaskId = 8;
+}

+ 31 - 0
proto/wecom/WConfigPushNotice.proto

@@ -0,0 +1,31 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message BoolConfigMessage {
+    string Key = 1;
+    bool Value = 2;
+    string Name = 3;
+    string Desc = 4;
+}
+
+message IntConfigMessage {
+    string Key = 1;
+    int32 Value = 2;
+    string Name = 3;
+    string Desc = 4;
+}
+
+message StrConfigMessage {
+    string Key = 1;
+    string Value = 2;
+    string Name = 3;
+    string Desc = 4;
+}
+
+message ConfigPushNoticeMessage {
+    int64 WxId = 1; //
+    repeated BoolConfigMessage BoolConfs = 3;
+    repeated IntConfigMessage IntConfs = 4;
+    repeated StrConfigMessage StrConfs = 5;
+}

+ 11 - 0
proto/wecom/WConfigSetting.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WConfigPushNotice.proto";
+message ConfigSettingMessage {
+    int64 WxId = 1; //
+    repeated BoolConfigMessage BoolConfs = 3;
+    repeated IntConfigMessage IntConfs = 4;
+    repeated StrConfigMessage StrConfs = 5;
+}

+ 35 - 0
proto/wecom/WContactPushNotice.proto

@@ -0,0 +1,35 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+
+message ContactPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated ContactMessage Contacts = 2; // 好友信息模型 多个
+    int32 Size = 3;
+    int32 Count = 4;
+    int32 Page = 5;
+    int64 TaskId = 6;
+}
+
+message ContactMessage {
+    int64 RemoteId = 1; //唯一id
+    // RemoteId>>48==20 App;
+    // RemoteId>>48==28 微信用户;
+    // RemoteId>>48==33,34 外部客户;
+    // RemoteId>>48==39 群机器人;
+    // RemoteId>>48==30 内部客服;
+    // RemoteId>>48==32 VIP客户;
+    string AcctId = 2; // 企业内部id
+    string Name = 3; //
+    string Alias = 4;
+    string Avatar = 5;
+    string Job = 6; // 职位
+    string Mobile = 7;
+    string UnionId = 8;
+    EnumGender Gender = 9;
+    repeated int64 DepartIds = 10; // 所属部门id
+    int64 Attr = 11; // 属性 (attr & 64) == 64 || (attr & 33554432) == 33554432 已激活企业微信
+    //int64 CorpId = 12;
+}

+ 10 - 0
proto/wecom/WConversationAddNotice.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WConversationPushNotice.proto";
+
+message ConversationAddNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    ConversationMessage Convers = 2; // 会话
+}
+

+ 10 - 0
proto/wecom/WConversationChangedNotice.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WConversationPushNotice.proto";
+
+message ConversationChangedNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    ConversationMessage Convers = 2; // 会话
+}
+

+ 13 - 0
proto/wecom/WConversationInfoNotice.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WConversationPushNotice.proto";
+
+message ConversationInfoNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    int64 TaskId = 4;
+    ConversationMessage Conver = 5; // 会话
+}
+

+ 50 - 0
proto/wecom/WConversationPushNotice.proto

@@ -0,0 +1,50 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message ConversationPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated ConversationMessage Convers = 2; // 好友信息模型 多个
+    int32 Size = 3;
+    int32 Count = 4;
+    int32 Page = 5;
+    bool IsEnd = 6; //本次推送是否结束
+    int32 NextOffset = 7; //
+    int32 Total = 8; //
+    int64 TaskId = 9;
+}
+
+message ConversationMessage {
+    int64 Id = 1; //
+    int64 RemoteId = 2; // 单聊=联系人RemoteId, 群聊=公司id,部门id或其他
+    string Name = 3;
+    string Avatar = 4;
+    int32 Type = 5; // 0 单聊 1 群聊
+    int64 Creator = 6; //创建者id
+    int64 CreateTime = 7; //创建时间
+    int64 UpdateTime = 8; // 最后更新时间
+    bool Notified = 9; // 是否新消息提示
+    int32 Flag = 10; // &2 全员群 &32 部门群
+    int32 UnreadCnt = 11; //未读消息数
+    string Notice = 12; // 群公告
+    string Digest = 13; // 最新消息概要
+    repeated ConvMemberMessage Members = 14; // 群成员
+    repeated int64 Admins = 15; // 群管理员
+    bool HasExternMember = 16; // 是否有外部联系人(外部群)
+    repeated string AvatarList = 17; // 群聊头像列表,9宫格
+    bool isSaved = 18; // 是否保存的群聊
+    bool isMarked = 19; // 是否标注
+    bool isTop = 20; // 是否置顶
+    int64 FwId = 21; // 在线客服服务id
+}
+
+message ConvMemberMessage {
+    int64 RemoteId = 1; // 群成员id
+    string Name = 2; //
+    int64 JoinTime = 3;
+    int32 JoinScene = 4; // 加入场景,数值待确定
+    string Avatar = 5; // 头像
+    int64 CorpId = 6; // 公司id
+    int64 OpRemoteId = 7; // 邀请人id
+}

+ 15 - 0
proto/wecom/WCorporationPushNotice.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message CorporationPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated CorporationMessage Corps = 2; // 企业信息
+}
+
+message CorporationMessage {
+    int64 Id = 1;
+    string Name = 2;
+}
+

+ 11 - 0
proto/wecom/WCustomerAddNotice.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WCustomerPushNotice.proto";
+
+message CustomerAddNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    CustomerMessage Contact = 2; // 好友信息模型
+}
+
+

+ 11 - 0
proto/wecom/WCustomerDelNotice.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WCustomerPushNotice.proto";
+
+message CustomerDelNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 RemoteId = 2; // 被移除客户的remoteId
+}
+
+

+ 24 - 0
proto/wecom/WCustomerGroupPushNotice.proto

@@ -0,0 +1,24 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message CustomerGroupPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    bool Success = 2; // 是否成功
+    repeated CustomerGroupMessage Groups = 3; // 客户群列表
+    int64 TaskId = 4;
+}
+
+message CustomerGroupMessage {
+    int64 Id = 1; // 会话id
+    int64 RemoteId = 2; // 会话RemoteId
+    string Name = 3; // 群名
+    string Avatar = 4;
+    int64 Owner = 6; //群主Id
+    int32 CreateTime = 7; //创建时间
+    int32 UpdateTime = 8; // 最后更新时间
+    int32 Flag = 10; //
+    int32 MemberCnt = 11; //群成员数
+}
+

+ 42 - 0
proto/wecom/WCustomerPushNotice.proto

@@ -0,0 +1,42 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message CustomerPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated CustomerMessage Contacts = 2; // 好友信息模型 多个
+    int32 Size = 3;
+    int32 Count = 4;
+    int32 Page = 5;
+    int64 TaskId = 6;
+}
+
+message CustomerMessage {
+    int64 RemoteId = 1; //唯一id (RemoteId>>48==20 App; RemoteId>>48==28 微信用户; RemoteId>>48==33,34 外部客户; RemoteId>>48==39 群机器人; RemoteId>>48==30 内部客服; RemoteId>>48==32 VIP客户;)
+    string Name = 2;
+    string Alias = 3;
+    string Avatar = 4;
+    string Mobile = 5;
+    string UnionId = 6; // 微信UnionId,可能为空
+    EnumGender Gender = 7;
+    int64 CorpId = 8;
+    int32 AddTime = 9;
+    int32 Source = 10; // 添加来源
+    repeated int64 LabelIds = 11; //设置的用户标签
+    string Suffix = 12; // 后缀
+    string OpenId = 13;
+    int64 SourceUser = 14;
+    int64 SourceRoomId = 15;
+    string SourceFriend = 16; //来自微信好友(wxid)来自通讯录(电话号码)
+    string ApplyContent = 17;
+    string Remark = 18;
+    string CompanyRemark = 19;
+    repeated string PhoneRemark = 20;
+    string Desc = 21;
+    string DescUrl = 22;
+    int64 Attr = 23;
+    int64 Attr2 = 24; 
+    int64 Attr3 = 25;
+    int64 ApplyTime = 26;
+}

+ 12 - 0
proto/wecom/WDaKaTask.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message DaKaTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int32 Type = 2; // 1 上班打卡 2 下班打卡 (未使用)
+    bool Force = 3; // 强制打卡(更新打卡)
+    int32 Flag = 4; // 保留字段,未使用 (检查时间,不允许早退等)
+    int64 TaskId = 5;
+}
+

+ 11 - 0
proto/wecom/WDelCustomerTask.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message DelCustomerTaskMessage {
+    int64 WxId = 1; // 商家所属企业Wx号
+    int64 RemoteId = 2; // 联系人id
+    int64 TaskId = 3;
+}
+

+ 13 - 0
proto/wecom/WDelSnsCommentTask.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message DelSnsCommentTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 SnsId = 2; // 朋友圈id
+    string PostId = 3; // 朋友圈postid
+    int64 CommentId = 4; // 评论id
+    string CmPostId = 5; // 评论postid
+    int64 TaskId = 6; //任务id 在TaskResult中回传
+}
+

+ 11 - 0
proto/wecom/WDelSnsTask.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message DelSnsTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 SnsId = 2; // 朋友圈id
+    string PostId = 3; // 朋友圈postid
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+}
+

+ 17 - 0
proto/wecom/WDepartmentPushNotice.proto

@@ -0,0 +1,17 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message DepartmentPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated DepartmentMessage Departs = 2; // 部门信息
+    int64 TaskId = 3;
+}
+
+message DepartmentMessage {
+    int64 RemoteId = 1;
+    int64 ParentId = 2; // 上级部门id
+    string Name = 3;
+    int64 GroupId = 4; // 群聊id
+    int32 UserCnt = 5;
+}

+ 16 - 0
proto/wecom/WDeviceAuthReq.proto

@@ -0,0 +1,16 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message DeviceAuthReqMessage {
+    EnumAuthType AuthType = 1; //认证方式
+    string Credential = 2; //凭证信息(不同认证方式传入不同的凭证信息)
+
+    //认证方式枚举
+    enum EnumAuthType {
+        Default = 0; //默认方式,默认使用
+        DeviceCode = 1; //设备码(用于手机客户端,此方式Credential应传入手机IMEI)
+        Username = 2; //用户名密码方式(此方式Credential应传入base64(user:pwd))
+        InternalCode = 3; //内部服务间通讯方式(此方式Credential可为空,服务器根据ip白名单来认证)
+    }
+}

+ 18 - 0
proto/wecom/WDeviceAuthRsp.proto

@@ -0,0 +1,18 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+message DeviceAuthRspMessage {
+    string AccessToken = 1; //授权成功后颁发给客户端的accesstoken
+    ExtraMessage Extra = 2;
+
+    message ExtraMessage { // 扩展信息
+                           int64 SupplierId = 1;
+                           int64 UnionId = 2;
+                           EnumAccountType AccountType = 3;
+                           string SupplierName = 4;
+                           string NickName = 5;
+                           string Token = 6; // 访问www使用
+    }
+}

+ 12 - 0
proto/wecom/WDownloadFileByMsgIdTask.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message DownloadFileByMsgIdTaskMessage {
+    int64 WxId = 1; //
+    int64 MsgId = 2;
+    int64 MsgRemoteId = 3; //
+    int32 FileType = 4; // 下载文件的类型 0 原始文件(原图,视频,音频,文件)
+    int64 TaskId = 5;
+    bool ReSend = 6; // 重新上传文件
+}

+ 15 - 0
proto/wecom/WDownloadFileByUrlTask.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message DownloadFileByUrlTaskMessage {
+    int64 WxId = 1; //
+    string Url = 2; // url或FileId
+    string AesKey = 3; //
+    string AuthKey = 4; // 微信CDN AuthKey
+    string FileName = 5; // 文件名(一般文件消息才有)
+    int32 MsgType = 6; // 消息类型
+    int32 FileType = 7; // 下载文件的类型 0 原始文件(原图,视频,音频,文件) 1 大图, 2 缩率图(预览图)
+    int64 TaskId = 8;
+    bool ReSend = 9; // 重新上传文件
+}

+ 15 - 0
proto/wecom/WDownloadFileResultNotice.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+message DownloadFileResultNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    string OrgUrl = 4; // 原始URL
+    string Url = 5; //
+    int32 FileType = 6; // 文件类型;1 大图  4 语音 5 视频 6 文件
+    int64 TaskId = 7; // 业务的id,通用的。
+    int64 MsgId = 8; // 消息唯一id
+}

+ 9 - 0
proto/wecom/WErrorNotice.proto

@@ -0,0 +1,9 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+message ErrorMessage {
+    EnumErrorCode ErrorCode = 1; //错误码(只在响应类消息时需要赋值)
+    string ErrorMsg = 2; //错误信息(只在响应类消息时需要赋值)
+}

+ 12 - 0
proto/wecom/WForwardMsgTask.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message ForwardMsgTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 MsgId = 2; // 消息remoteid
+    int64 ConvId = 3; // 会话remoteid
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+    int64 LocalId = 5; // 会话LocalId
+}
+

+ 12 - 0
proto/wecom/WForwardMultiTask.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message ForwardMultiTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated int64 MsgIds = 2; // 消息remoteid
+    repeated int64 ConvIds = 3; // 会话remoteid
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+    repeated int64 LocalIds = 5; // 会话Id
+}
+

+ 24 - 0
proto/wecom/WFriendTalkNotice.proto

@@ -0,0 +1,24 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message FriendTalkNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; // 会话RemoteId
+    int64 SenderId = 3; // 消息发送者Id
+    EnumContentType ContentType = 4; // 发送的消息内容类型
+    bytes Content = 5; // 内容 二进制流
+    int64 MsgId = 6; //服务端的主键id
+    int64 MsgRemoteId = 7; // 消息唯一id
+    int64 CreateTime = 8; // 消息时间
+    string SenderName = 9; // 消息发送者名称
+    int64 RefId = 10; // 引用消息的id
+    int32 Flag = 11;
+    bool IsRevoke = 12;
+    bool AtMe = 13;
+    int64 TaskId = 14;
+    int32 ConvType = 15;
+    int64 ConvLocalId = 16; // 会话的LocalId
+    //int64 ConvFwId = 17; // 客服会话FwId
+}

+ 10 - 0
proto/wecom/WGetContactInfoTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message GetContactInfoTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 RemoteId = 2; // 联系人id
+    int64 TaskId = 3;
+}
+

+ 13 - 0
proto/wecom/WGetContactInfoTaskResultNotice.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WCustomerPushNotice.proto";
+
+message GetContactInfoTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    CustomerMessage Info = 4;
+    int64 TaskId = 5; //任务id 在TaskResult中回传
+}
+

+ 9 - 0
proto/wecom/WGetConversationInfoTask.proto

@@ -0,0 +1,9 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message GetConversationInfoTaskMessage {
+    int64 WxId = 1; // 所属wx号
+    int64 ConvId = 2; //会话 RemoteId
+    int64 TaskId = 3;
+}

+ 11 - 0
proto/wecom/WGetExtUserIdTask.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message GetExtUserIdTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    string CorpId = 2; //公司id
+    repeated int64 RemoteId = 3; // 客户id
+    int64 TaskId = 4;
+}
+

+ 17 - 0
proto/wecom/WGetExtUserIdTaskResult.proto

@@ -0,0 +1,17 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message ExtUserIdMessage {
+    int64 RemoteId = 1;
+    string ExtUid = 2;
+}
+
+message GetExtUserIdTaskResultMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    repeated ExtUserIdMessage ExtUserIds = 4;
+    int64 TaskId = 5; //任务id 在TaskResult中回传
+}
+

+ 10 - 0
proto/wecom/WGetGroupMemberTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message GetGroupMemberTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; // 会话remoteid
+    int64 TaskId = 3; //任务id 在TaskResult中回传
+}
+

+ 11 - 0
proto/wecom/WGetSnsDataTask.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message GetSnsDataTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 SnsId = 2; // 朋友圈id
+    string PostId = 3; // 朋友圈postid
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+}
+

+ 13 - 0
proto/wecom/WGetSnsDataTaskResultNotice.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WPullMySnsListTaskResultNotice.proto";
+
+message GetSnsDataTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    SnsInfoMessage SnsInfo = 4;
+    int64 TaskId = 5; //任务id 在TaskResult中回传
+}
+

+ 10 - 0
proto/wecom/WGetWeChatsReq.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+// 定义消息类型 GetWeChatsReq
+message GetWeChatsReqMessage {
+  EnumAccountType AccountType = 1; // 对应AccountType字段
+  string id = 2;          // 对应id字段
+}

+ 31 - 0
proto/wecom/WGetWeChatsResp.proto

@@ -0,0 +1,31 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+// 定义消息类型 GetWeChatsResp
+message GetWeChatsRespMessage {
+  string msgType = 1;           // 对应msgType字段
+  repeated Message message = 2; // 对应message字段, 是个Json数组,使用repeated类型
+}
+
+// 定义单个微信用户的消息格式
+message Message {
+  int32 accountid = 1;     // 对应accountid字段
+  string alias = 2;        // 对应alias字段
+  string avatar = 3;       // 对应avatar字段
+  string brand = 4;        // 对应brand字段
+  int32 cid = 5;           // 对应cid字段
+  string corpid = 6;       // 对应corpid字段
+  string deviceid = 7;     // 对应deviceid字段
+  string devnickname = 8;  // 对应devnickname字段
+  int32 gender = 9;        // 对应gender字段
+  int32 id = 10;           // 对应id字段
+  int32 isonline = 11;     // 对应isonline字段
+  string job = 12;         // 对应job字段
+  int64 login_time = 13;   // 对应login_time字段(作为时间戳)
+  int64 modify_time = 14;  // 对应modify_time字段(作为时间戳)
+  string module = 15;      // 对应module字段
+  string name = 16;        // 对应name字段
+  string phone = 17;       // 对应phone字段
+  string wxid = 18;        // 对应wxid字段
+}

+ 13 - 0
proto/wecom/WGroupMemberAddNotice.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WConversationPushNotice.proto";
+
+message GroupMemberAddNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; // 群聊remoteId
+    string ConvName = 3;
+    repeated ConvMemberMessage Members = 4; // 群成员
+}
+

+ 13 - 0
proto/wecom/WGroupMemberDelNotice.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WConversationPushNotice.proto";
+
+message GroupMemberDelNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; // 群聊remoteId
+    string ConvName = 3;
+    repeated ConvMemberMessage Members = 4; // 群成员
+}
+

+ 13 - 0
proto/wecom/WGroupMemberPushNotice.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WConversationPushNotice.proto";
+
+message GroupMemberPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; // 群聊remoteId
+    repeated ConvMemberMessage Members = 3; // 群成员
+    int64 TaskId = 4;
+}
+

+ 32 - 0
proto/wecom/WHistoryMsgPushNotice.proto

@@ -0,0 +1,32 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+
+message ChatMessage {
+    int64 ConvId = 1; // 会话RemoteId
+    int64 SenderId = 2; // 消息发送者Id
+    EnumContentType ContentType = 3; // 发送的消息内容类型
+    bytes Content = 4; // 内容 二进制流
+    int64 MsgId = 5; //服务端的主键id
+    int64 MsgRemoteId = 6; // 消息唯一id
+    int64 CreateTime = 7; // 消息时间
+    string SenderName = 8; // 消息发送者名称
+    int64 RefId = 9; // 引用消息的id
+    int32 Flag = 10;
+    bool IsRevoke = 11;
+    int64 ConvLocalId = 12; // 会话的LocalId
+}
+
+message HistoryMsgPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated ChatMessage Messages = 2;
+    //int32 Size = 3; // 页大小,固定20
+    int32 Count = 4; // 总数,只在获取单个会话时有用,获取全部会话的时候不准确
+    //int32 Page = 5; // 页码,从0开始
+    int64 ConvId = 6; // 会话RemoteId
+    bool HasMore = 7; //
+    int64 ConvLocalId = 8; // 会话的LocalId
+    int64 TaskId = 9;
+}

+ 13 - 0
proto/wecom/WJoinGroupInviteTask.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+
+message JoinGroupInviteTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; //会话 RemoteId
+    int64 Sender = 3; //消息发送者RemoteId
+    string Url = 4; // 邀请链接
+    int64 TaskId = 5; // 发送给手机端的时候需要赋值,
+}

+ 14 - 0
proto/wecom/WMsgRevokeNotice.proto

@@ -0,0 +1,14 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+
+message MsgRevokeNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; // 会话RemoteId
+    int64 MsgId = 3; //服务端的主键id
+    int64 MsgRemoteId = 4; // 消息唯一id
+    int32 Flag = 5;
+    int64 LocalId = 6; // 会话LocalId
+}

+ 10 - 0
proto/wecom/WMsgRevokeTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message MsgRevokeTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 RemoteId = 2; // 消息remoteId
+    int64 TaskId = 3; //任务id 在TaskResult中回传
+}
+

+ 12 - 0
proto/wecom/WNewCustomerAddedNotice.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WCustomerPushNotice.proto";
+
+message NewCustomerAddedNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    //int32 UnRead = 2; // 新客户未读数量
+    CustomerMessage Contact = 3;
+}
+

+ 12 - 0
proto/wecom/WNewCustomerPushNotice.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WCustomerPushNotice.proto";
+
+message NewCustomerPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated CustomerMessage Contacts = 2; // 好友信息模型 多个
+    int64 TaskId = 3;
+}
+

+ 10 - 0
proto/wecom/WOneWayCustomerPushNotice.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message OneWayCustomerPushNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated int64 Ids = 2; // 单向好友RemoteId
+    int64 TaskId = 3;
+}
+

+ 22 - 0
proto/wecom/WPhoneActionTask.proto

@@ -0,0 +1,22 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+enum EnumPhoneAction {
+    None = 0; // 空
+    Reboot = 1; // 重启手机
+    UploadLog = 2; // 上传日志
+    UploadFile = 3; // 上传本地文件
+    CleanAppCache = 4; // 清除客服系统的图片缓存
+    CleanWxCache = 5; // 清除微信的图片视频缓存
+    CleanFileUrlCache = 6; // 清除手机缓存的文件url(用于防止重复上传)
+    //PhoneCall = 7; //
+}
+message PhoneActionTaskMessage {
+    int64 WxId = 1;
+    string Imei = 2; // 备用,用wxid或imei来定位手机
+    EnumPhoneAction Action = 3; // 指令
+    string StrParam = 4; // 字符串参数,后续扩展用
+    int32 IntParam = 5; // 整型参数,后续扩展用
+    int64 TaskId = 6;
+}

+ 8 - 0
proto/wecom/WPhoneStateTask.proto

@@ -0,0 +1,8 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PhoneStateTaskMessage {
+    int64 WxId = 1; //
+    string Imei = 2; // WechatId和imei用于服务端选择通道,对客户端无用
+}

+ 13 - 0
proto/wecom/WPhoneStateTaskResultNotice.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PhoneStateTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    string Imei = 2; //
+    int32 BatteryLevel = 3; // 剩余电量百分比
+    int32 ChargingState = 4; // 0 未知 1 充电 2 满电 3 未充电
+    string NetType = 5; // 联网方式 4G WIFI
+    int64 SdcardFree = 6; // 外部存储(sdcard)剩余空间字节数
+    int64 SdcardTotal = 7; // 外部存储(sdcard)总空间字节数
+}

+ 12 - 0
proto/wecom/WPhoneStateWarningNotice.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PhoneStateWarningNoticeMessage {
+    int64 WxId = 1; //
+    string Imei = 2; //
+    int32 BatteryLevel = 3; // 剩余电量百分比
+    int32 ChargingState = 4; // 0 未知 1 充电 2 满电 3 未充电
+    string NetType = 5; // 联网方式 4G WIFI
+    int64 SdcardFree = 6; // 外部存储(sdcard)剩余空间字节数
+}

+ 26 - 0
proto/wecom/WPostDeviceInfoNotice.proto

@@ -0,0 +1,26 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PostDeviceInfoNoticeMessage {
+    string PhoneBrand = 1; // 手机品牌
+    string PhoneModel = 2; // 手机型号
+    int32 OSVerNumber = 3;
+    repeated DeviceAppInfoMessage AppInfos = 4; // App信息
+    string NetType = 5;
+    int64 WxId = 6; // 微信id
+    string IMEI = 7;
+    string IMSI1 = 8; // SIM卡1的IMSI
+    string IMSI2 = 9; // SIM卡2的IMSI,
+    string Number1 = 10; // SIM卡1的手机号,有可能读不到
+    string Number2 = 11; // SIM卡2的手机好,有可能读不到
+    bool IsHook = 12;
+    bool WxSupport = 13;
+
+    message DeviceAppInfoMessage {
+        string PackageName = 1;
+        string AppName = 2;
+        int32 VerNumber = 3;
+        string Version = 4;
+    }
+}

+ 8 - 0
proto/wecom/WPostMessageReadNotice.proto

@@ -0,0 +1,8 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PostMessageReadNoticeMessage {
+    int64 WxId = 1; // 所属wx号
+    int64 ConvId = 2; // 会话id
+}

+ 37 - 0
proto/wecom/WPostSnsTask.proto

@@ -0,0 +1,37 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PostSnsTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    string Content = 2; //发布的文案
+    MediaMessage Media = 3; //携带的图片、视频、链接等资源
+    string Comment = 4; // 评论 TODO: 暂未实现
+    VisibleMessage Visible = 5; // 可见范围
+    int64 TaskId = 6; //任务id 在TaskResult中回传
+    PoiMessage Poi = 7; // 地理信息 TODO: 暂未实现
+}
+
+message MediaMessage {
+    EnumAttachType Type = 1; //附件类型
+    repeated string Content = 2; //资源url,注意次序![视频url,缩略图url];[图片url,图片url,..];[链接url;标题;图片url]
+    //附件类型
+    enum EnumAttachType {
+        Picture = 0; //图片
+        Video = 1; //短视频
+        Link = 2; //链接
+    }
+}
+
+message VisibleMessage {
+    repeated int64 userIds = 1;
+    repeated int64 labelIds = 2;
+}
+
+message PoiMessage {
+    string City = 1; // 城市
+    string Address = 2; // 地址
+    string PoiName = 3; // 显示的名称
+    double Lon = 4; // 经度
+    double Lat = 5; // 纬度
+}

+ 14 - 0
proto/wecom/WPostSnsTaskResultNotice.proto

@@ -0,0 +1,14 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PostSnsTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+    int64 SnsId = 5; //
+    string PostId = 6; //
+    int64 CommentId = 7;
+}
+

+ 9 - 0
proto/wecom/WPostSnsTaskTask.proto

@@ -0,0 +1,9 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PostSnsTaskTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 SnsId = 2; //发布的企业朋友圈id
+    int64 TaskId = 6; //任务id 在TaskResult中回传
+}

+ 9 - 0
proto/wecom/WPullMyQrCodeTask.proto

@@ -0,0 +1,9 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+// 通用Trigger任务消息
+message PullMyQrCodeTaskMessage {
+    int64 WxId = 1; //
+    //int32 Style = 2;
+}

+ 11 - 0
proto/wecom/WPullMyQrCodeTaskResultNotice.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+// 通用Trigger任务消息
+message PullMyQrCodeTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 4; // 错误内容描述 获取 成功时附带的结果内容
+    string Url = 5; //
+}

+ 9 - 0
proto/wecom/WPullMySnsListTask.proto

@@ -0,0 +1,9 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PullMySnsListTaskMessage {
+    int64 WxId = 1; //
+    int64 Seq = 2; // 起始位置上一条朋友圈的序列号,第一次拉取为-1
+    int64 TaskId = 3;
+}

+ 50 - 0
proto/wecom/WPullMySnsListTaskResultNotice.proto

@@ -0,0 +1,50 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PullMySnsListTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    repeated SnsInfoMessage SnsList = 4;
+    int64 NextSeq = 5; // 下一页起始Seq
+    int64 TaskId = 6;
+}
+
+message SnsInfoMessage {
+    int64 Author = 1;
+    string Content = 2;
+    repeated SnsMediaInfoMessage Images = 3;
+    SnsMediaInfoMessage Link = 4;
+    SnsMediaInfoMessage Video = 5;
+    repeated SnsCommentMessage Comments = 6;
+    repeated SnsLikeMessage Likes = 7;
+    int64 SnsId = 8;
+    int32 Time = 9;
+    string PostId = 10;
+    int32 Type = 11; // 0 员工发表,2 企业发表
+    // SnsPoiInfo poi 位置信息
+    // repeated int64 visibleIds 可见范围
+}
+
+message SnsMediaInfoMessage {
+    string ThumbImg = 1; // 缩略图地址
+    string Url = 2; // 大图地址,链接地址 视频地址等
+    string Desc = 3; // 描述,标题等
+    //string mediaId = 4; // 媒体id
+}
+
+message SnsCommentMessage {
+    int64 FriendId = 1; // 评论人的微信号
+    string Content = 2; // 评论内容
+    int64 CommentId = 3; // 微信本地数据库的id
+    int64 ReplyCommentId = 4; // 回复的微信本地数据库的id
+    int64 ReplyWxId = 5; // 评论对象的微信号
+    int32 Time = 6; // 评论时间
+    string PostId = 7;
+}
+
+message SnsLikeMessage {
+    int64 FriendId = 1;
+    int32 Time = 2;
+}

+ 9 - 0
proto/wecom/WPullSnsTaskListTask.proto

@@ -0,0 +1,9 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message PullSnsTaskListTaskMessage {
+    int64 WxId = 1; //
+    bool ShowAll = 2; // 只有未发表 或 全部
+    int64 TaskId = 3;
+}

+ 19 - 0
proto/wecom/WPullSnsTaskListTaskResultNotice.proto

@@ -0,0 +1,19 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+import "WPullMySnsListTaskResultNotice.proto";
+option go_package = "./workphone/wecom";
+
+message PullSnsTaskListTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    repeated SnsTaskMessage TaskList = 4;
+    int64 TaskId = 6;
+}
+
+message SnsTaskMessage {
+    int64 Author = 1;
+    SnsInfoMessage SnsInfo = 2;
+    bool Posted = 3; // 是否已发表
+    //int32 PostCnt = 4; // 成员发表统计
+}

+ 15 - 0
proto/wecom/WQunFaTask.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+import "WTransport.proto";
+option go_package = "./workphone/wecom";
+
+message TalkMessage {
+    EnumContentType ContentType = 1; // 消息类型 Text Picture Voice Video Link File NameCard WeApp Location
+    bytes Content = 2; // 消息内容 文本,url(图片 视频 语音 文件),名片wxid,json(语音 文件 链接 小程序 位置)
+}
+message QunFaTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    repeated TalkMessage Msgs = 2;
+    repeated int64 ConvId = 3; //会话 RemoteId
+    int64 TaskId = 4; //
+}

+ 10 - 0
proto/wecom/WRedirectNotice.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message RedirectNoticeMessage {
+    int32 Type = 1; // 类型,0:临时变更,1:永久变更
+    string ServerUrl = 2; // 业务服务器地址
+    int32 ServerPort = 3; // 业务服务器端口
+    //string UploadUrl = 4;
+}

+ 10 - 0
proto/wecom/WRunFunCardTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message RunFunCardTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 MsgId = 2; // 消息remoteid
+    int64 TaskId = 3; //任务id 在TaskResult中回传
+}
+

+ 11 - 0
proto/wecom/WSearchMsgTask.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+import "WTransport.proto";
+option go_package = "./workphone/wecom";
+
+message SearchMsgTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; //会话Id
+    string Keyword = 3; //
+    int64 TaskId = 4; //
+}

+ 27 - 0
proto/wecom/WSearchMsgTaskResultNotice.proto

@@ -0,0 +1,27 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+import "WHistoryMsgPushNotice.proto";
+option go_package = "./workphone/wecom";
+
+message ConvMessage {
+    int64 Id = 1; //
+    int64 RemoteId = 2; // 单聊=联系人RemoteId, 群聊=公司id,部门id或其他
+    string Name = 3;
+    string Avatar = 4;
+    int32 Type = 5; // 0 单聊 1 群聊
+}
+
+message SearchResult{
+    ConvMessage conv = 1;
+    repeated ChatMessage Msgs = 2;
+}
+
+message SearchMsgTaskResultNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    string Keyword = 2; //
+    bool Success = 3; //
+    string ErrMsg = 4;
+    repeated SearchResult Results = 5;
+    int64 TaskId = 6;
+}
+

+ 10 - 0
proto/wecom/WSendFriendVerifyTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message SendFriendVerifyTaskMessage {
+    int64 WxId = 1; //
+    int64 RemoteId = 2; // 客户RemoteId
+    string Msg = 3; // 招呼语, 缺省:我是xxx公司的xxx,添加我的企业微信与我联系吧。
+    int64 TaskId = 4;
+}

+ 10 - 0
proto/wecom/WSetUserMemoTask.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message SetUserMemoTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 RemoteId = 2; // 联系人
+    string Memo = 3; // 备注
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+}

+ 13 - 0
proto/wecom/WSnsCommentTask.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message SnsCommentTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 SnsId = 2; // 朋友圈id
+    string PostId = 3; // 朋友圈postid
+    string Comment = 4; // 评论
+    int64 RefWxId = 5; // 回复的好友id
+    int64 RefCommentId = 6; // 回复的评论id
+    int64 TaskId = 7; //任务id 在TaskResult中回传
+}

+ 14 - 0
proto/wecom/WSnsCommentTaskResultNotice.proto

@@ -0,0 +1,14 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message SnsCommentTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+    int64 SnsId = 5; //
+    int64 CommentId = 6;
+    string PostId = 7;
+}
+

+ 11 - 0
proto/wecom/WSnsLikeTask.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message SnsLikeTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 SnsId = 2; // 朋友圈id
+    string PostId = 3; // 朋友圈postid
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+}
+

+ 17 - 0
proto/wecom/WSnsMsgNotice.proto

@@ -0,0 +1,17 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+import "WTransport.proto";
+option go_package = "./workphone/wecom";
+
+message SnsMsgNoticeMessage {
+    int64 WxId = 1; //
+    int32 Type = 2; // 类型:1 评论,2 点赞
+    int64 SnsId = 3;
+    int64 FriendId = 4; // 评论人的微信号
+    string Content = 5; // 评论内容
+    int64 CommentId = 6; // 微信本地数据库的id
+    int64 ReplyCommentId = 7; // 回复的微信本地数据库的id
+    int64 ReplyWxId = 8; // 评论对象的微信号
+    int32 Time = 9; // 评论时间
+    string PostId = 10; // sns postid
+}

+ 12 - 0
proto/wecom/WSnsNotifyNotice.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+import "WPullMySnsListTaskResultNotice.proto";
+option go_package = "./workphone/wecom";
+
+message SnsNotifyNoticeMessage {
+    int64 WxId = 1; //
+    string Content = 2; // 错误内容描述 获取 成功时附带的结果内容
+    SnsInfoMessage SnsInfo = 3;
+    int32 Type = 4;
+}
+

+ 15 - 0
proto/wecom/WTalkToFriendTask.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+import "WTransport.proto";
+option go_package = "./workphone/wecom";
+
+message TalkToFriendTaskMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int64 ConvId = 2; //会话 RemoteId
+    int64 LocalId = 3; //会话id
+    EnumContentType ContentType = 4; // 消息类型 Text Picture Voice Video Link File NameCard WeApp Location Quote
+    bytes Content = 5; // 消息内容 文本,url(图片 视频 语音 文件),名片wxid,json(语音 文件 链接 小程序 位置)
+    int64 RefId = 6; // 引用消息id
+    repeated int64 AtSomeOne = 7; // 群聊@某人 0表示@所有人
+    int64 TaskId = 9; // 发送给手机端的时候需要赋值,
+}

+ 16 - 0
proto/wecom/WTalkToFriendTaskResultNotice.proto

@@ -0,0 +1,16 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+message TalkToFriendTaskResultNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    bool Success = 2; // 是否成功
+    EnumErrorCode Code = 3; // 错误码 Success = true 忽略
+    string ErrMsg = 4; // 错误内容描述 获取 成功时附带的结果内容
+    int64 TaskId = 5; // 业务的id,通用的。
+    int64 ConvId = 6; // 会话 RemoteId
+    int64 MsgId = 7; // 消息id
+    int64 MsgRemoteId = 8; // 消息RemoteId
+    int64 CreateTime = 9; // 消息发送时间
+}

+ 15 - 0
proto/wecom/WTaskResultNotice.proto

@@ -0,0 +1,15 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+import "WTransport.proto";
+message TaskResultNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    EnumMsgType TaskType = 2; //原来执行的任务的类型
+    int64 TaskId = 3; // 业务的id,通用的。
+    bool Success = 4; // 是否成功
+    EnumErrorCode Code = 5; // 错误码 Success = true 忽略
+    string ErrMsg = 6; // 错误内容描述
+    string Ext = 7; // 自定义返回数据 string
+    int64 ExtId = 8; // 自定义返回数据 long
+}

+ 230 - 0
proto/wecom/WTransport.proto

@@ -0,0 +1,230 @@
+syntax = "proto3";
+import "google/protobuf/any.proto";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+//根传输消息
+message TransportMessage {
+    int64 Id = 1; //消息Id(发送方内保持自增),请求中传入,响应中传回相同值
+    string AccessToken = 2; //设备通信token
+    EnumMsgType MsgType = 3; //承载的具体消息类型
+    google.protobuf.Any Content = 4; //具体的消息数据
+    int64 RefMessageId = 5; //如果是针对某个消息的响应,这里写对应请求的id
+}
+
+//消息类型枚举,一般每一个消息类型都应该对应一个特定的message结构
+//20xx形式的消息类型需要 手机客户端开发者留意
+//30xx形式的消息类型需要 PC客户端开发者留意
+//10xx形式的消息类型需要 手机客户端、PC客户端开发者留意
+enum EnumMsgType {
+
+    UnknownMsg = 0; //未知消息
+
+    HeartBeatReq = 1001; //客户端发送的心跳包
+    MsgReceivedAck = 1002; //消息接收确认回复(接收或拒绝接收)
+    Error = 1003; //将错误单独提升为一种消息类型
+
+    // 设备客户端授权类消息
+    DeviceAuthReq = 1010; //设备(手机客户端、客服客户端)获取通信token请求
+    DeviceAuthRsp = 1011; //设备(手机客户端、客服客户端)获取通信token响应
+    DeviceExitNotice = 1012; //设备授权后退出(仅用于服务端内部)
+    AccountForceOfflineNotice = 1013; //账号强制下线通知
+    RedirectNotice = 1015; // 服务器重定向
+    UpgradeDeviceAppNotice = 1016; // 通知手机客户端软件升级
+    TriggerDeviceInfo = 1017;
+    DeviceAuthResult = 1018;
+
+    PhoneActionTask = 1020; // 通知手机端执行特定任务
+
+    GetWeChatsReq = 1021;
+    GetWeChatsResp = 1022;
+
+
+    ConfigPushNotice = 1030;
+    ConfigSetting = 1031;
+
+    // 手机客户端上传的通知类消息
+    WwOnlineNotice = 1100; //手机客户端微信上线通知
+    WwOfflineNotice = 1101; //手机客户端微信下线通知
+
+    // 手机端信息推送
+    PostDeviceInfoNotice = 1104; // 手机端推送当前安装版本
+    ContactPushNotice = 1105; //手机端推送联系人列表
+    DepartmentPushNotice = 1106; //手机端推送部门信息列表
+    CustomerPushNotice = 1107; //手机端推送客户联系人
+    UserLabelPushNotice = 1108; // 推送客户标签
+    CorporationPushNotice = 1109; // 推送客户公司信息
+    ConversationPushNotice = 1110; // 推送聊天会话(包含群聊信息)
+    NewCustomerPushNotice = 1111; // 手机端推送新客户列表
+    NewCustomerAddedNotice = 1112; // 新客户变更通知
+    CustomerAddNotice = 1113; // 客户新增
+    CustomerDelNotice = 1114; // 客户删除
+    UserLabelChangedNotice = 1115; // 客户标签变化推送,
+    DepartmentChangedNotice = 1116; // 部门信息变化推送,未实现
+    ConversationAddNotice = 1117; // 会话新增通知
+    WxFriendPushNotice = 1118; // 微信好友列表推送,用于从微信好友中添加客户
+    PostMessageReadNotice = 1119; // 手机上消息已读
+    FriendTalkNotice = 1120; //微信好友发来聊天消息
+    TalkToFriendNotice = 1121; // 手机上回复好友的聊天消息
+    TaskResultNotice = 1122; //任务执行结果通知
+    TalkToFriendTaskResultNotice = 1123; // 手机端向服务端通知聊天执行结果
+    DownloadFileResultNotice = 1124; // 文件下载任务或手机端自动下载结果推送
+    PullMyQrCodeTaskResultNotice = 1125; // 获取二维码结果推送
+    ConversationChangedNotice = 1126; // 会话变更通知
+    HistoryMsgPushNotice = 1127; // 消息记录通知
+    PullMySnsListTaskResultNotice = 1128; // 获取我的朋友圈列表结果返回
+    PullSnsTaskListTaskResultNotice = 1129; // 获取企业发布的朋友圈任务结果返回
+    PostSnsTaskResultNotice = 1130; // 发朋友圈结果返回 TODO: 目前snsId未获得,后期优化
+    SnsCommentTaskResultNotice = 1131; // 朋友圈评论结果返回 TODO: 评论id未获得,后期优化
+    GetSnsDataTaskResultNotice = 1132; // 获取单个朋友圈结果返回
+    SnsNotifyNotice = 1133; // 企业朋友圈通知消息 主要为管理员发布朋友圈任务给成员
+    UserLabelModifyTaskResultNotice = 1134; // 新增或修改个人标签结果返回
+    GetContactInfoTaskResultNotice = 1135;
+    PhoneStateTaskResultNotice = 1136; // 手机状态结果返回
+    PhoneStateWarningNotice = 1137; // 手机状态告警提示
+    MsgRevokeNotice = 1138; //消息撤回通知
+    SearchMsgTaskResultNotice = 1139;
+    SnsMsgNotice  = 1140;
+    GroupMemberPushNotice = 1141; // 群成员信息返回
+    AddEmojiTaskResultNotice = 1142; // 添加自定义表情结果返回
+    VoiceTextNotice = 1143; // 语音消息转文字内容推送
+    CustomerGroupPushNotice = 1150; // 推送客户群
+    GroupMemberAddNotice = 1151; //入群通知
+    GroupMemberDelNotice = 1152; //退群通知
+    ConversationInfoNotice = 1153; //会话信息
+    OneWayCustomerPushNotice = 1155; //单向客户id
+
+
+    // 推送给手机端的任务
+    TriggerAccountPushTask = 1200; // 触发手机推送微信账号登陆信息
+    TriggerContactPushTask = 1201; // 触发手机推送联系人列表任务
+    TriggerCustomerPushTask = 1202; // 触发手机推送客户列表任务
+    TriggerConversationPushTask = 1203; // 触发手机推送会话列表任务
+    TriggerWechatFriendPushTask = 1204; // 触发手机推送微信好友列表任务
+    TriggerHistoryMsgPushTask = 1205; // 通知手机推送聊天记录
+    TriggerMessageReadTask = 1206; // 通知手机将某个聊天窗口置为已读
+    TriggerUserLabelTask = 1207; // 触发手机推送客户标签
+    TriggerNewCustomerTask = 1208; // 触发手机推送新客户
+    TriggerCustomerGroupTask = 1209; // 触发手机推送客户群
+
+    TalkToFriendTask = 1210; //给好友发消息任务
+    DownloadFileByUrlTask = 1211; // 通过url和authkey下载文件(图片,视频)
+    DownloadFileByMsgIdTask = 1212; // 通过消息Id下载文件(图片,视频)
+    AddCustomerFromWxTask = 1214; // 添加客户-从微信好友中添加
+    AddCustomerFromSearchTask = 1215; // 添加客户-通过手机号搜索添加微信
+    PullMyQrCodeTask = 1216; //服务端主动要求手机上传当前账号的二维码
+    ChatRoomActionTask = 1217; // 群聊管理
+    PullMySnsListTask = 1218; // 获取我的朋友圈列表
+    PullSnsTaskListTask = 1219; // 获取企业管理员发布的朋友圈任务
+    PostSnsTask = 1220; // 发表朋友圈
+    PostSnsTaskTask = 1221; //发表企业群发朋友圈
+    SnsLikeTask = 1222; // 朋友圈点赞
+    SnsCommentTask = 1223; // 朋友圈评论
+    DelSnsTask = 1224; // 删除朋友圈
+    DelSnsCommentTask = 1225; // 删除朋友圈评论
+    GetSnsDataTask = 1226; // 获取一条朋友圈内容
+    UserLabelDelTask = 1227; // 删除个人标签
+    UserLabelModifyTask = 1228; // 新增或修改个人标签
+    UserLabelSetTask = 1229; // 设置标签任务(基于标签)
+    AddCustomerByIdTask = 1230; // 通过微信好友的openid添加客户
+    GetContactInfoTask = 1231; // 获取联系人信息
+    AcceptCustomerTask = 1232; // 通过新客户验证
+    UserSetLabelTask = 1233; // 联系人(客户)设置标签(基于客户)开发中
+    SetUserMemoTask = 1234; // 修改备注 开发中
+    PhoneStateTask = 1235; // 获取手机状态
+    MsgRevokeTask = 1236; // 消息撤回
+    SearchMsgTask = 1237; // 消息搜索
+    AddCustomerByGroupTask = 1238; //外部群加客户
+    ForwardMsgTask = 1239; // 转发消息
+    ForwardMultiTask = 1240; // 多条转发
+    GetGroupMemberTask = 1241; // 获取群聊成员信息
+    AddEmojiTask = 1242; //添加自定义表情
+    VoiceTransTextTask = 1243; // 语音消息转文字
+    JoinGroupInviteTask = 1244; // 加入群邀请
+    DelCustomerTask = 1245; // 删除客户
+    SendFriendVerifyTask = 1246; // 发送好友验证
+    GetConversationInfoTask = 1250; // 请求具体群聊的详细信息
+    GetExtUserIdTask = 1251; // 获取外部userId
+    GetExtUserIdTaskResult = 1252; // 获取外部userId返回结果
+    RunFunCardTask = 1253; // 执行App功能卡片(当前只支持 群发助手的群发通知)
+    DaKaTask = 1255; // 打卡任务
+}
+
+// 全局错误码表
+enum EnumErrorCode {
+    Success = 0; //无错误
+    NoRight = 1001; //无权限
+    InvalidParam = 1002; //数据信息不合法
+    InternalError = 1003; //内部处理错误
+    TargetNotOnline = 1004; //发送消息或指令时对方不在线
+    InfoNotExists = 1005;
+}
+
+// 性别枚举
+enum EnumGender {
+    UnknownGender = 0; //未知
+    Male = 1; //男
+    Female = 2; //女
+}
+
+// 聊天内容类型
+enum EnumContentType {
+    UnknownContent = 0; // 未知内容
+    Text = 1; // 文本内容
+    Picture = 2; // 图片消息
+    Voice = 3; // 语音消息
+    Video = 4; // 视频消息
+    System = 5; //系统消息
+    Link = 6; // 链接消息
+    LinkExt = 7; // 扩展的链接消息(小程序分享等),内容为xml格式,暂未使用
+    File = 8; // 文件发送
+    NameCard = 9; // 名片
+    Location = 10; // 位置信息
+    LuckyMoney = 11; // 红包
+    MoneyTrans = 12; // 转账
+    WeApp = 13; // 小程序
+    Emoji = 14; //
+    RoomManage = 15; // 群管理消息
+    Sys_LuckyMoney = 16; // 领取红包消息
+    RoomSystem = 17; // 群聊系统消息
+    BizLink = 18; // 公众号文章
+    AudioCall = 19; // 语音通话
+    VideoCall = 20; // 视频通话
+    NotifyMsg = 21; // 服务通知
+    QuoteMsg = 22; // 引用通知
+    ForwardMsg = 23; // 转发的消息记录
+    SnsNotify = 24; // 朋友圈通知
+    ShiPinHao = 25; // 视频号消息
+    AppFunCard = 26; // 功能卡片
+    UnSupport = 99; // 不支持的消息
+}
+
+// 设备 ~ 微信号 在线状态枚举
+enum EnumOnlineState {
+    UnknownState = 0; // 未知,在条件中可认为是全部
+    Online = 1; // 在线
+    Offline = 2; // 离线
+}
+
+// 账号类型
+enum EnumAccountType {
+    UnknownAccountType = 0; // 未知
+    Main = 1; // 主账号
+    SubUser = 2; // 子账号
+}
+
+// 消息发送状态
+enum EnumSendStatus {
+    NoAction = 0x00; // 无状态
+    Sending = 0x01; // 发送中
+    SendSuccess = 0x11; // 发送成功
+    SendError = 0x10; // 发送失败
+}
+
+//被强制下线的原因
+enum EnumForceOfflineReason {
+    NoReason = 0; //就是要下线你 
+    TickedByOther = 1; //别处登录挤下线了 
+    ByReAlloc = 2; // 被重新分配
+    ServiceExpired = 3; // 服务到期
+}

+ 8 - 0
proto/wecom/WTriggerConversationPushTask.proto

@@ -0,0 +1,8 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+// 定义消息类型 TriggerConversationPushTask
+message TriggerConversationPushTaskMessage {
+  string WxId = 1;
+}

+ 8 - 0
proto/wecom/WTriggerCustomerPushTask.proto

@@ -0,0 +1,8 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+// 定义消息类型 TriggerCustomerPushTask
+message TriggerCustomerPushTaskMessage {
+  string WxId = 1;
+}

+ 12 - 0
proto/wecom/WTriggerHistoryMsgPushTask.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message TriggerHistoryMsgPushTaskMessage {
+    int64 WxId = 1; //
+    int64 ConvId = 2; // 会话RemoteId
+    int64 RefMsgId = 3; // 起始消息remoteId
+    int64 LocalId = 4; //会话LocalId
+    int32 Flag = 6; // 备用
+    int64 TaskId = 7;
+}

+ 8 - 0
proto/wecom/WTriggerMessageReadTask.proto

@@ -0,0 +1,8 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message TriggerMessageReadTaskMessage {
+    int64 WxId = 1; // 所属wx号
+    int64 ConvId = 2; // 会话id (注意:不是RemoteId)
+}

+ 16 - 0
proto/wecom/WUpgradeDeviceAppNotice.proto

@@ -0,0 +1,16 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+
+message DeviceAppUpgradeMessage {
+    int32 VerNumber = 1; // 版本号 
+    string Version = 2; // 版本名称
+    string PackageName = 3; // 包名称
+    string PackageUrl = 4; // 软件包地址
+}
+
+message UpgradeDeviceAppNoticeMessage {
+    string WxId = 1;
+    string IMEI = 2;
+    repeated DeviceAppUpgradeMessage AppInfos = 3;
+}

+ 10 - 0
proto/wecom/WUserLabelChangedNotice.proto

@@ -0,0 +1,10 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WConversationPushNotice.proto";
+
+message UserLabelChangedNoticeMessage {
+    int64 WxId = 1; // 设备企业WX号
+    int32 Type = 2; // 0 企业标签,1 个人标签
+}
+

+ 11 - 0
proto/wecom/WUserLabelDelTask.proto

@@ -0,0 +1,11 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message UserLabelDelTaskMessage {
+    int64 WxId = 1; // 商家所属企业Wx号
+    int64 LabelId = 2;
+    int64 TaskId = 3;
+}
+

+ 12 - 0
proto/wecom/WUserLabelModifyTask.proto

@@ -0,0 +1,12 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message UserLabelModifyTaskMessage {
+    int64 WxId = 1; // 商家所属企业Wx号
+    string LabelName = 2; // 标签名 id!=0 会修改标签名
+    int64 LabelId = 3; // 标签id,0则新建标签(如存在同名标签则会失败)
+    int64 TaskId = 4;
+}
+

+ 13 - 0
proto/wecom/WUserLabelModifyTaskResultNotice.proto

@@ -0,0 +1,13 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WUserLabelPushNotice.proto";
+
+message UserLabelModifyTaskResultNoticeMessage {
+    int64 WxId = 1; //
+    bool Success = 2; // 是否成功
+    string ErrMsg = 3; // 错误内容描述 获取 成功时附带的结果内容
+    int64 TaskId = 4; //任务id 在TaskResult中回传
+    UserLabelMessage Label = 5;
+}
+

+ 27 - 0
proto/wecom/WUserLabelPushNotice.proto

@@ -0,0 +1,27 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message UserLabelPushNoticeMessage {
+    int64 WxId = 1; // 商家所属企业Wx号
+    repeated UserLabelGroupMessage LabelGroups = 2; // 用户标签组信息
+    int32 Page = 3;
+    bool Finished = 4;
+    int64 TaskId = 6;
+}
+
+message UserLabelMessage {
+    int64 Id = 1; // 标签id
+    string Name = 2; // 标签名称
+    int32 CreateTime = 3; // 创建时间
+    int64 GroupId = 4; // 标签组id
+}
+
+message UserLabelGroupMessage {
+    int64 Id = 1; // 标签组id
+    int64 Creator = 2; //标签组创建者
+    string Name = 3; // 标签组名称
+    int32 Type = 4; // 类型:1 企业共享标签组,2 个人标签组
+    repeated UserLabelMessage Labels = 5; // 组内用户标签信息
+}

+ 14 - 0
proto/wecom/WUserLabelSetTask.proto

@@ -0,0 +1,14 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message UserLabelSetTaskMessage {
+    int64 WxId = 1; // 商家所属企业Wx号
+    int64 LabelId = 3; // 标签id
+    bool IsCorp = 4; // 是否为公司标签
+    repeated int64 AddUsers = 5; // 新增的客户id
+    repeated int64 DelUsers = 6; // 删除的客户id
+    int64 TaskId = 7;
+}
+

+ 14 - 0
proto/wecom/WUserSetLabelTask.proto

@@ -0,0 +1,14 @@
+syntax = "proto3";
+package Im.Scrm.Ww.Proto; //命名空间约定
+option go_package = "./workphone/wecom";
+import "WTransport.proto";
+
+message UserSetLabelTaskMessage {
+    int64 WxId = 1; // 商家所属企业Wx号
+    int64 RemoteId = 2; // 联系人id
+    repeated int64 LabelId = 3;
+    //repeated int64 CorpLabelId = 3; // 公司标签id
+    //repeated int64 PrivLabelId = 4; // 个人标签id
+    int64 TaskId = 5;
+}
+

Some files were not shown because too many files changed in this diff