Zapier
Mit Zapiers "Catch Webhook"-Trigger leitest du Scans an über 5.000 Apps weiter - CRMs, Tabellen, Slack, alles. Der kostenlose Tarif reicht für kleine Volumina.
NFC.cool ist ein Scanner, der deinen Stack respektiert. Jeder Scan kann ein strukturierter HTTP-POST an dein eigenes Backend sein - in vorhersehbarem JSON, direkt vom Gerät verschickt. Kein Vermittler, kein NFC.cool-Konto, kein Upload zu unseren Servern.
Ein Webhook ist einfach ein JSON-POST an eine URL deiner Wahl - alles, was HTTP spricht, geht damit.
Mit Zapiers "Catch Webhook"-Trigger leitest du Scans an über 5.000 Apps weiter - CRMs, Tabellen, Slack, alles. Der kostenlose Tarif reicht für kleine Volumina.
Self-hosted n8n für unbegrenzte Workflow-Durchläufe ohne Pro-Task-Pricing. Der HTTP-Trigger-Node nimmt NFC.cool-POSTs direkt entgegen.
Visueller Workflow-Builder mit breiter App-Abdeckung. Nutze das Webhooks-Modul als Einstiegspunkt für jeden NFC.cool-Scan.
Für einfaches "if this then that"-Routing. IFTTTs Webhooks-Service liefert eine eigene URL, die du in die NFC.cool-Webhook-Konfiguration einträgst.
Richte die Webhook-URL direkt auf einen Slack-Incoming-Webhook (oder das Discord-/Teams-Äquivalent), um bei jedem Tap in einen Channel zu pingen.
Jeder HTTPS-Endpunkt, der einen JSON-POST akzeptiert, funktioniert. Schema, Auth-Modell und Beispiel-Empfänger findest du weiter unten.
Inventur + Audit-Trail. Tippe einen Tag auf einem Artikel an, NFC.cool POSTet in eine Tabelle oder ein Warehouse-System; eine Zeile erscheint mit Zeitstempel + Tag-Identifier + Payload.
Lead-Erfassung auf Events. Tippe einen Tag auf deinem Messebanner an, dein CRM sendet automatisch eine Follow-up-E-Mail.
Smart-Home-Trigger. Tippe einen Tag an der Haustür an, um “Ich bin zu Hause” zu markieren - Home Assistant / Homey / Hubitat empfängt es per Webhook.
Asset-Tracking. Wartungspersonal tippt Tags auf Geräten an, um Inspektionen zu protokollieren; das Backend baut das Compliance-Log.
Konferenz-Check-ins. Tippe das NFC-Badge eines Gastes an; der Webhook aktualisiert deine Event-Plattform in Echtzeit.
Aktivierbar unter Einstellungen → Webhook in der App: eine HTTPS-URL eintragen, optional Benutzername/Passwort für HTTP Basic Auth hinterlegen, dann “NFC-Scans” und “QR- & Barcode-Scans” unabhängig voneinander einschalten. Verfügbar auf iOS und Android.
Die App sendet einen einzelnen POST pro Scan an die hinterlegte URL. Es gibt keine separate Retry-Queue: ist dein Endpunkt nicht erreichbar oder liefert er einen Non-2xx-Status zurück, scheitert der POST. Antworte idealerweise mit 204 No Content; jeder 2xx-Status gilt als angenommen.
Content-Type application/json, Body ist pretty-printed JSON:
{
"identifier" : "04:A2:7F:1B:5E:80:00",
"date" : "2026-05-12T14:23:01Z",
"content" : "https://example.com/check-in/abc123"
}Strukturierte Tags (aktuell OpenPrintTag) fügen zwei weitere Felder hinzu:
{
"identifier" : "04:A2:7F:1B:5E:80:00",
"date" : "2026-05-12T14:23:01Z",
"content" : "Filament Spool #1234",
"tagType" : "openPrintTag",
"structured" : { "...geparste Felder..." }
}Feld-Referenz:
identifier - Bei NFC-Scans die Hardware-UID des Tags als doppelpunktgetrennter Hex-String in Großbuchstaben (z. B. 04:A2:7F:1B:5E:80:00). Pro Tag stabil, also gut für Deduplizierung. Bei QR- & Barcode-Scans dagegen ein frisch generiertes UUID pro Scan - keine stabile Code-Kennung. In älteren iOS-NFC-Kompatibilitätsmodi, in denen die UID nicht ausgelesen werden kann, steht hier der String NoIdentifierInCompatibilityMode.
date - ISO 8601, Zeitpunkt des Scans auf dem Gerät.
content - Dekodierter Inhalt. Bei NFC der NDEF-Record-Wert (URI oder Text), bei QR/Barcode der rohe dekodierte String.
tagType - Bei einfachen Scans ausgelassen. Bei OpenPrintTag-Scans "openPrintTag".
structured - Bei einfachen Scans ausgelassen. Geparste strukturierte Payload, wenn tagType gesetzt ist.
Webhooks unterstützen ausschließlich HTTP Basic Auth. Unter Einstellungen → Webhook kannst du optional Benutzername und Passwort im iOS-Keychain hinterlegen. Die App antwortet damit auf standardmäßige HTTP 401 / WWW-Authenticate: Basic-Challenges deines Servers.
Heißt: dein Endpunkt entscheidet, ob Auth erforderlich ist. Brauchst du keine, lass die Felder in der App leer und überspring die Challenge serverseitig. Brauchst du sie, antworte auf den ersten POST mit 401 und WWW-Authenticate: Basic realm="…" - das Gerät wiederholt den Request dann mit Authorization: Basic … und den gespeicherten Credentials. Alles läuft über TLS; NFC.cools Server sehen deine Zugangsdaten nie.
Bearer-Token, API-Keys oder HMAC-Signaturen werden aktuell nicht unterstützt. Wenn du sie brauchst, terminiere sie an einem Reverse Proxy (Cloudflare Worker, nginx, …), der Basic in dein Schema übersetzt.
curl -X POST https://dein-server.example/webhook \
-u 'nfc-cool:dein-passwort' \
-H 'Content-Type: application/json' \
-d '{"identifier":"04:A2:7F:1B:5E:80:00","date":"2026-05-12T14:00:00Z","content":"hello"}'import express from "express";
import basicAuth from "express-basic-auth";
const app = express();
app.use(express.json());
app.post(
"/webhook",
basicAuth({
users: { "nfc-cool": process.env.WEBHOOK_PASSWORD },
challenge: true, // damit NFC.cool den POST mit Credentials wiederholt
}),
(req, res) => {
const { identifier, date, content, tagType } = req.body;
console.log(`scan ${tagType ?? "plain"} ${content} id=${identifier} at ${date}`);
res.status(204).end();
}
);
app.listen(3000);import os
import secrets
from fastapi import FastAPI, Depends, HTTPException, Request, status
from fastapi.security import HTTPBasic, HTTPBasicCredentials
app = FastAPI()
security = HTTPBasic()
def check(creds: HTTPBasicCredentials = Depends(security)):
ok_user = secrets.compare_digest(creds.username, "nfc-cool")
ok_pass = secrets.compare_digest(creds.password, os.environ["WEBHOOK_PASSWORD"])
if not (ok_user and ok_pass):
raise HTTPException(
status.HTTP_401_UNAUTHORIZED,
headers={"WWW-Authenticate": 'Basic realm="nfc-cool"'},
)
@app.post("/webhook")
async def webhook(request: Request, _: None = Depends(check)):
body = await request.json()
print(f"scan: {body['content']} id={body['identifier']}")
return {"status": "ok"}NFC.cool Tools auf iOS stellt eine Handvoll App Intents bereit, die du in die Kurzbefehle-App, Automationen, Fokus-Modi oder Apple Intelligence einbauen kannst.
ScannenStartet einen Scan in der gewählten Funktion: NFC, QR / Barcode, Dokument, 3D-Objekt oder Raum.
Tab öffnenÖffnet NFC.cool an einem bestimmten Tab (NFC, QR, Dokument, 3D, Mehr), ohne einen Scan zu starten.
Letzten NFC-Tag holenGibt den Inhalt des zuletzt gescannten NFC-Tags als String zurück - praktisch als Kurzbefehl-Input. Startet die App nicht.
Letzten QR-Code holenGibt den Inhalt des zuletzt gescannten QR-Codes / Barcodes zurück. Startet die App nicht.
NFC schreibenÖffnet den NFC-Schreibflow, vorausgefüllt mit URL oder Text aus dem Kurzbefehl.
Die iOS-18-Varianten (NFC Scan, QR Scan, Document Scan, Object Scan, Room Scan) erscheinen direkt in Spotlight und im Action-Button-Picker.
Für Deep-Links aus anderen iOS-Apps, Widgets oder Home-Screen-Shortcuts registriert NFC.cool Tools diese URLs:
nfcforiphone://scan-nfc
nfcforiphone://scan-code
nfcforiphone://scan-document
nfcforiphone://scan-object (iOS 17+)
nfcforiphone://scan-room (iOS 17+)Jede dieser URLs öffnet direkt den passenden Scanner. Die Schemata nfc:// und geo:// sind ebenfalls registriert, um externe Tag- bzw. Koordinaten-Links zu übernehmen.
Auffindbare Feeds für Tooling, Suchmaschinen und KI-Agenten:
/sitemap.xmlVollständiger Site-Index - jede Route plus letztes Änderungsdatum.
/llms.txtKI-freundliches Site-Verzeichnis (automatisch generiert).
/feed.xmlSeitenweiter RSS mit Volltext-Inhalt aus jeder Sektion.
/blog/feed.xmlBlog-spezifischer RSS-Feed.
/changelog/feed.xmlRelease-Feed - Versionen, Daten, Changelog-Einträge.
/assets/nav-index.jsonStrukturierter Navigations-Index mit Titeln, Zusammenfassungen, Tags und URLs.
/assets/search-index.jsonVolltext-Inhalt jedes Artikels für client-seitige Suche.
Du baust auf NFC.cool auf, oder kennst einen Integrations-Partner, der hier stehen sollte? Schreib uns: hello@nfc.cool.