钉钉Webhook机器人如何发送群消息?
在钉钉中通过 Webhook 机器人发送消息的步骤如下:
一、创建自定义机器人
-
进入群设置
- 打开钉钉群 → 点击右上角「设置」→「群管理」
-
添加机器人
- 点击 [机器人] ->「添加机器人」→ 选择「自定义」
- 点击「添加」
-
获取Webhook地址
- 创建完成后复制 Webhook URL
设置成功后如下:


二、发送消息示例
1. 基础文本消息
python
import json
import requests
url = "你的Webhook地址"
headers = {"Content-Type": "application/json"}
data = {
"msgtype": "text",
"text": {
"content": "监控报警:服务器CPU使用率超过90%"
}
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
2. Markdown格式消息
python
data = {
"msgtype": "markdown",
"markdown": {
"title": "项目更新",
"text": "### 项目进度报告\n- **任务**:API开发\n- **状态**:✅ 已完成\n- **负责人**:张三\n- [查看详情](http://example.com)"
}
}
3. 带@提醒的消息
python
data = {
"msgtype": "text",
"text": {
"content": "@张三 请处理紧急工单"
},
"at": {
"atMobiles": ["13888888888"], # 手机号
"atUserIds": ["user123"], # 用户ID
"isAtAll": False # 是否@所有人
}
}
4. 链接消息
python
data = {
"msgtype": "link",
"link": {
"text": "这是一条链接消息",
"title": "系统通知",
"picUrl": "https://img.example.com/1.jpg",
"messageUrl": "https://www.example.com"
}
}
5. ActionCard(按钮卡片)
python
data = {
"msgtype": "actionCard",
"actionCard": {
"title": "审批通知",
"text": "### 请假申请\n申请人:李四\n时间:2024-01-01",
"btns": [
{
"title": "同意",
"actionURL": "http://example.com/approve"
},
{
"title": "拒绝",
"actionURL": "http://example.com/reject"
}
]
}
}
三、安全设置处理
加签验证
python
import time
import hmac
import hashlib
import base64
import urllib.parse
timestamp = str(round(time.time() * 1000))
secret = "你的加签密钥"
secret_enc = secret.encode('utf-8')
string_to_sign = f'{timestamp}\n{secret}'
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc,
digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote(base64.b64encode(hmac_code))
# 将timestamp和sign添加到URL
webhook_url = f"{原URL}×tamp={timestamp}&sign={sign}"
四、使用 cURL 示例
bash
curl '你的Webhook地址' \
-H 'Content-Type: application/json' \
-d '{
"msgtype": "text",
"text": {
"content": "测试消息"
}
}'
注意事项
- 频率限制:每分钟最多20条消息
- 消息长度:文本消息不超过5000字符
- 关键词匹配:如果设置了关键词,消息中必须包含
- 错误处理:建议添加重试机制和错误日志
- 敏感信息:不要在消息中暴露敏感数据
调试建议
- 使用钉钉官方提供的调试工具
- 先发送测试消息验证配置
- 检查返回的状态码和错误信息
这样你就可以通过钉钉Webhook机器人发送各种类型的消息了!