微信二次开发sdk,微信开发sdk,非ipad协议实现方案!
一、网络通讯协议
如上图,采用 datalength+databytes 的自定义长度的协议,其中:
datalength:紧跟其后的databytes的数据长度(不包含自身长度),占4字节
databytes:protobuf 3.0协议数据序列化后的数据内容,长度不限
二、网络应答模型
1、业务消息
服务端客户端间的消息大致分为以下四类:
1)通知类消息
通常由客户端发往服务器端,或者由服务器端发往客服客户端,接收方一般需要作出接收确认回复或不回复(默认成功异常时回复)。
2)客户端同步请求类消息
通常由手机客户端或客服客户端发出,服务端需要回复对应的响应消息。
3)服务器端指令类消息
通常是由服务器或者客服客户端发出的操作手机客户端的指令类消息,手机客户端收到后一般需要回复接收成功确认消息,并在后续执行完指令后回复发送结果通知消息。
客户端在与服务器建立连接后,需要先发送DeviceAuthReq请求获取accesstoken后才能正常进行后续通信,建立连接时的通信时序图如下:
2、心跳机制
已于服务器建立连接的客户端需要每隔1分钟发送一个心跳包,时序图如下:
三、Protobuf消息定义
所有业务消息都转化为protobuf消息进行序列化后传输,不同命令对应的消息使用protobuf的Any类型嵌套入根消息,接收方在收到根消息后根据命令码反序列化为相应类型消息。
消息结构定义基本约定:
1)使用proto3语法
2)package 命名空间统一采用Jubo.JuLiao.IM.Wx.Proto
3)消息命名采用Pascal命名法,例如 FirstName,LastName
4)时间字段统一用Unix-Timestamp形式
5)message类型名全部为对应MsgType+Message后缀,如MsgType=DeviceAuthReq的消息的消息结构名定义为 message DeviceAuthReqMessage{}
根消息(TransportMessage)
根消息代表最终直接序列化为网络字节流的消息,其中应包含基本的发送方信息(用于授权认证)和其包含的具体的业务命令消息及命令码标识。
所有的其他类型的消息都应该赋值到根消息的Content字段,并将MsgType字段设为对应值,之后将TransportMessage数据序列化做网络传输。接收方在收到消息后根据MsgType将Content内容反序列化成对应的强类型消息。
sdk功能模块请参考
1、基础消息类型
1、客户端发送的心跳包
HeartBeatReq = 1001;
2、消息接收确认回复(接收或拒绝接收)
MsgReceivedAck = 1002;
3、错误单独提升为一种消息类型
Error = 1003;
2、设备客户端授权类消息
1、设备(手机客户端、客服客户端)获取通信token请求
DeviceAuthReq = 1010;
2、设备(手机客户端、客服客户端)获取通信token响应
DeviceAuthRsp = 1011;
3、设备授权后退出(仅用于服务端内部)
DeviceExitNotice = 1012;
4、账号强制下线通知
AccountForceOfflineNotice = 1013;
3、手机客户端上传的通知类消息
1、手机客户端微信上线通知
WeChatOnlineNotice = 1020;
2、手机客户端微信下线通知
WeChatOfflineNotice = 1021;
3、微信个人号新增好友通知
FriendAddNotice = 1022;
4、微信个人号移除好友通知
FriendDelNotice = 1023;
5、微信好友发来聊天消息
FriendTalkNotice = 1024;
6、任务执行结果通知
TaskResultNotice = 1025;
7、手机上回复好友的聊天消息
WeChatTalkToFriendNotice = 1026;
8、有好友请求添加好友的通知
FriendAddReqeustNotice = 1027;
9、手机端向服务端通知聊天执行结果
TalkToFriendTaskResultNotice = 1028;
10、图片或视频消息的详细内容结果
RequestTalkDetailTaskResultNotice = 1029;
11、上传手机客户端上微信的二维码
PullWeChatQrCodeTaskResultNotice = 1030;
12、手机上发送了朋友圈通知
CircleNewPublishNotice = 1031;
13、手机上删除朋友圈通知
CircleDelNotice = 1032;
14、手机检测到有人点赞/取消点赞通知
CircleLikeNotice = 1033;
15、手机检测到有人评论/删除朋友圈通知
CircleCommentNotice = 1034;
16、消息标记为已读
PostMessageReadNotice = 1035;
17、联系人信息上传
ContactsInfoNotice = 1036;
18、群聊新增通知
ChatRoomAddNotice = 1037;
19、联系人标签新增,修改通知
ContactLabelAddNotice = 1038;
20、收钱任务执行结果通知
TakeMoneyTaskResultNotice = 1039;
21、朋友圈图片上传
CircleDetailNotice = 1040;
22、群聊删除通知
ChatRoomDelNotice = 1041;
23、群聊信息变更通知
ChatRoomChangedNotice = 1042;
24、群二维码
PullChatRoomQrCodeTaskResultNotice = 1043;
4、服务端、客服客户端发给设备的指令类消息
1、给好友发消息任务
TalkToFriendTask = 1070;
2、发送朋友圈任务
PostSNSNewsTask = 1071;
3、主动添加好友任务
AddFriendsTask = 1072;
4、发送朋友圈任务后数据回传
PostSNSNewsTaskResultNotice = 1073;
5、删除朋友圈
DeleteSNSNewsTask = 1074;
6、客户端或者服务端接受好友请求通知
AcceptFriendAddRequestTask = 1075;
7、群发消息任务
WeChatGroupSendTask = 1076;
8、执行养号动作命令
WeChatMaintenanceTask = 1077;
9、请求图片或视频消息的详细内容
RequestTalkDetailTask = 1078;
10、服务端主动要求手机上传当前登录的微信二维码
PullWeChatQrCodeTask = 1079;
11、触发手机推送好友列表任务
TriggerFriendPushTask = 1080;
12、触发手机推送朋友圈列表任务
TriggerCirclePushTask = 1081;
13、朋友圈评论删除任务
CircleCommentDeleteTask = 1082;
14、朋友圈评论删除任务反馈
CircleCommentDeleteTaskResultNotice = 1083;
15、朋友圈评论回复任务
CircleCommentReplyTask = 1084;
16、朋友圈评论回复反馈
CircleCommentReplyTaskResultNotice = 1085;
17、通知手机将某个聊天窗口置为已读
TriggerMessageReadTask = 1086;
18、消息撤回
RevokeMessageTask = 1087;
19、转发消息
ForwardMessageTask = 1088;
20、通知手机推送聊天记录
TriggerHistoryMsgPushTask = 1089;
21、获取群聊二维码
PullChatRoomQrCodeTask = 1090;
5、服务端通知执行的命令
1、服务端通知pc客户版本升级
UpgradeAppNotice = 1093;
2、通知手机客户端软件升级
UpgradeDeviceAppNotice = 1094;
3、清粉任务
PostFriendDetectTask = 1095;
4、终止清粉任务
PostStopFriendDetectTask = 1096;
5、删除设备通知
PostDeleteDeviceNotice = 1097;
6、朋友圈点赞任务
PostMomentsPraiseTask = 1098;
7、停止朋友圈点赞任务
PostStopMomentsPraiseTask = 1099;
8、养号任务停止
PostStopWeChatMaintenanceTask = 1100;
9、修改备注任务
ModifyFriendMemoTask = 1101;
10、领取红包或转账
TakeLuckyMoneyTask = 1200;
11、获取指定好友朋友圈
PullFriendCircleTask = 1201;
12、获取朋友圈图片
PullCircleDetailTask = 1202;
13、单条朋友圈点赞任务
CircleLikeTask = 1203;
14、触发手机推送群聊列表
TriggerChatroomPushTask = 1210;
15、请求具体群聊的详细信息
RequestChatRoomInfoTask = 1211;
16、获取联系人详细信息(不一定是好友,如群聊成员)
RequestContactsInfoTask = 1212;
17、群聊管理
ChatRoomActionTask = 1213;
18、群内加好友
AddFriendInChatRoomTask = 1214;
19、通讯录加好友
AddFriendFromPhonebookTask = 1215;
20、删除好友
DeleteFriendTask = 1216;
21、发红包
SendLuckyMoneyTask = 1217;
22、获取聊天消息的原始内容(主要是xml内容)
RequestTalkContentTask = 1218;
23、返回聊天消息的原始内容
RequestTalkContentTaskResultNotice = 1219;
24、转发消息内容
ForwardMessageByContentTask = 1220;
6、手机端主动发出的交互类消息
1、手机端推送好友列表
FriendPushNotice = 2026;
2、手机端推送当前安装版本
PostDeviceInfoNotice = 2027;
3、手机端回传检测清粉好友数
PostFriendDetectCountNotice = 2028;
4、手机回传朋友圈数据
CirclePushNotice = 2029;
5、手机回传朋友圈点赞数量
PostMomentsPraiseCountNotice = 2030;
9、手机端推送群聊列表
ChatroomPushNotice = 2031;
7、手机端推送标签列表
ContactLabelInfoNotice = 2032;
8、推送历史消息
HistoryMsgPushNotice = 2033;
9、群成员(陌生人)信息
ChatRoomMembersNotice = 2034;
项目地址:https://www.wuliaokankan.cn/url301/138.html
- 个人微信API接口
- 1、个人微信管理系统功能介绍
- 2、微信二次开发sdk,微信开发sdk,非ipad协议实现方案
- 3、微信群控云控客服开发SDK
- 4、sdk定制开发微信群控云控客服系统教程
- 5、微信多开客服crm系统SDK二次开发服务端接口
- 6、微信sdk,微信开发sdk,微信二次开发SDK
- 7、云控微信聚合聊天系统软件SDK
- 8、云控微信聚合聊天软件SDK
- 9、微信聚合多客服系统API接口
- 10、云客服聚合聊天微信开发SDK
- 11、微信ipad协议(稳定SDK非ipad协议调用API接口)
- 12、个人微信开发api接口
- 13、个人微信开发sdk
- 14、微信个人号多开云客服系统定制通信标准协议
- 15、微信群管理开发sdk
- 16、使用(微信二次开发SDK)快速开发一个微信多客服系统
- 17、群控微信二次开发sdk完整API
- 18、聚客通微信scrm客服系统通信协议
- 20、微信多客服系统SDK通信接口
- 21、微信SCRM多客服聊天系统手机微信端通信API
- 19、微信机器人SDK接口API
- 22、微信机器人开发sdk
- 23、微信开发sdk
- 24、非ipad协议版微信crm客服系统,可自由二次开发(含源码)
- 25、微信scrm客服系统服务端调用微信手机端sdk接口
- 26、微信SCRM客服系统
- 27、微信多客服系统服务端api调用接口
- 28、微信scrm客服系统客户端接口定义
- 29、微信scrm客服系统微信端个人号通信协议
- 30、微信淘宝客机器人开发教程
- 31、群控云控引擎二次开发SDK功能介绍
- 32、微信scrm系统微信端sdk接入教程