接入文档
从登录到收到第一条微信通知,只需要三步。接口是普通的 HTTPS + JSON,不需要 SDK。
快速开始
1. 用 GitHub 登录并扫码绑定
点击右上角「GitHub 登录」完成授权,随后在控制台点击「获取登录二维码」,用微信扫码确认。 确认后请从绑定的那个微信向 Bot 发送一条任意文本消息,用于激活通知通道—— 控制台会自动轮询并提示「通知已就绪」。
2. 创建通知 Token
在控制台的「通知 Token」卡片里点击「创建 Token」。Token 会直接显示在列表里, 可随时复制,也可以随时单独删除——不需要在创建时抢着保存。免费档每人最多 5 个,高级会员最多 50 个。
3. 发送第一条通知
curl -X POST 'https://YOUR-DOMAIN/api/v1/notify' \
-H 'Authorization: Bearer wn_你的Token' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: deploy-20261008-1' \
--data '{"title":"部署完成","content":"sendtk 已发布到生产环境"}'
💡
收件人是谁? 不需要指定。每个 Token 只对应一个账号,消息只会发送到该账号绑定的微信。
其他语言示例
# Python(标准库,无需依赖)
import json, urllib.request
request = urllib.request.Request(
"https://YOUR-DOMAIN/api/v1/notify",
data=json.dumps({"title": "备份完成", "content": "耗时 42s"}).encode(),
headers={
"Authorization": "Bearer wn_你的Token",
"Content-Type": "application/json",
},
)
print(urllib.request.urlopen(request).read().decode())
// Node.js 18+
await fetch("https://YOUR-DOMAIN/api/v1/notify", {
method: "POST",
headers: {
Authorization: "Bearer wn_你的Token",
"Content-Type": "application/json",
},
body: JSON.stringify({ title: "构建失败", content: "job #128 退出码 1" }),
});
接口参考
POST /api/v1/notify
| 位置 | 字段 | 类型 | 说明 |
|---|---|---|---|
| Header | Authorization | string | 必填,格式为 Bearer <token> |
| Header | Idempotency-Key | string | 可选,1–160 位字母数字与 ._:-,24 小时内相同键不会重复投递 |
| Body | title | string | 可选,最多 120 字符;提供时会作为首行加在正文之前 |
| Body | content | string | 必填,最多 3000 字符 |
成功响应:
{
"ok": true,
"duplicate": false,
"messageId": "…",
"usage": { "limit": 20, "used": 1, "remaining": 19, "day": "2026-10-08" }
}
duplicate 为 true 表示命中了幂等去重,此时消息没有再次发送,
也不会消耗额度。usage.day 是按 UTC+8 切分的统计日期。
错误码
| 状态码 | 含义 | 处理建议 |
|---|---|---|
| 400 | 请求体不是合法 JSON,或 content 为空、字段超长 | 修正请求体后重试 |
| 401 | 缺少 Token、Token 无效或已被删除 | 在控制台确认 Token,或重新创建 |
| 403 | 账号已被停用 | 发邮件到 hello@sendtk.com 说明情况 |
| 405 | 使用了非 POST 方法 | 改为 POST |
| 409 | 微信尚未绑定,或已绑定但未发送激活消息 | 回到控制台完成绑定与激活 |
| 429 | 已达当日额度上限 | 次日自动重置,额度不累积 |
| 502 | 上游微信接口失败 | 稍后重试;若持续失败请发邮件到 hello@sendtk.com |
额度与计费规则
- 免费档按每人每天 20 条计算,高级会员为每天 1000 条;均按 UTC+8 的零点重置,不累积、不结转。
- 高级会员为线下购买、人工开通,19 元 / 月,有效期按 30 天/月计算,续费从当前到期时间往后累加,到期后自动回落免费档,不会自动扣费。
- 发送失败(502/409)与命中幂等去重的请求不会消耗额度,服务端会自动归还。
- 额度信息随每次成功响应的
usage字段返回,也可以在控制台实时查看。
安全说明
- 登录仅通过 GitHub 授权完成,只读取公开资料:不读取邮箱,也不能访问你的仓库。
- Token 会加密保存,只有你本人在控制台能查看;一旦泄露可随时删除。
- 绑定微信时获得的凭据会加密保存,并按账号相互隔离,其他用户无法读取。
- 账号被停用后,其名下全部 Token 会立即失效。