如何用 curl 发送第一个 Boop 事件:让 iPhone 立刻收到推送的入门教程

发布时间:2026/10/18 23:34:20
如何用 curl 发送第一个 Boop 事件:让 iPhone 立刻收到推送的入门教程 【免费下载链接】boopA tiny, self-hosted notification inbox for developers. Something happened in one of your apps; Boop tells you on your phone.项目地址https://gitcode.com/gh_mirrors/boop2/boop点击查看免费下载Boop 是一个开源的自托管通知收件箱self-hosted notification inbox当你的应用里发生了一件事Boop 就会把这条Boop 事件推送到你的 iPhone。本教程带你从零开始部署 Boop并用一行curl 发送 Boop 事件体验 Boop 事件推送通知的完整流程——全程只需一个 Go 二进制、一个 SQLite 文件、一个 Docker 容器。1. 先搞懂Boop 事件是怎么到达 iPhone 的从上面的架构图可以看到整条链路非常简洁你的脚本 / 应用curl、CI、后端服务用POST /api/v1/events把 JSON 事件发给Boop serverserver 把事件存进SQLite同时通过Apple APNs直接推送iOS 端 App收到推送后用设备凭据从你的 server 拉取完整事件详情。没有中间账号体系、没有遥测、没有托管中转。完整架构数据见 docs/architecture/boop.architecture.json交互版可打开 docs/architecture/index.html 本地查看。 关键点推送走的是 APNs 直连所以要让 iPhone 收到通知需要配置 Apple 的.p8密钥第 5 节讲。没配置时事件照常入库、可在 Web UI 查看只是跳过推送。2. 最快部署方法Docker 一键启动 Boop在服务器上执行git clone https://gitcode.com/gh_mirrors/boop2/boop cd boop cp .env.example .env mkdir -p data chown 1000:1000 data # Linux 主机需要容器以 uid 1000 运行 docker compose up -d --build浏览器打开http://localhost:8080首次访问会进入设置向导检查 server、配置 APNs、配对手机、创建第一个项目、发送测试通知。数据都保存在./data/boop.db备份时复制这个文件即可。.env里各配置项的说明可查看 .env.example容器编排定义见 docker-compose.yml。3. 创建项目并复制 API Key在 Web UI 中创建一个项目复制它的API key只展示一次。项目 key 形如boop_proj_...只能创建事件不能读事件、不能管理设备——泄露风险可控如果设置了BOOP_ADMIN_USER/BOOP_ADMIN_PASSWORDWeb UI 会先出现登录页。4. 用 curl 发送第一个 Boop 事件最小可用命令一条即可curl -i http://localhost:8080/api/v1/events \ -H Authorization: Bearer boop_proj_... \ -H Content-Type: application/json \ -d {title: Hello from curl, level: info, source: curl}一切正常的话你会收到HTTP/1.1 201 Created {id: evt_w4zosnovd6huj6dh, created_at: 2026-08-28T14:10:46.716098000Z}然后去 Web UI 收件箱或配好 APNs 后的 iPhone确认——你的第一个 Boop 事件已经送达了。官方把这套 curl 请求称作quick check并规定它必须是任何 Boop 客户端都能精确复现的最小请求规范全文见 integration-llms.md。发送丰富的 Boop 事件title是唯一的必填字段1–200 字符其他字段按需用curl http://localhost:8080/api/v1/events \ -H Authorization: Bearer boop_proj_... -H Content-Type: application/json \ -d { title: KeyError, body: key :can_palette? not found, level: error, source: error_tracker, fingerprint: uini-keyerror, data: { exception: {type: KeyError, message: key :can_palette? not found}, tags: {environment: production} } }各字段速查完整规则见 integration-llms.md字段必填说明title✅事件标题1–200 字符body详情≤ 4000 字符会显示为推送正文levelinfo默认、success、warning、error、criticalsource事件来源如cron、github_actions用于筛选fingerprint同一问题的稳定分组键收件箱会把重复事件折叠成一行data自由 JSON 对象≤ 256 KBexception、stacktrace、tags、context等键有专门的漂亮渲染actions最多 3 个{label, url}按钮出现在推送和事件详情页关于level等级定义在 server/internal/events/levels/levels.go其中critical会触发更醒目的时效性time-sensitive推送。传错等级会直接报错不会静默降级。5. 让 iPhone 真正收到推送配置 APNs 配对curl 发送只是入库推送给 iPhone 还需要两步。5.1 配置 Apple APNs 密钥在 Apple Developer 门户为 Boop iOS 构建创建 App identifier并启用Push Notifications在 Keys 下创建 APNs 认证密钥下载.p8只能下载一次记下 Key id 和 Team id把.p8放到./secrets/apns.p8取消 docker-compose.yml 中 secrets 挂载的注释在.env填APNS_TEAM_ID、APNS_KEY_ID、APNS_BUNDLE_ID、APNS_PRIVATE_KEY_PATH/run/secrets/apns.p8重启docker compose up -dSettings 页面应显示APNs · Configured。⚠️ Xcode 调试版安装的 App 记得把APNS_ENVIRONMENT设为sandbox。5.2 用二维码配对 iPhoneWeb UI 打开Devices → Pair iPhone出现一次性二维码10 分钟有效、单次使用在自己签名构建的 Boop iOS App 里点Pair server扫码允许通知。App 会向 APNs 注册并把 token 上报给你的 server回到 Web UISettings → Send test notification手机叮一声就大功告成。iOS 端的构建与配对细节见 ios/README.md。6. curl 常见错误排查速查状态码error含义怎么办400invalid_json请求体不是合法 JSON检查引号/转义不要重试401unauthorizedAPI key 缺失或错误核对boop_proj_...不要重试413too_large请求体超过 1 MB裁剪data字段422invalid字段校验失败看message常见level 不是五个合法值之一5xxinternal服务端故障可带退避重试另外两个高频疑问iPhone 没收到推送推送是异步的201只代表入库成功先检查 Settings 里 APNs 是否 Configured、设备是否完成配对也可在事件详情页查看 push 投递记录GET /api/v1/events/:id/deliveries。事件很吵想屏蔽用 Silence 规则按fingerprint/title/source匹配事件照常入库但不再推送管理入口在 Settings → Silences。7. 进阶把 curl 变成一行式工作流写脚本时可以把命令包成 shell 函数例如boop() { curl -fsS $BOOP_URL/api/v1/events -H Authorization: Bearer $BOOP_API_KEY \ -H Content-Type: application/json \ -d {\title\: \$1\, \body\: \${2:-}\, \level\: \${3:-info}\}; } pg_dump mydb backup.sql boop Backup complete success || boop Backup failed $(tail -1 backup.log) errorGitHub Actions、cron、任意 CI 系统都可以照此接入。如果你要写其他语言的正式客户端直接把 integration-llms.md 丢给 LLM 即可——它就是官方的人读版客户端规范。小结用 3 分钟回顾一下本文路线✅docker compose up -d --build启动 Boop一个容器、一个 SQLite 文件✅ Web UI 创建项目、复制boop_proj_API key✅ 一条 curlPOST /api/v1/events发送第一个 Boop 事件看到201 Created✅ 配置.p8 扫码配对 iPhone实现真正的 Boop 事件推送通知。从此你的备份、部署、CI 里任何值得注意的事都能实时出现在手机通知栏。赞分享【免费下载链接】boopA tiny, self-hosted notification inbox for developers. Something happened in one of your apps; Boop tells you on your phone.项目地址https://gitcode.com/gh_mirrors/boop2/boop点击查看免费下载相关推荐MailKit入门指南如何在5分钟内发送你的第一封邮件MailKit入门指南如何在5分钟内发送你的第一封邮件 想要在.NET应用中快速实现邮件发送功能吗MailKit是你的终极解决方案作为一款功能强大的跨平台后端通信如何编写Fabric自定义Patternsystem.md user.md 变量注入完整教程打造专属AI工作流如何编写Fabric自定义Patternsystem.md user.md 变量注入完整教程打造专属AI工作流 Fabric 是一款开源的 AI 增CLIAI 应用提示工程大模型后端PHP邮件发送库SwiftMailer全面入门架构概览与发送第一封邮件PHP邮件发送库SwiftMailer全面入门架构概览与发送第一封邮件 SwiftMailer 是一款功能丰富的 PHP邮件发送库 Comprehensiv后端上一篇Umi-OCR 快速上手指南免费离线识别图片文字3 步跑通批量 OCR下一篇Yaaglyet-another-anime-game-launcher新手上手指南从安装到更新3步搞定Mac上的二次元游戏创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询