springboot整合企业微信webhook快速发送消息提醒

springboot整合企业微信webhook快速发送消息提醒

java 复制代码
https://blog.csdn.net/swalikh/article/details/120363960?fromshare=blogdetail&sharetype=blogdetail&sharerId=120363960&sharerefer=PC&sharesource=weixin_48616345&sharefrom=from_link

以下针对 Java 开发中通过企业微信 Webhook 快速发送消息的实现方案和消息类型进行总结,结合搜索结果中的关键信息:

一、企业微信 Webhook 消息类型

企业微信机器人支持三种主流消息格式,可通过 JSON 结构自定义内容:

文本消息(text)

基础文本内容,支持 @ 提醒指定成员或全员

示例 JSON:

java 复制代码
                            {
  "msgtype": "text",
  "text": {
    "content": "订单状态更新:已发货",
    "mentioned_list": ["@all"]  // 或指定成员企业微信 ID
  }
}

Markdown 消息(markdown)

支持标题、列表、代码块等富文本格式

示例 JSON:

java 复制代码
                            {
  "msgtype": "markdown",
  "markdown": {
    "content": "**服务器告警**\n> 时间:2025-12-01\n> 状态:CPU 使用率 **95%**"
  }
}

卡片消息(template_card)

交互式卡片,含按钮跳转(需企业微信 3.1+ 版本)

适用于任务通知、审批提醒等场景

二、Java 实现代码示例

方案 1:Apache HttpClient 发送文本消息

复制代码
                        Java
                        
                        import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.StringEntity;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

public class WechatWebhookSender {

public static void sendTextMessage(String webhookUrl, String content) throws Exception {

try (CloseableHttpClient httpClient = HttpClients.createDefault()) {

HttpPost httpPost = new HttpPost(webhookUrl);

httpPost.setHeader("Content-Type", "application/json");

复制代码
        // 构建 JSON 请求体
        String jsonBody = String.format(
            "{\"msgtype\":\"text\", \"text\":{\"content\":\"%s\"}}", 
            content
        );
        httpPost.setEntity(new StringEntity(jsonBody, "UTF-8"));
        
        // 执行请求并获取响应
        httpClient.execute(httpPost);
    }
}

}方案 2:Spring RestTemplate(Spring Boot 项目)

复制代码
                        Java
                        
                        import org.springframework.web.client.RestTemplate;

import java.util.HashMap;

import java.util.Map;

public class WechatBotService {

public void sendMarkdown(String webhookUrl, String markdownContent) {

RestTemplate restTemplate = new RestTemplate();

复制代码
    Map<String, Object> request = new HashMap<>();
    request.put("msgtype", "markdown");
    
    Map<String, String> contentMap = new HashMap<>();
    contentMap.put("content", markdownContent);
    request.put("markdown", contentMap);
    
    restTemplate.postForObject(webhookUrl, request, String.class);
}

}

三、关键注意事项

Webhook 地址安全URL 中的 key 参数需严格保密,泄露可能导致他人滥发消息。

频率限制每个机器人 每分钟最多发送 20 条消息,超限会被限流。

消息内容合规性禁止发送营销广告类内容,仅允许服务通知(如系统告警、任务提醒)。

群聊设置检查若群开启"全员禁言",机器人消息将无法发送。

四、高级场景扩展

异步消息队列集成:结合 RabbitMQ/Kafka,将业务消息先写入队列,再由消费者通过 Webhook 发送,避免阻塞主业务逻辑。

多渠道统一推送:封装消息适配层,支持同时发送到企业微信、钉钉、邮件等(参考通用消息对象设计)。

💡 实操建议:调试时使用 Postman 直接调用 Webhook URL 测试 JSON 结构,再移植到 Java 代码中,可提升开发效率。完整代码示例可参考 CSDN 企业微信 Webhook 教程。

相关推荐
doris61019 小时前
企业微信OpenClaw官方插件|能力上新[特殊字符]
企业微信
yumgpkpm1 天前
华为昇腾910B 开源软件GPUStack的介绍(Cloudera CDH、CDP)
人工智能·hadoop·elasticsearch·flink·kafka·企业微信·big data
道一云黑板报2 天前
技术拆解:AI低代码架构设计与全链路落地实现
人工智能·驱动开发·低代码·ai·企业微信·ai编程·代码规范
vx-bot5556662 天前
企业微信ipad协议的消息扩展字段与业务数据注入
java·企业微信·ipad
uesowys2 天前
腾讯云使用OpenClaw搭建企业微信AI助手
人工智能·企业微信·腾讯云·openclaw
天空属于哈夫克33 天前
企微消息回调:实时获取企业微信聊天记录与事件通知
企业微信
2501_941982053 天前
企微机器人开发:实现私域流量的自动化管理与智能交互
机器人·自动化·企业微信
天空属于哈夫克33 天前
企业微信机器人开发:10分钟极速接入
机器人·企业微信
Tody Guo4 天前
OpenClaw与企业微信的定时任务设定
前端·github·企业微信
金融Tech趋势派4 天前
企业微信私域流量:如何用企业微信SCRM从0到1搭建高转化客户运营体系
大数据·人工智能·企业微信·scrm