接入文档

从登录到收到第一条微信通知,只需要三步。接口是普通的 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

位置字段类型说明
HeaderAuthorizationstring必填,格式为 Bearer <token>
HeaderIdempotency-Keystring可选,1–160 位字母数字与 ._:-,24 小时内相同键不会重复投递
Bodytitlestring可选,最多 120 字符;提供时会作为首行加在正文之前
Bodycontentstring必填,最多 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 会立即失效。