Bot API 概览
用一组清晰、稳定的 HTTP 接口,把消息通知、自动回复与业务流程接入三条。 从第一条消息到完整的企业自动化,只需几步。
简单的 REST 接口
通过 HTTPS 发起请求,以 JSON 接收结果,任何主流语言都能快速调用。
安全的服务端鉴权
每个 Bot 使用独立令牌进行验证,可随时轮换或撤销,降低凭证泄露风险。
轮询与 Webhook
开发阶段使用长轮询快速验证,生产环境切换 Webhook 实时接收事件。
QUICK START
快速开始
一次完整调用包含三个部分:创建 Bot、获取 Token、向对应方法发起 HTTPS 请求。 下面用发送文本消息演示最短接入路径。
-
1
创建一个 Bot
在三条客户端中打开 Bot 管理入口,创建 Bot 并设置名称、头像与可用范围。
-
2
保存访问令牌
复制创建后生成的 Token。它只应保存在你的服务端环境变量中,不要写入网页或公开仓库。
stb_demo_x8mQ••••••••••••4n2K -
3
发送第一条消息
将 Token 放入 Authorization 请求头,并使用 JSON 传递接收会话与消息内容。
AUTHENTICATION
身份验证与请求地址
所有请求均通过 Bot Token 验证身份。建议使用标准 Bearer 请求头:
保护你的 Token。 请勿将它提交到 Git、记录在客户端日志,或嵌入浏览器 JavaScript。发现泄露后应立即轮换凭证。
通用请求格式
curl -X POST \
https://api.santiao.im/bot/v1/sendMessage \
-H "Authorization: Bearer <BOT_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "chat_8c12f",
"text": "Hello from Santiao Bot!"
}'
const response = await fetch(
"https://api.santiao.im/bot/v1/sendMessage",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SANTIAO_BOT_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
chat_id: "chat_8c12f",
text: "Hello from Santiao Bot!",
}),
}
);
const data = await response.json();
import os
import requests
response = requests.post(
"https://api.santiao.im/bot/v1/sendMessage",
headers={
"Authorization": f"Bearer {os.environ['SANTIAO_BOT_TOKEN']}"
},
json={
"chat_id": "chat_8c12f",
"text": "Hello from Santiao Bot!",
},
)
print(response.json())
RESPONSE
标准响应格式
接口统一返回 JSON。通过 ok 判断调用是否成功;成功数据位于
result,错误详情位于 error。
{
"ok": true,
"result": {
"message_id": "msg_91af2",
"chat_id": "chat_8c12f",
"status": "sent"
}
}
{
"ok": false,
"error": {
"code": 40002,
"message": "Invalid chat_id",
"request_id": "req_a71d"
}
}
ERRORS
通用错误码
| HTTP | 错误码 | 含义 | 建议处理 |
|---|---|---|---|
| 400 | 40002 | 请求参数无效 | 根据 message 检查必填参数与数据类型 |
| 401 | 40101 | Token 无效或已过期 | 重新生成令牌,并确认 Bearer 请求头 |
| 403 | 40303 | Bot 无操作权限 | 检查 Bot 所在会话与授权范围 |
| 404 | 40401 | 资源或方法不存在 | 检查资源 ID、路径与 API 版本 |
| 429 | 42901 | 请求频率超过限制 | 读取 Retry-After,使用指数退避重试 |
| 500 | 50000 | 服务端暂时异常 | 保留 request_id,稍后重试或提交诊断 |
METHODS
可用方法
方法按业务场景组织。点击任意方法可展开用途与关键参数,便于快速定位。
GET
getMe
获取当前 Bot 的基本信息
用于测试 Token 是否有效,并返回 Bot ID、名称、头像与能力范围。
Authorization必填Bearer Bot Token
GET
getUpdates
使用长轮询获取新事件
适合本地开发与低流量服务。生产环境建议使用 Webhook,避免重复拉取。
offset可选首个需要返回的 update_idtimeout可选长轮询等待秒数,建议 20–50
POST
sendMessage
向指定会话发送文本消息
支持纯文本与基础 Markdown。成功时返回创建后的 Message 对象。
chat_id必填目标会话唯一标识text必填消息正文,建议不超过 4,000 字符parse_mode可选消息格式:plain 或 markdown
POST
sendPhoto
发送图片或复用已上传文件
可使用 multipart/form-data 上传文件,或通过 file_id 复用已有资源。
chat_id必填目标会话唯一标识photo必填图片文件、公开 URL 或 file_idcaption可选图片说明文字WEBHOOK
实时接收事件
Webhook 会在新消息、成员变更或按钮回调发生时,向你的 HTTPS 地址发送事件。
服务应在校验签名后快速返回 2xx,耗时任务建议进入队列异步处理。
上线前检查
NEXT STEPS