Skip to content

← 所有功能

Webhook 与自动化

iOSAndroid

当你扫描一枚 NFC 标签、一个二维码或一个条形码时,五种内置联动会同时待命:向你自己的服务器发送 POST、打开 URL、运行快捷指令、朗读结果,或播放提示音。NFC.cool 是扫描器,后续操作由你做主。

Webhook 与自动化

五种联动

Webhook(向你的 URL 发送 POST)

扫描成功的那一刻,发送一个带有结构化 JSON 主体的 HTTP POST。配置一个 URL、可选的 HTTP Basic 认证,就大功告成。支持 iOS 和 Android。

快捷指令(iOS)

当扫描到的 URL 带有 `shortcuts://` scheme 时,自动运行匹配的 iOS 快捷指令,无需额外轻触。把扫描数据导入快捷指令能触及的任何地方。

打开链接(iOS)

当负载是普通 URL 时,自动在 Safari 中打开它(或打开匹配的深度链接目标),省去“轻触打开”这一步。

语音合成(iOS)

免手操作地朗读扫描到的负载。语速可调。适用于无障碍场景、双手忙碌的工作流程,或仅仅作为一种令人安心的确认。

播放音频(iOS)

扫描时播放一段确认提示音:可以是你自己选择的音频文件,也可以是内置音效之一。

Webhook 是如何工作的

触发源:NFC、二维码和条形码

iOSAndroid

Webhook 由三种事件源触发:NFC 扫描二维码扫描条形码扫描。每个来源都有各自的启用/停用开关,因此你可以把 NFC 读取的数据导入库存系统,而不会让摄像头扫描器向同一个端点疯狂发送请求。Webhook 本身是统一的:一个 URL、一份 JSON 负载、一次 POST。

负载格式

iOSAndroid

每一次 POST 都会发送形如下面这样的 JSON 主体:

{
  "identifier": "04:A2:7F:1B:5E:80:00",
  "date": "2026-05-12T14:23:01Z",
  "content": "Filament Spool #1234",
  "tagType": "openPrintTag",
  "structured": {
    "material": "PLA",
    "color": "#FF6F4C",
    "manufacturer": "Prusament",
    "uuid": "5e8a-7c1d-4f90"
  }
}

tagTypestructured 只在 OpenPrintTag 这类特殊格式下才会出现;其他所有扫描只发送前三个字段。开发者参考文档提供了逐字段的完整说明、认证方式、curl 示例,以及可直接运行的示例服务器。

GitHub 上的参考服务器

iOSAndroid

端到端看清整个流程最快的方式:GitHub 上的 Web 服务器。这是一个极简的示例服务器,可接收 NFC.cool 的 webhook 负载、记录日志,并实时展示其结构。克隆下来运行,把 iPhone 对准标签,看着扫描结果落到服务器上。

技术细节

传输

  • 推荐使用 HTTPS;开发环境下允许 HTTP
  • 带 `Content-Type: application/json` 的 POST
  • 可选的 HTTP Basic 认证(用户名 + 密码)
  • 凭据以加密形式存储在 iOS 钥匙串中

负载

  • `identifier`:标签 UID 或扫描到的码
  • `date`:ISO 8601 时间戳
  • `content`:解码后的负载(URL 字符串、文本等)
  • `tagType`:在结构化标签下出现(例如 `openPrintTag`)
  • `structured`:结构化标签类型的嵌套 JSON

来源

  • NFC 扫描(NDEF 读取)
  • 二维码扫描
  • 条形码扫描
  • 每个来源都可单独启用

免费版与白金版对比

免费版白金版
NFC 与二维码 Webhook
语音合成器
快捷指令
iCloud 同步

常见问题

这项功能在 Android 上能用吗?

可以。Webhook 在 NFC.cool Tools 的 iOS 和 Android 版本上都可用,JSON 负载格式在各平台之间保持一致。(另外四种 iOS 联动:自动运行快捷指令、语音、音频、打开链接,仅限 iOS。)

我可以配置多少个 URL?

目前只能配置一个 URL。所有扫描事件都会发送到这同一个 URL,并通过已启用的来源开关和负载类型加以区分。

支持哪些认证方式?

HTTP Basic 认证:用户名 + 密码,以加密形式存储在 iOS 钥匙串中。目前暂不支持 Bearer 令牌、自定义请求头和 HMAC 签名。

如果我的服务器离线了会怎样?

POST 会失败,该事件会被记录在设备上。目前还没有自动重试队列;如果你的服务器可能不稳定,请把处理逻辑设计为可在重试时幂等执行,并从扫描历史中重新触发。

负载大小有限制吗?

NFC.cool 不施加硬性限制。标签负载本身则受 NFC 标准约束(典型的 NDEF 标签为几 KB)。

在哪里能看到它的实际运行效果?

克隆 GitHub 上的 Web 服务器,在本地运行,把应用对准它,你就能实时看到每一次扫描到达。

准备好扫描了吗?