CMS对接企业微信,表单提交推送消息提醒

表单提交后没有及时通知,很容易错过客户线索。
本文介绍如何将CMS系统与企业微信对接,实现表单提交自动推送消息提醒,适合使用WordPress、Z-Blog、帝国CMS等常见建站程序的站长和运维人员,按步骤操作即可完成配置。

准备工作:获取企业微信接口凭证

开始配置前,需要在企业微信管理后台创建一个应用,并拿到三个关键参数。

  1. 登录企业微信管理后台,进入「应用管理」→「应用」→「自建」,点击「创建应用」。
  2. 填写应用名称(例如“网站表单通知”),选择可见范围(建议只选需要接收通知的成员或部门),点击创建。
  3. 创建后进入应用详情页,记录以下信息:
  • AgentId:应用ID,在应用详情页顶部显示。
  • Secret:应用密钥,点击“查看”并复制。
  • 企业ID:进入「我的企业」→「企业信息」,页面底部可找到 CorpID。

还需要一个接收消息的成员账号。
建议单独创建一个名为“表单通知”的成员,将其加入应用可见范围,后续推送消息时使用该成员的UserID(在「通讯录」中点击成员查看,或通过API获取)。

CMS端配置:以通用PHP表单为例

不同CMS的表单处理逻辑不同,但核心都是调用企业微信的message/send接口。
以下以原生PHP表单为例,WordPress可改用wp_remote_post,帝国CMS可写入自定义函数文件。

获取access_token

企业微信接口需要先获取access_token,有效期为7200秒,建议缓存。
新建wecom.php文件:

发送消息提醒

在表单提交成功的逻辑后,添加推送代码:

$corpid = '你的企业ID';
$secret = '你的应用Secret';
$agentid = '你的AgentId';
$to_user = '接收消息的UserID';

$token = getWecomToken($corpid, $secret);
if ($token) {
    $msg = [
        'touser' => $to_user,
        'msgtype' => 'text',
        'agentid' => $agentid,
        'text' => ['content' => "收到新表单提交:\n姓名:{$name}\n电话:{$phone}\n内容:{$message}"]
    ];
    $url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={$token}";
    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => json_encode($msg, JSON_UNESCAPED_UNICODE),
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ['Content-Type: application/json']
    ]);
    $result = curl_exec($ch);
    curl_close($ch);
    // 可记录日志便于排查
    file_put_contents('/tmp/wecom_send.log', date('Y-m-d H:i:s') . ' ' . $result . PHP_EOL, FILE_APPEND);
}

若使用WordPress,可将上述代码封装成函数,挂载到wp_mail或表单插件的提交钩子上。
注意替换参数中的中文引号,确保JSON编码正确。

避坑指南:常见配置错误

配置过程中容易遇到以下问题,提前注意可以少走弯路。

  • IP白名单限制:企业微信应用默认可能开启“企业可信IP”,若服务器IP未加入白名单,接口会返回60020错误。需在应用详情页的“开发者接口”中配置可信IP,或暂时关闭该限制。
  • Secret泄露风险:Secret等同于应用密码,不要直接写在公开的代码仓库或前端JS里。建议存入环境变量或独立的配置文件,并设置文件权限为600。
  • UserID错误:touser必须填写成员的企业微信UserID,不是手机号或姓名。在通讯录中点击成员,查看“账号”字段。
  • 消息类型不匹配:msgtype若为text,内容需放在text.content中,不要写成content顶级字段,否则返回40008错误。
  • 表单重复提交:如果CMS没有防重复机制,用户刷新页面可能触发多次推送。建议在表单提交后设置session或token,避免重复发送。

验证推送是否生效

完成配置后,按以下顺序检查:

  1. 手动访问表单页面,填写测试数据并提交。
  2. 查看服务器日志文件/tmp/wecom_send.log,确认返回{"errcode":0,"errmsg":"ok"}表示发送成功。
  3. 检查接收成员的企业微信,应收到一条文本消息,内容包含表单字段。
  4. 如果未收到,根据errcode排查:40001表示Secret错误,40013表示CorpID错误,60011表示无权限,81013表示UserID不存在。

建议在正式使用前,将接收成员设置为测试账号,验证通过后再切换到正式通知群或负责人。

常见疑问

表单提交后推送延迟很大怎么办?
企业微信接口本身响应较快,延迟通常来自CMS的表单处理逻辑或服务器网络。可以检查是否在提交后同步等待接口返回,建议改为异步推送,例如写入队列后由后台任务发送,避免阻塞用户提交。

能否推送到企业微信群聊而不是个人?
可以。企业微信支持群机器人Webhook,但群机器人不需要AgentId和Secret,只需在群聊中添加机器人并获取Webhook地址,然后向该地址POST消息即可。如果只需要简单通知,群机器人更轻量。

多个表单需要不同接收人怎么处理?
可以在推送代码中根据表单来源设置不同的touser值,或者使用部门ID(toparty)和标签ID(totag)来分组发送。企业微信接口支持同时指定多个接收者,用|分隔即可。

配置完成后,建议定期检查token缓存文件和发送日志,确保长期稳定运行。
如果更换了服务器或调整了应用设置,记得同步更新代码中的参数。

分享到:
上一篇
CMS模板缓存清理,修改模板不生效解决
下一篇
CMS后台操作日志记录,记录管理员所有操作
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意