标题
微信发送文本消息API接口(微信发送文本消息api接口怎么设置)
本文约2100字,预计需要8分钟
知更Ai(zhigengai.com)微信发送文本消息API接口,适合将自己的业务系统、脚本或桌面程序与微信消息发送能力连接起来。按照知更Ai在线文档,文本消息接口采用 HTTP POST方式调用,接口地址为:
调用时需要提供发送机器人、接收对象和文本内容三个参数。本文将从准备工作、参数说明、请求示例、响应判断和常见错误几个方面,说明微信发送文本消息API接口怎么设置。
微信消息发送API的基本信息
知更Ai的文本消息接口用于向好友或群聊发送一条新的文字消息,当前接口信息如下:
| 项目 | 内容 |
|---|---|
| 请求方式 | POST |
| 请求地址 | http://127.0.0.1:5011/api/msg/text |
| 请求格式 | JSON |
bot_id |
机器人微信号标识 |
receiver |
好友 wxid 或群聊 ID |
content |
要发送的文本内容 |
| 成功判断 | HTTP 200 且 code == 0 |
这个接口运行在本机 127.0.0.1地址上,默认端口为 5011。因此,调用程序通常需要和知更Ai运行在同一台电脑上。
发送文本之前,需要先在知更Ai中添加机器人并扫码登录微信。若机器人没有登录、处于离线状态,或者当前账号不具备对应接口权限,请求可能会返回失败信息。
微信发送文本消息API接口怎么设置
正式写代码前,建议先在软件界面确认以下内容:
- 知更Ai客户端已经正常启动。
- 目标微信账号已经添加到“机器人管理”。
- 机器人状态显示为在线。
- 已经获取正确的机器人微信号标识,也就是
bot_id。 - 已经确认接收好友的 wxid 或群聊 ID。
- 文本内容符合实际沟通场景。
- 调用程序可以访问本机的
5011端口。
这里有两个容易混淆的概念:
如果同一台电脑上运行多个机器人,不能随意填写昵称或使用其他账号的标识。应当使用目标机器人对应的 wxid,避免消息由错误账号发出。
请求参数说明
bot_id
bot_id是发送消息的机器人标识,文档示例使用类似下面的格式:
它代表由哪个已登录微信账号执行操作。
receiver
receiver是接收者,可以填写:
- 好友 wxid;
- 群聊 group_id。
向好友发送时,填写好友的 wxid;向群聊发送时,填写对应的群聊 ID。接收对象标识必须准确,否则接口可能无法找到目标对象。
content
content是文本消息正文。例如:
文本内容应直接作为字符串放入 JSON 请求体中。如果内容中包含换行、引号或特殊字符,需要确保 JSON 格式正确。
微信接口文档API请求示例
JSON 请求体
{"bot_id": "wxid_xxx",
"receiver": "wxid_yyy",
"content": "你好,已收到你的消息"
}
上面的示例表示:使用 wxid_xxx对应的机器人,向 wxid_yyy发送一条文本消息。
cURL 调用示例
curl -X POST "http://127.0.0.1:5011/api/msg/text" ^-H "Content-Type: application/json" ^
-d "{\"bot_id\":\"wxid_xxx\",\"receiver\":\"wxid_yyy\",\"content\":\"你好,已收到你的消息\"}"
如果在 macOS、Linux 或其他支持反斜杠换行的环境中使用,可以写成:
curl -X POST "http://127.0.0.1:5011/api/msg/text" \-H "Content-Type: application/json" \
-d '{
"bot_id": "wxid_xxx",
"receiver": "wxid_yyy",
"content": "你好,已收到你的消息"
}'
Windows 命令行中的换行符可能不同,实际执行时也可以将命令合并为一行。
Python 调用微信发送消息接口
Python 示例适合用于业务脚本、内部工具或定时任务。调用前先安装 requests:
示例代码如下:
import requestsurl = "http://127.0.0.1:5011/api/msg/text"
payload = {
"bot_id": "wxid_xxx",
"receiver": "wxid_yyy",
"content": "你好,已收到你的消息"
}
response = requests.post(
url,
json=payload,
timeout=15
)
print("HTTP状态:", response.status_code)
print("接口响应:", response.json())
requests.post中的 json=payload会将字典转换为 JSON 请求体,并设置适合的请求格式。程序中建议保留超时时间,避免知更Ai暂时未响应时脚本一直等待。
如果需要向群聊发送文本,只需将 receiver替换为群聊 ID:
"bot_id": "wxid_xxx",
"receiver": "group_xxx",
"content": "群内通知:今天的活动安排已经更新。"
}
JavaScript 调用示例
如果你的程序运行在 Node.js 或其他支持 fetch的环境中,可以使用下面的方式:
const payload = {
bot_id: "wxid_xxx",
receiver: "wxid_yyy",
content: "你好,已收到你的消息"
};
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload)
});
const result = await response.json();
console.log("HTTP状态:", response.status);
console.log("接口响应:", result);
浏览器页面直接调用本机接口时,可能还会受到页面来源和浏览器安全策略影响。实际集成时,可以优先使用本地服务端、桌面程序或后端脚本调用,再由前端提交发送请求。
如何判断接口调用成功
知更Ai文档规定,文本消息发送接口成功时,通常返回 HTTP 200,并且响应中的 code为 0:
"code": 0,
"message": "ok",
"data": {
"status": "sent"
}
}
程序中可以同时判断 HTTP 状态码和业务状态码:
result = response.json()if response.status_code == 200 and result.get("code") == 0:
print("消息发送请求已成功处理")
else:
print("消息发送失败:", result.get("message"))
不要只根据 HTTP 状态判断业务结果。对于这类接口,code == 0才是文档中用于判断业务成功的主要字段。
失败响应示例:
{"code": -1,
"message": "发送文本消息失败: <底层错误信息>",
"data": null
}
微信发送文本消息API接口错误排查
提示机器人未登录或离线
这类问题通常与微信账号状态有关,可以按以下顺序检查:
- 打开知更Ai的机器人管理页面。
- 查看目标机器人是否显示在线。
- 确认
bot_id与当前在线机器人一致。 - 如果微信在其他电脑登录,先确认当前登录状态。
- 重新启动机器人后再进行小范围测试。
返回接口权限提示
知更Ai文档中提到,消息发送类接口可能要求开通对应 VIP 功能。如果返回内容提示接口权限不足,应先查看当前账号的功能权限和版本说明。
接收对象不存在
如果 receiver填写错误,可能出现找不到好友或群聊的情况。建议从知更Ai的联系人数据中确认 wxid 或群聊 ID,不要只根据昵称拼接标识。
JSON格式错误
文本内容中如果包含双引号、换行或反斜杠,手动拼接 JSON 字符串容易出错。Python 中建议使用 json=payload,JavaScript 中使用 JSON.stringify(payload),让程序负责处理特殊字符。
微信图文消息发送接口与文本接口的区别
微信发送文本消息API接口只处理新的文字内容。如果要发送图片、文件、视频或其他内容,需要使用知更Ai文档中对应的消息接口。
例如,图片接口的地址是:
http://127.0.0.1:5011/api/msg/image文本接口使用 content字段;图片接口则需要提供图片来源。两者不能混用参数。
如果要转发已经收到的历史消息,也不应直接调用文本接口。历史消息转发需要使用消息对应的 msgsvrid,调用转发任意消息接口:
因此,可以按照下面的方式选择:
| 需求 | 应使用的接口 |
|---|---|
| 发送一段新文字 | /api/msg/text |
| 发送一张图片 | /api/msg/image |
| 转发已经收到的历史消息 | /api/forward/any |
| 接收实时微信消息 | WebSocket /api/ws/relay |
适合使用文本API的场景
微信发送文本消息接口适合处理明确、可控的业务动作,例如:
- 向指定好友发送服务提醒;
- 向指定群聊发送经过确认的内部通知;
- 根据业务系统状态发送处理结果;
- 将人工确认后的文字内容发送到目标对象;
- 与知更Ai的消息接收流程结合,完成条件匹配后的回复。
如果需要自动处理实时消息,可以先通过 WebSocket 接收消息,再根据消息来源、内容或业务条件决定是否调用文本接口。对于不确定的内容,建议保留人工确认环节,避免误发。
使用接口时的安全与合规要求
API调用程序中不要公开保存或传播账号标识、Token及联系人数据。虽然文本发送接口运行在本机地址上,但仍应限制脚本权限,不要把本机服务随意暴露给无关设备。
发送对象和文本内容应经过明确确认,尤其是涉及客户资料、个人信息、商业文件或群聊通知时,应遵守数据保护要求。建议先使用测试账号和少量对象验证参数,再投入正式业务。
知更Ai支持本地化使用方式,实际数据处理范围、接口权限和版本能力应以官方说明为准。工具的使用应保持安全、绿色、稳定、合规,发送内容应真实、适当,并符合接收对象的沟通场景。
以平台官方规则为准,使用自动化功能前请了解并遵守相关平台政策与法律法规。
常见问题
问:微信发送文本消息API接口怎么设置?
答:先登录知更Ai并确保机器人在线,然后向 http://127.0.0.1:5011/api/msg/text发送 POST 请求,请求体填写 bot_id、receiver和content三个字段。
问:微信消息发送API支持向群聊发送吗?
答:支持。将receiver填写为目标群聊 ID即可,bot_id仍然填写执行发送的机器人微信号标识。
问:微信发送文本消息API接口错误怎么排查?
答:先查看机器人是否在线、bot_id是否正确、receiver是否有效,再检查 JSON格式和返回内容中的code。HTTP状态为200且code == 0时,表示业务调用成功。
问:微信开发文档API中的bot_id是什么?
答:bot_id是执行消息发送的机器人微信号标识,用于在多个机器人同时运行时区分发送账号。
问:微信接口文档中,文本消息和历史消息转发有什么区别?
答:文本消息接口用于发送一条新文字,需要提供content;历史消息转发需要提供原消息的msgsvrid,使用的是转发接口。
问:微信文本消息接口可以发送图片吗?
答:文本接口只用于发送文字。图片、文件、视频等内容需要使用知更Ai文档中对应的消息类型接口。