コンテンツへスキップ

← すべての機能

Webhook & オートメーション

iOSAndroid

5つの組み込みフックが、NFCタグ・QRコード・バーコードをスキャンした瞬間に動きます - サーバーへPOST、URLを自動オープン、ショートカット実行、結果を読み上げ、サウンド再生。NFC.coolはスキャナー、アクションはあなたのものです。

Webhook & オートメーション

5つのフック

Webhook(あなたのURLへPOST)

スキャン成功の瞬間に、構造化JSONのボディでHTTP POST。1つのURLとオプションのHTTP Basic認証を設定すれば完了です。iOSとAndroidの両方で利用可能。

ショートカット(iOS)

スキャンされたURLが <code>shortcuts://</code> スキームの場合、対応するiOSショートカットを自動実行 - 余分なタップは不要。Shortcutsが届くものすべてにスキャンデータを流せます。

リンクを開く(iOS)

ペイロードが通常のURLの場合、Safari(または対応するディープリンク先)が自動で開きます。「タップして開く」のステップを省略します。

音声合成(iOS)

ペイロードをハンズフリーで読み上げます。読み上げ速度は調整可能。アクセシビリティ、両手がふさがった作業、あるいは満足感のある確認に。

オーディオ再生(iOS)

スキャン時に確認音を再生 - 任意のオーディオファイルか、組み込みのトーンから選べます。

Webhookの仕組み

トリガー - NFC・QR・バーコード

iOSAndroid

Webhookは3つのイベントソースで発火します: NFCスキャンQRスキャンバーコードスキャン。それぞれに有効/無効のトグルがあり、たとえばNFCの読み取りだけを在庫システムへ流し、カメラスキャナーで同じエンドポイントを連打しないようにできます。Webhook自体はすべて同じ - 1つのURL、1つのJSONペイロード、1つのPOSTです。

ペイロードの形

iOSAndroid

各POSTはこの形のJSONボディを送ります:

{
  "identifier": "04:A3:B2:81:C5:6E:80",
  "date": "2026-05-15T10:42:18Z",
  "content": "https://example.com/product/42",
  "tagType": "openPrintTag",
  "structured": {
    "material": "PLA",
    "color": "#FF6F4C",
    "manufacturer": "Prusament",
    "uuid": "5e8a-…"
  }
}

identifier はタグUIDまたはスキャンされたコード。date はISO 8601。content はデコードされたペイロード。tagTypestructuredOpenPrintTag のような特殊形式の時のみ含まれます - 他のスキャンでは省略されます。

curlの例

iOSAndroid

サーバー側で受け取るものはこんな感じです - 通常のURLペイロードの curl 相当:

curl -X POST https://your-server.example.com/scans \
  -H "Content-Type: application/json" \
  -u "username:password" \
  -d '{
    "identifier": "04:A3:B2:81:C5:6E:80",
    "date": "2026-05-15T10:42:18Z",
    "content": "https://example.com/menu"
  }'

-u フラグは、設定でHTTP Basic認証を構成した時にNFC.coolが送るものに対応します - ユーザー名とパスワードはiOS Keychainに暗号化保存されます。

GitHub上のリファレンスサーバー

iOSAndroid

ループ全体を端から端まで見る一番速い方法: github.com/NickAtGit/nfc-cool-webhook-server。NFC.coolのWebhookペイロードを受信し、ログを出し、構造をライブで表示する最小限のサンプルサーバー。クローンして起動し、iPhoneを向ければ、スキャンが届くのが見えます。

技術的な詳細

トランスポート

  • HTTPS推奨; 開発時はHTTPも可
  • POST、`Content-Type: application/json`
  • オプションのHTTP Basic認証(ユーザー名 + パスワード)
  • 認証情報はiOS Keychainに暗号化保存

ペイロード

  • `identifier` - タグUIDまたはスキャンされたコード
  • `date` - ISO 8601タイムスタンプ
  • `content` - デコードされたペイロード(URL文字列、テキストなど)
  • `tagType` - 構造化タグの時のみ存在(例: `openPrintTag`)
  • `structured` - 構造化タグタイプのネストされたJSON

ソース

  • NFCスキャン(NDEF読み取り)
  • QRスキャン
  • バーコードスキャン
  • 各ソースは独立して有効化可能

Free と Platinum の比較

FreePlatinum
スキャン時にURLを自動オープン
ショートカットURLでショートカット実行
スキャン時にオーディオ再生
音声合成(読み上げ)
Webhook(あなたのURLへPOST)
ソースごとの有効/無効(NFC vs カメラ)

よくある質問

Androidで動きますか?

はい - WebhookはNFC.cool ToolsのiOS版とAndroid版の両方で利用できます。JSONペイロードの形はプラットフォーム間で共通です。(他の4つのiOSフック - 自動ショートカット、音声合成、オーディオ、リンクオープン - はiOSのみです。)

URLは何個まで設定できますか?

今のところ1つです。同じURLがすべてのスキャンイベントを受信し、有効化されたソーストグルとペイロードタイプで識別されます。

どんな認証に対応していますか?

HTTP Basic認証 - ユーザー名 + パスワード、iOS Keychainに暗号化保存。Bearerトークン、カスタムヘッダー、HMAC署名は現在サポートされていません。

サーバーがオフラインだった場合は?

POSTは失敗し、イベントは端末上にログされます。今のところ自動リトライキューはありません - ハンドラーをidempotentに設計し、スキャン履歴から再トリガーできるようにしてください。

ペイロードサイズの制限は?

NFC.cool側からのハード制限はありません。タグ自体のペイロードはNFC規格(典型的なNDEFタグで数KB)で制限されます。

実際に動くのを見られますか?

github.com/NickAtGit/nfc-cool-webhook-serverのリファレンスサーバーをクローンしてローカルで起動、アプリをそこに向ければ、すべてのスキャンがリアルタイムで届くのが見えます。

スキャンの準備はいい?