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.

Jetzt bei Google Play Laden im App Store