Push-Benachrichtigung aus Node.js senden
20. Juli 2026 · 4 Min. Lesezeit
Node 18+ bringt fetch global mit – dein Handy zu benachrichtigen ist damit buchstäblich ein Ausdruck. Kein SDK, kein npm install. Hier die Muster, die sich zu kopieren lohnen.
Setup (einmalig, unter einer Minute)
Webhooky-App installieren (Android / iOS) – deine Endpoint-URL ist ab dem ersten Öffnen fertig, ohne Konto.
Der Einzeiler
await fetch("https://api.webhooky.app/DEIN_KEY", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ title: "✅ Deploy fertig", message: "v2.4.1 ist live" }),
});
Das catch-Block-Muster
async function notify(title, message, sound = "notification_1") {
try {
await fetch("https://api.webhooky.app/DEIN_KEY", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ title, message, sound }),
});
} catch {} // der Alarm darf den Job nie brechen
}
try {
await chargeCustomer(order);
await notify("💶 Zahlung eingegangen", `Bestellung ${order.id} · ${order.total} €`, "cash_register");
} catch (err) {
await notify("🚨 Zahlung FEHLGESCHLAGEN", String(err).slice(0, 500), "error_1");
throw err;
}
Crashes prozessweit abfangen
process.on("uncaughtException", async (err) => {
await notify("🚨 Prozess abgestürzt", String(err).slice(0, 500), "error_1");
process.exit(1);
});
Dieselbe Idee funktioniert in einer express-Error-Middleware oder einem PM2-Restart-Hook – und natürlich in Firebase Cloud Functions und Supabase Edge Functions.
Alle Felder
title, message, sound (eine von 40 IDs wie cash_register oder error_1) und vibrate – alles optional, alles pro Nachricht. Details in der API-Doku; die Python-Version dieses Guides steht hier.
Hol dir Webhooky
Kostenlos für deine ersten 100 Benachrichtigungen – Endpoint in zwei Minuten eingerichtet.