← PushPig
Hilfe & Dokumentation
💡 Was ist PushPig?
PushPig ist kein Chat. Nachrichten werden als Einweg-Broadcast an alle Abonnenten eines Kanals gesendet.
Es gibt keine Antwortfunktion, keine Direktnachrichten und keine Konversationsansicht.
PushPig ist ein Push-Benachrichtigungsdienst: Du erstellst Kanäle, andere Nutzer
abonnieren sie — und wenn du eine Nachricht sendest, landen sie in Echtzeit auf allen Geräten
der Abonnenten: Android, Browser und per E-Mail.
Typische Anwendungsfälle:
- Server- und Monitoring-Alarme aus eigenen Skripten
- Deploy-Benachrichtigungen aus CI/CD-Pipelines
- Infos für eine Gruppe (Familie, Team, Verein)
- Eigene Smart-Home-Ereignisse weiterleiten
⚡ Schnellstart
1. Kanal erstellen
Nach dem Login auf „+ Kanal" klicken, Namen und optionale Beschreibung eingeben.
Öffentliche Kanäle sind für alle sichtbar und beitretbar; private Kanäle nur per Einladung.
2. API-Key abrufen
Im Dashboard unter Einstellungen → API-Schlüssel einen neuen Key generieren.
Dieser Key authentifiziert deine Anwendung beim Senden über die REST-API.
API-Keys sind geheim — nicht in öffentliche Repositories oder Client-Apps einbetten.
3. Erste Nachricht senden
curl -X POST https://pushpig.de/api/push/send \
-H "Authorization: Bearer pp_DEIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel": "mein-kanal",
"body": "Hallo von der API!"
}'
4. Abonnieren & Benachrichtigungen empfangen
- Android-App: Kanal öffnen → Abonnieren → Push-Benachrichtigungen aktivieren
- Browser: Im Dashboard auf den Kanal klicken → Glocken-Symbol → Browserbenachrichtigungen erlauben
- E-Mail: Im Kanal das E-Mail-Symbol aktivieren (setzt verifizierte E-Mail-Adresse voraus)
Alle Endpunkte, Parameter, Scopes, Rate-Limits und Antwortformate stehen ausführlich im Tab
„API-Referenz" (oben).
⚙ Erweiterte Funktionen
Vorlagen (Templates)
Wiederkehrende Nachrichten können als Vorlage gespeichert werden — entweder persönlich (nur für
dich sichtbar) oder geteilt mit allen Schreibern eines Channels. Über die Nachricht senden-Seite kannst du
eine Vorlage auswählen und alle Felder mit einem Klick befüllen. Verwalten lassen sich Vorlagen unter dem
Vorlagen-Button im Send-Formular.
Bulk-Send mit CSV-Import
Pro Channel kannst du im Channel-Detail einen Bulk-Job starten und eine CSV-Datei mit Empfängern
hochladen. Spalte username ist Pflicht, weitere Spalten werden zu Platzhaltern wie
{name}, die du in Title und Body verwenden kannst:
username,name,prize
alice,Alice,100 EUR
bob,Bob,50 EUR
carol,Carol,200 EUR
Body-Template: Hallo {name}, du hast {prize} gewonnen! → jedem Empfänger wird die Nachricht
mit seinen Werten zugestellt. Nicht-Subscriber werden übersprungen, Bulk-Jobs werden asynchron im Hintergrund
verarbeitet und sind im UI mit Fortschritts-Anzeige + Drilldown nachverfolgbar. Max. 5000 Zeilen pro Job.
Quiet Hours
Jeder User kann pro Channel eine eigene Nicht-Stören-Zeit setzen. In diesem Fenster werden
Push-Benachrichtigungen nicht zugestellt, sondern in einer Queue gehalten und nach Ende der Sperre ausgeliefert.
Die Zeitzone für die Auswertung kommt aus deinem Profil (Einstellungen → Zeitzone).
Wer eine wirklich dringende Nachricht senden muss, kann "urgent": true im API-Request setzen — diese
Pushes umgehen die Quiet-Hours aller Empfänger.
Webhooks
Channel-Owner können Webhooks einrichten, die bei bestimmten Events eine externe URL aufrufen.
Verfügbare Events: push.sent, push.failed, channel.subscribed,
channel.unsubscribed, bulk.completed. Jeder Request trägt einen
X-PushPig-Signature-Header (HMAC-SHA256 des Bodys mit dem Webhook-Secret), damit Empfänger die
Echtheit verifizieren können.
POST https://example.com/your-webhook
Content-Type: application/json
X-PushPig-Event: push.sent
X-PushPig-Delivery: 8a4f9b21c0d3...
X-PushPig-Signature: sha256=
{
"event": "push.sent",
"channel_id": 42,
"timestamp": "2026-05-15T20:00:00+00:00",
"data": {
"event_id": 1234,
"channel_slug": "deploys",
"title": "Deploy erfolgreich",
"body": "Version 2.4.1 ist live.",
"fcm_sent": 3,
"webpush_sent": 1,
"email_sent": 0
}
}
Verifikation auf Empfängerseite (Bash):
expected=$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$SECRET" | awk '{print $2}')
[[ "sha256=$expected" == "$SIGNATURE_HEADER" ]]
Einladungs-Links & QR-Codes
Kanal-Ersteller können einmalig nutzbare Einladungs-Links generieren (7 Tage gültig). Die Android-App
zeigt den Link zusätzlich als QR-Code an — wer ihn scannt, öffnet automatisch die PushPig-App und tritt dem Channel
bei. Ist die App nicht installiert, leitet die URL auf die Web-Version oder den Play-Store-Eintrag.
iOS-Unterstützung (Safari 16.4+)
Auf iPhone und iPad funktionieren Web-Push-Benachrichtigungen nur, wenn PushPig zuvor zum Home-Bildschirm
hinzugefügt wurde:
- Im Safari über das Teilen-Symbol → Zum Home-Bildschirm hinzufügen
- App vom Home-Bildschirm starten (sieht aus wie eine native App)
- In den Einstellungen unter Browser-Benachrichtigungen aktivieren
Delivery-Status pro Event
Im Channel-Feed wird neben jedem Event angezeigt, an wie viele Geräte er ausgeliefert wurde — aufgeschlüsselt
nach Android-App (FCM), Browser (Web Push) und E-Mail. Sender bekommen denselben Status auch direkt in der
API-Response (fcm_sent, webpush_sent, email_sent, deferred).
❓ Häufige Fragen
Kann ich PushPig als Chat nutzen?
Nein. PushPig ist ein Einweg-Broadcast-Dienst. Nachrichten gehen vom Sender an alle Abonnenten —
es gibt keine Möglichkeit zu antworten oder Direktnachrichten zu senden.
Für Chat gibt es bessere Werkzeuge (Signal, Matrix, Slack etc.).
Auf welchen Plattformen funktioniert PushPig?
- Android-App — Push-Benachrichtigungen via FCM
- Browser (Chrome, Firefox, Edge) — Web Push + Echtzeit-Feed im Dashboard
- iPhone / iPad (Safari 16.4+) — Web Push, nachdem PushPig zum Home-Bildschirm hinzugefügt wurde
- E-Mail — bei aktivierter E-Mail-Benachrichtigung pro Kanal
- REST-API — zum Senden aus eigenen Anwendungen und Skripten
Was sind Quiet Hours und wie funktionieren sie?
Quiet Hours sind Nicht-Stören-Zeiten, die jeder Subscriber pro Channel einzeln festlegen kann.
Pushes, die in dieses Zeitfenster fallen, werden zurückgehalten und erst nach Ende des Fensters zugestellt.
Die Auswertung erfolgt in deiner Profil-Zeitzone. Wer eine wirklich dringende Nachricht senden muss, kann das
urgent-Flag setzen — solche Pushes werden trotzdem sofort zugestellt.
Kann ich API-Keys einschränken?
Ja. Beim Erstellen eines API-Keys lassen sich Scopes wählen
(push:send, channels:read) und zusätzlich auf bestimmte Channels einschränken.
Damit kann z. B. ein Key nur in einen einzigen Deploy-Channel schreiben, sonst nichts.
Wie funktionieren Webhooks?
Channel-Owner können externe URLs hinterlegen, die bei Events (z. B. push.sent,
channel.subscribed, bulk.completed) angerufen werden. Jeder Request enthält einen
X-PushPig-Signature-Header (HMAC-SHA256 des Bodys mit dem Webhook-Secret), damit du die Echtheit
verifizieren kannst. Fehlgeschlagene Zustellungen werden bis zu 5× mit Exponential-Backoff wiederholt.
Wie sicher sind meine Nachrichten?
Die Übertragung zwischen Client und Server ist immer mit HTTPS/TLS verschlüsselt.
Web-Push-Nachrichten werden zusätzlich nach RFC 8291 Ende-zu-Ende-verschlüsselt.
Nachrichten werden jedoch im Klartext in der Datenbank gespeichert — es gibt
keine Ende-zu-Ende-Verschlüsselung auf Datenbankebene.
Für hochsensible Inhalte ist PushPig daher nicht geeignet.
Wie lange werden Nachrichten gespeichert?
Benachrichtigungsereignisse werden nach 90 Tagen automatisch gelöscht.
Was ist der Unterschied zwischen öffentlichen und privaten Kanälen?
Öffentliche Kanäle sind für alle eingeloggten Nutzer sichtbar und können frei
abonniert werden.
Private Kanäle tauchen nicht in der öffentlichen Liste auf und sind nur über
einen Einladungslink oder eine direkte Einladung per Benutzername/E-Mail zugänglich.
Was passiert, wenn ich mein Konto lösche?
Alle deine Daten (Kanäle, Abonnements, API-Keys, FCM-Token, Passkeys) werden unwiderruflich gelöscht.
Kanäle, die du erstellt hast, werden ebenfalls entfernt, einschließlich aller darin enthaltenen Ereignisse.
Wo melde ich Missbrauch oder Bugs?
Hilfe & API ·
Preise ·
Kontakt ·
Impressum ·
Datenschutz