WeChatPadProMAX
github在线论坛https://nextflowagent.com
github在线论坛https://nextflowagent.com
    • WeChatPadPro 快速入门内测
    • WeChatPadProMAX 必读说明
    • # Webhook 接收消息 “响应体” 格式规范 · v1
    • # Webhook 签名与配置说明 · v1
    • Mac 登录接口使用指南
    • 视频下载示例
    • Admin
      • 延期授权码a
        POST
      • 删除授权码
        POST
      • 生成授权码
        POST
    • Login
      • 62登陆(账号或密码)
        POST
      • 62登陆(账号或密码), 并申请使用二维码验证
        POST
      • 62登陆(账号或密码), 重发验证码
        POST
      • 62登陆(账号或密码), 并申请使用SMS验证
        POST
      • 62登陆(账号或密码), 二维码验证校验
        POST
      • A16登陆(账号或密码) - android == 8.0.50
        POST
      • A16登陆(账号或密码) - android == 新版云函数
        POST
      • 开启自动心跳, 自动二次登录
        POST
      • 唤醒登陆(只限扫码登录)
        POST
      • 检测Mac二维码
        POST
      • 检测二维码
        POST
      • 新设备扫码登录
        POST
      • 新设备扫码确认登录
        POST
      • 获取62数据
        POST
      • 获取A16数据
        POST
      • 获取登陆缓存信息
        POST
      • 获取二维码(iPad 8.0.62 专用)
        POST
      • 获取二维码(iPad)
        POST
      • 获取二维码(iPad,海外)
        POST
      • 获取二维码(Mac)
        POST
      • 获取二维码(Mac,海外)
        POST
      • 获取二维码(安卓Pad-ppmt专用)
        POST
      • 获取二维码(安卓Pad-绕过验证码)
        POST
      • 获取二维码(Car)
        POST
      • 获取二维码(Windows)
        POST
      • 获取二维码(WinUnified-统一PC版)
        POST
      • 获取二维码(WindowsUwp-绕过验证码)
        POST
      • 获取二维码(iPad-绕过验证码)
        POST
      • 获取二维码(iPad-绕过验证码,海外)
        POST
      • 心跳包
        POST
      • 获取心跳日志
        GET
      • 长连接心跳包跳包
        POST
      • 退出登录
        POST
      • 初始化
        POST
      • 二次登陆
        POST
      • 提交登录验证码
        POST
    • Customized
      • 批量开小程序
    • Favor
      • 删除收藏
      • 获取搜藏信息
      • 读取收藏内容
      • 同步收藏
    • Finder
      • 评论
      • 评论
      • 获取Finder私信会话ID
      • 直播详情
      • 搜索列表
      • 发送私信文字
      • 主题列表
      • 关注
      • 查看指定内容
      • 评论列表/详情(支持RootCommentId翻页)
      • 推荐
      • 点赞
      • 用户搜索
      • 查看指定人首页
      • 用户中心
    • Friend
      • 添加/移除黑名单
      • 删除好友
      • 获取通讯录好友详情
      • 获取通讯录好友
      • 查询好友状态
      • 获取手机通讯录
      • 附近人
      • 通过好友请求
      • 搜索联系人
      • 添加联系人(发送好友请求)
      • 设置好友备注
      • 上传通讯录
    • FriendCircle
      • 朋友圈点赞/评论
      • 获取评论内容
      • 获取特定人朋友圈
      • 获取特定ID详情内容
      • 朋友圈首页列表
      • 发布朋友圈
      • 查询正在 评论转发的ID
      • 朋友圈操作
      • 朋友圈权限设置
      • 启动评论检查任务并转发评论
      • 朋友圈下载CDN视频
    • Group
      • 增加群成员(40人以内)
      • 同意进入群聊
      • 创建群聊
      • 删除群成员
      • 创建群聊
      • 获取群详情(不带公告内容)
      • 获取群信息(带公告内容)
      • 获取群成员详情
      • 获取群二维码
      • 获取群列表
      • 邀请群成员(40人以上)
      • 保存到通讯录
      • 群管理操作(添加、删除、转让)
      • 退出群聊
      • 扫码进群
      • 扫码进群(企业)
      • 群拍一拍功能
      • 转让群
      • 设置群公告
      • 设置群名称
      • 设置群备注(仅自己可见)
      • 设置群聊邀请开关
    • Label
      • 添加标签
      • 删除标签
      • 获取标签列表
      • 更新标签列表
      • 修改标签
    • Msg
      • 引用文本消息
      • 撤回消息
      • 群发消息
      • 发送文件(转发,并非上传)
      • 发送Cdn图片(转发图片)
      • 发送Cdn视频(转发视频)
      • 发送Emoji
      • 发送文本消息
      • 发送视频
      • 发送语音
      • 发送小程序消息
      • 分享名片
      • 发送分享链接消息
      • 分享位置
      • 发送分享视频消息
      • 启动自动同步
      • 同步消息
      • 发送图片
    • OfficialAccounts
      • 授权公众号登录
      • 关注
      • 阅读文章,返回 分享、看一看、阅读数据
      • 点赞文章,返回 分享、看一看、阅读数据
      • 获取公众号历史消息
      • 获取公众号历史消息HTML
      • JSAPIPreVerify
      • MpGetA8Key(获取文章key和uin)
      • OauthAuthorize
      • 二维码授权请求
      • 二维码授权确认
      • 取消关注
    • QWContact
      • QWApplyAddContact
      • QWAddContact
      • SearchQWContact
    • SayHello
      • 模式1-扫码
      • 模式3-v3\v4打招呼
    • TenPay
      • 自定义经营个人收款单
      • 获取加密信息
      • 抢红包(带参数)
      • 拆开红包
      • 查看红包
      • 打开红包不用key
      • 自定义商家收款单
    • Tools
      • CDN下载高清图片
      • 文件下载
      • 高清图片下载
      • 视频下载
      • 语音下载
      • 生成支付二维码
      • GetA8Key
      • 获取余额以及银行卡信息
      • GetBoundHardDevices
      • 获取CDN服务器dns信息
      • OauthSdkApp
      • OauthSdkApp
      • 第三方APP授权
      • 文件上传
      • 修改微信步数
    • User
      • 绑定QQ
      • 绑定邮箱
      • 换绑手机号
      • 检测微信登录环境
      • 删除登录设备
      • 获取所有在线wxid(需管理员 key)
      • 取个人信息
      • 获取在线信息
      • 取个人二维码
      • 登录设备管理
      • 隐私设置
      • ReportMotion
      • 发送手机验证码
      • 设置微信号
      • 修改密码
      • 修改个人信息
      • 修改头像
      • 验证密码
    • Webhook
      • 获取业务回调URL(按授权码)
      • 设置业务回调URL(按授权码)
      • 获取 Webhook 配置(按授权码)
      • 删除 Webhook 配置(按授权码)
      • 设置 Webhook 配置(按授权码)
      • 测试发送 Webhook 消息(按授权码)
    • Wxapp
      • AddAvatar
      • 小程序绑定增加手机号
      • 小程序云函数
      • 小程序删除手机号
      • DellAvatar
      • 查询游戏信用积分
      • GetAllMobile
      • GetRandomAvatar
      • 微信云闪付支付
      • GetUserOpenId
      • 获取小程序记录
      • 小程序获取小程序支付sessionid
      • 授权小程序(定制)
      • 小程序操作
      • UploadAvatarImg
      • 小程序获取HostSign
      • 新增小程序记录
      • 推送小程序支付
      • 获取付小程序款二维码
      • 扫码授权登录app或网页
    • WebSocket
    • 数据模型
      • Schemas
        • DelayAuthKeyModel
        • false
        • false
        • DeleteAuthKeyModel
        • GenAuthKeyModel
        • AndroidDeviceInfo
        • WXCTDUniftyAuthParmDoc
        • DelParamDoc
        • GetFavItemParamDoc
        • SyncParamDoc
        • CommentParamDoc
        • DecryptParamDoc
        • DefaultParamDoc
        • FinderGetTopicListParamDoc
        • FinderJoinLiveParamDoc
        • FinderGetMsgSessionIdParamDoc
        • FinderLiveDetailParamDoc
        • FinderSendTextParamDoc
        • GetCommentDetailParamDoc
        • LikeParamDoc
        • TargetUserPageParamDoc
        • BlacklistParamDoc
        • DefaultParamDoc
        • FriendRelationParamDoc
        • GetContractDetailparameterDoc
        • GetContractListparameterDoc
        • LbsFindParamDoc
        • PassVerifyParamDoc
        • SearchParamDoc
        • SendRequestParamDoc
        • SetRemarksParamDoc
        • UploadParamDoc
        • CdnSnsImageUploadParamDoc
        • CommentParamDoc
        • DownloadMediaModelDoc
        • GetCommnetParamDoc
        • GetDetailparameterDoc
        • GetIdDetailParamDoc
        • GetListParamDoc
        • MessagearameterDoc
        • MmSnsSyncParamDoc
        • OperationParamDoc
        • PrivacySettingsParamDoc
        • RequestParamsDoc
        • SnsPostItemDoc
        • SnsUploadParamDoc
        • SnsUploadVideoParamDoc
        • AddChatRoomParamDoc
        • ConsentToJoinParamDoc
        • CreateChatRoomParamDoc
        • FacingCreateChatRoomParamDoc
        • GetChatRoomParamDoc
        • MoveContractListParamDoc
        • OperateChatRoomAdminParamDoc
        • OperateChatRoomInfoParamDoc
        • QuitGroupParamDoc
        • ScanIntoGroupParamDoc
        • AddParamDoc
        • DeleteParamDoc
        • UpdateListParamDoc
        • SendPatParamDoc
        • UpdateNameParamDoc
        • SetChatroomAccessVerifyParamDoc
        • A16LoginParam
        • TransferGroupOwnerParamDoc
        • Data62LoginReq
        • Data62SMSAgainReq
        • Data62SMSVerifyReq
        • ExtDeviceLoginConfirmParam
        • GetQRReq
        • VerificationcodeParam
        • DefaultParamDoc
        • QuoteDoc
        • RevokeMsgParamDoc
        • SendAppMsgParamDoc
        • SendEmojiParamDoc
        • SendGroupMassMsgTextParamDoc
        • SendImageMsgParamDoc
        • SendNewMsgParamDoc
        • SendVideoMsgParamDoc
        • SendVoiceMessageParamDoc
        • ShareCardParamDoc
        • ShareLocationParamDoc
        • ShareVideoMsgParamDoc
        • SyncParam2Doc
        • SyncParamDoc
        • DefaultParamDoc
        • GetkeyParamDoc
        • ReadParamDoc
        • AddWxAppRecordParam
        • QWAddContactParam
        • QWApplyAddContactParam
        • AuthMpLoginParam
        • Model1Param
        • DefaultParam
        • Model2Param
        • GetMpHistoryMsgParam
        • SendRequestParam1
        • GetkeyParam
        • GeMaSkdPayQCodeParam
        • QRConnectParam
        • HongBaoParam
        • ReadParam
        • HongBaoTailParam
        • OpenwxhbParam
        • QrydetailwxhbParam
        • ReceivewxhbParam
        • SjSkdPayQCodeParam
        • UnionpayData
        • CdnDownloadImageParamDoc
        • DownloadAppAttachParamDoc
        • DownloadParamDoc
        • DownloadVoiceParamDoc
        • GetA8KeyParamDoc
        • HelperVerificationParamDoc
        • OauthSdkAppParamDoc
        • SetProxyParamDoc
        • SetStepParamDoc
        • ThirdAppGrantParamDoc
        • UploadParamDoc
        • BindMobileParam
        • BindQQParam
        • DelSafetyInfoParam
        • EmailParam
        • GetQRCodeParam
        • NewSetPasswdParam
        • NewVerifyPasswdParam
        • PrivacySettingsParam
        • ReportMotionParam
        • SendVerifyMobileParam
        • SetAlisaParam
        • UpdateProfileParam
        • UploadHeadImageParam
        • AddAvatarImgParam
        • AddAvatarParam
        • AddWxAppRecordParam
        • CheckVerifyCodeData
        • CloudCallParam
        • DefaultParam
        • DelMobileData
        • DellAvatarParam
        • AddAvatarImgParamDoc
        • GETCreditScoreParam
        • AddAvatarParamDoc
        • GetUserOpenIdParam
        • AddWxAppRecordParamDoc
        • GetWxAppRecordParam
        • CheckVerifyCodeDataDoc
        • GetpullPayParam
        • CloudCallParamDoc
        • JSOperateWxParam
        • OauthListParam
        • DefaultParamDoc
        • QrcodeAuthLoginParam
        • DelMobileDataDoc
        • SessionidQRParam
        • DellAvatarParamDoc
        • EmptyObject
        • ProxyInfo
        • GetUserOpenIdParamDoc
        • ResponseResult
        • GetWxAppRecordParamDoc
        • interface
        • GetpullPayParamDoc
        • WebhookConfig
        • JSOperateWxParamDoc
        • OauthListParamDoc
        • QrcodeAuthLoginParamDoc
        • SessionidQRParamDoc
        • UnionpayDataDoc
        • BusinessConfig
        • ResponseResult2
        • WebhookTestRequest

    # Webhook 签名与配置说明 · v1

    Webhook 签名与配置说明 · v1#

    本文定义 签名算法、安全校验、服务端配置项,并提供 JavaScript / Java / Python 的参考实现代码,直接可跑。
    搭配《Webhook 接收消息 “响应体” 格式规范 · v1》一起使用。

    一、签名算法(HMAC-SHA256)#

    平台在回调体中包含字段:Wxid、MessageType、Timestamp、Signature。
    你方需要据此进行验签。
    拼接明文:{Wxid}:{MessageType}:{Timestamp}(冒号分隔,原样字符串)
    算法:HMAC-SHA256
    密钥:你在控制台/配置中设置的 secret(共享密钥)
    输出:十六进制小写字符串,记为 expectSignature
    比较:expectSignature === body.Signature(常量时间比较)

    伪代码#

    bases = Wxid + ":" + MessageType + ":" + Timestamp
    expect = HMAC_SHA256_HEX_LOWER(secret, bases)
    assert expect == Signature

    时间窗口(反重放)#

    建议对 Timestamp 做时间偏移校验(如允许 ±15 分钟)。
    同时对 Data.messages[*].newMsgId 做去重(例如 LRU Set)。

    已校验的测试向量#

    使用 secret = "your-signature-secret":
    WxidMessageTypeTimestamp计算明文期望 Signature
    wxid_xxxxxxxxxxxxxxxxsync_message1757156304wxid_xxxxxxxxxxxxxxxx:sync_message:1757156304df5fdde88d2f3a9329cd0193969c0bac5a1d57e40cc6c28e181f478d3629c510
    wxid_xxxxxxxxxxxxxxxxsync_message1757156307wxid_xxxxxxxxxxxxxxxx:sync_message:175715630754cd72f857387f150ae84293ec35fb96e6347e9610ad2f1ee13025e245b72a80
    两个向量均已核对无误,可用于联调自测。

    二、服务端配置项(推荐)#

    支持以 环境变量 或 配置文件 形式注入。
    {
      "enabled": true,                 // 是否启用 webhook
      "url": "http://0.0.0.0:8000/webhook", // 你的回调地址(供自检/文档)
      "secret": "your-signature-secret",    // 验签共享密钥
      "includeSelfMessage": true,      // 是否接收自己发出的消息
      "messageTypes": ["*"],           // ["*"] 或具体枚举,如 ["sync_message"]
      "retryCount": 3,                 // 平台端或业务端重试策略参考值
      "timeout": 5,                    // 业务处理超时时间(秒)
      "timestampSkewSec": 900,         // 允许的时间偏移(秒),推荐 900 = 15 分钟
      "dedupeMax": 5000                // 去重缓存容量(按 newMsgId/msgId 组合)
    }
    生产环境建议:密钥从安全管道(如 KMS / Vault / Secret Manager)注入,不要写死在代码里。

    三、接口约定#

    接收端:POST /webhook(Content-Type: application/json)
    健康检查:GET /health
    响应:处理成功返回 200/JSON;验签失败返回 401;非法请求返回 400。
    示例成功响应:
    { "ok": true, "message": "Webhook received" }

    四、代码示例#

    以下三种语言的实现都包含:验签、时间窗口检查、去重、事件过滤、日志。你可以直接复制粘贴运行。

    4.1 JavaScript(Node.js + Express)#

    依赖:npm i express morgan(Node.js ≥ 18)。
    运行:

    4.2 Java(Spring Boot)#

    依赖:spring-boot-starter-web(Maven 或 Gradle 均可)。
    Maven 片段:
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    代码:
    运行:

    4.3 Python(Flask)#

    依赖:pip install flask(可选:pip install gunicorn)。
    运行:

    五、常见问题(FAQ)#

    Q1:验签失败怎么办?
    确认双方密钥一致、未多空格或换行。
    打印实际拼接的明文串进行对照。
    用上文测试向量快速自测。
    Q2:为何建议保留 rawContent?
    便于未知 msgType 的离线补 parser;线上只需先入库防丢。
    Q3:如何灰度/压测?
    同时配置两条回调 URL(灰度与正式),按比例放量,比较入库差异。
    Q4:幂等怎么做?
    以 newMsgId|msgId 做幂等键,使用 LRU Set 或持久化 KV(如 Redis)去重。

    六、变更日志#

    v1 (2025-09-07):首次发布,补充三语言示例与测试向量。
    修改于 2025-09-07 05:40:35
    上一页
    # Webhook 接收消息 “响应体” 格式规范 · v1
    下一页
    Mac 登录接口使用指南
    Built with