获取Webhook
这边以Android的企业微信为例,打开企业微信登录 。点击底部消息 -> 右上角+号 -> 发起群聊 -> 选择人创建并打开群聊 -> 点击三个点 -> 群机器人 -> 创建就能看到了。
其他平台的都一样的,就是只能是企业群聊才可以,外部群聊不行。
添加成功后,系统会生成一个 Webhook URL,格式如下:
1
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_key
复制并保存这个 URL,后续将用于发送消息
二、发送消息
企业微信 Webhook 支持多种消息类型,包括文本、Markdown、图片、文件等。以下以发送文本消息为例。
1. 文本消息格式
- 请求方式:
POST
- 请求头:
Content-Type: application/json
- 请求体示例:
1
2
3
4
5
6{
"msgtype": "text",
"text": {
"content": "这是一条测试消息"
}
}
2. 使用 cURL 发送消息
- 在终端中运行以下命令:
1
2
3
4
5
6
7
8curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_key' \
-H 'Content-Type: application/json' \
-d '{
"msgtype": "text",
"text": {
"content": "这是一条测试消息"
}
}'
3. 使用 Python 发送消息
- 安装
requests
库(如果尚未安装):1
pip install requests
- 编写 Python 脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14import requests
import json
webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your_key"
headers = {"Content-Type": "application/json"}
data = {
"msgtype": "text",
"text": {
"content": "这是一条测试消息"
}
}
response = requests.post(webhook_url, headers=headers, data=json.dumps(data))
print(response.status_code, response.text)
三、支持的消息类型
除了文本消息,企业微信 Webhook 还支持以下消息类型:
Markdown 消息
- 请求体示例:
1
2
3
4
5
6{
"msgtype": "markdown",
"markdown": {
"content": "**加粗文字**\n> 引用内容"
}
}
- 请求体示例:
图片消息
- 请求头实例: base64是图片内容的base64编码
1
2
3
4
5
6
7{
"msgtype": "image",
"image": {
"base64": "DATA",
"md5": "MD5"
}
}
md5 是图片内容(base64编码前)的md5值
注:图片(base64编码前)最大不能超过2M,支持JPG,PNG格式
文件消息
- 通过下文的上传文件接口获取
media_id
,然后发送:1
2
3
4
5
6{
"msgtype": "file",
"file": {
"media_id": "your_media_id"
}
}
- 通过下文的上传文件接口获取
图文消息
- 请求体示例:
1
2
3
4
5
6
7
8
9
10
11
12
13{
"msgtype": "news",
"news": {
"articles": [
{
"title": "标题",
"description": "描述",
"url": "https://example.com",
"picurl": "https://example.com/image.png"
}
]
}
}
- 请求体示例:
只提供部分实例,具体请参考 群机器人配置说明
四、注意事项
消息频率限制
- 每个 Webhook URL 每分钟最多发送 20 条消息,超过限制会被暂时禁用。
安全性
- Webhook URL 包含密钥,请勿泄露。如果泄露,可以在企业微信管理后台重新生成。
错误处理
- 如果发送失败,检查返回的状态码和错误信息:
400
:请求参数错误。404
:Webhook URL 无效。429
:消息发送频率过高。
- 如果发送失败,检查返回的状态码和错误信息:
五、总结
通过企业微信 Webhook,开发者可以轻松实现消息推送功能。无论是监控报警、任务通知,还是自动化流程,Webhook 都提供了简单高效的解决方案。
如果你有更多问题或需要进一步的帮助,请参考 企业微信官方文档 或留言讨论。