Externe Tools an Streamheim
Stream Deck · Streamer.bot · Discord · eigene Overlays
Inhalt
Kurzüberblick — die Navigation links führt zu allen Kapiteln.
- Schnellstart im Panel
- Was du damit machen kannst
- Zugangsschlüssel
- Stream Deck
- Streamer.bot
- Benachrichtigungen (Webhooks)
- Sounds & Bibliothek
- Sicherheit
- Für Entwickler (REST & JSON)
- FAQ
Schnellstart im Panel
- Im Panel: Setup → Tools verbinden öffnen
- Tab Ausprobieren — Funktion wählen, ausführen, Ergebnis lesen und JSON darunter prüfen
- Für Stream Deck o. Ä.: Tab Zugangsschlüssel — neuen Schlüssel anlegen, Berechtigungen ankreuzen, kopieren
- Fertige Texte: Tab Vorlagen — URL + Schlüssel einsetzen, in dein Tool einfügen
Du musst kein Programmierer sein. Wer Stream Deck oder Streamer.bot schon nutzt, trägt nur URL und Schlüssel ein.
Was du damit machen kannst
| Du willst … | Lösung |
|---|---|
| Sound per Stream-Deck-Taste | Zugangsschlüssel + Vorlage „Sound abspielen“ |
| Bei Sub automatisch Sound oder Rad | Streamer.bot → Web Request bei Twitch-Event |
| Watchtime-Top-10 auf eigener Seite | API abfragen (nur lesen) — Vorlage im Panel |
| Discord-Ping wenn Gewinner gezogen | Tab Benachrichtigungen → Discord-Webhook-URL |
| Eigenes Live-Overlay mit Echtzeit-Daten | Vorlage „Live-WebSocket“ + Schlüssel mit Live-Berechtigung |
Zugangsschlüssel
Ein Schlüssel ist wie ein Passwort für dein Tool — nur für deinen Kanal, mit klaren Rechten.
Im Panel
- Setup → Tools verbinden → Zugangsschlüssel
- Name vergeben (z. B. „Stream Deck“)
- Haken setzen: Was darf dieses Tool? (z. B. nur Sound, nicht alles)
- Schlüssel erscheint einmal — sofort kopieren und sicher speichern
- Bei Leak oder Wechsel: Widerrufen — alter Schlüssel ist sofort ungültig
Wer darf Schlüssel anlegen?
| Rolle | Anlegen |
|---|---|
| Streamer / Inhaber | Ja |
| Team mit Setup-Bearbeitung | Ja (für diesen Kanal) |
| Nur Ansehen | Nein |
Berechtigungen — in Klartext
| Im Panel heißt es … | Bedeutet |
|---|---|
| Status lesen | Live?, Bot im Chat?, Timer |
| Watchtime lesen | Bestenliste, User-Statistik |
| Punkte lesen | Community-Punkte, Shop-Liste |
| Gewinnspiel lesen | Läuft gerade eins? Wie viele Teilnehmer? |
| Sound auslösen | Sound im Stream abspielen |
| Glücksrad | Rad drehen (echte Stream-Aktion) |
| Gewinnspiel steuern | Starten / Gewinner ziehen |
| Stream-Timer | Timer starten/stoppen |
| Live-Overlay | Echtzeit-Events per WebSocket |
| Webhooks verwalten | Benachrichtigungen per API anlegen |
Authorization: Bearer DEIN_SCHLUESSEL
Basis-Adresse für alle Aufrufe:
https://panel.streamheim.de/api/v1/channel/…
Stream Deck
⏱ Ca. 3 Minuten · Vorlage im Panel unter Vorlagen → Stream Deck
- Schlüssel mit Berechtigung „Sound auslösen“ anlegen
- In Stream Deck: Plugin Bar Raider Web Request oder Streamer.bot als Zwischenschritt (Sounds brauchen POST, nicht nur „Website öffnen“)
- Vorlage aus dem Panel kopieren — Sound-URL aus Tab Ausprobieren → Sound-Bibliothek oder aus dem JSON dort
- Header
Authorization: Bearer …setzen, testen
Sound läuft in der OBS-Browser-Quelle — nicht auf dem PC-Lautsprecher der Zuschauer.
Streamer.bot
⭐ Empfohlen für Automatik (Sub, Kanalpunkte, Timer)
- Aktion Web Request: POST auf
…/api/v1/channel/actions/sound/play - Header:
Authorization+Content-Type: application/json - Body (Beispiel):
{
"url": "/channel-sounds/DEINE_ID/mein-sound.mp3",
"volume": 80
}
volume: 0–100 (Prozent) oder 0–1 — beides funktioniert.
Trigger z. B. „Twitch → New Subscriber“ oder „Channel Point Redemption“ → dieselbe Web-Request-Aktion.
Nur Daten lesen (Watchtime)
GET https://panel.streamheim.de/api/v1/channel/watchtime/top?limit=10 Authorization: Bearer DEIN_SCHLUESSEL
Antwort ist JSON — im Tab Ausprobieren siehst du dieselbe Struktur lesbar und als Roh-JSON.
Benachrichtigungen (Webhooks)
Statt alle paar Minuten abzufragen, meldet sich Streamheim bei dir — z. B. an Discord oder Power Automate.
- Panel → Tools verbinden → Benachrichtigungen
- Name + HTTPS-URL (Discord-Webhook, Power-Automate-Link, …)
- Events wählen — z. B. Gewinner gezogen, Stream live
- Geheimnis beim Anlegen kopieren (zur Signatur-Prüfung)
| Event | Wann |
|---|---|
stream.live / stream.offline | Stream startet / endet |
giveaway.winner | Gewinner gezogen |
wheel.result | Glücksrad-Ergebnis |
sound.played | Sound gestartet |
points.purchase | Shop-Einlösung (Community-Punkte) |
bot.alert | Bot-/Token-Problem |
Max. 8 Benachrichtigungen pro Kanal. Nur https://, keine internen Adressen.
Sounds & Bibliothek
GET /api/v1/channel/sounds liefert:
- Deine Sounds — hochgeladen im Panel
- Streamheim-Bibliothek — geteilte Plattform-Sounds (im Ausprobieren-Tab als eigene Gruppe)
Zum Abspielen per API nur URLs aus dieser Liste verwenden — eigene Pfade oder Bibliothek-Einträge.
Sicherheit
- Schlüssel niemals im Chat, auf Stream oder in öffentlichem GitHub
- Pro Tool nur die Berechtigungen geben, die wirklich nötig sind
- Gelegentliche Limits (z. B. Sound-Anzahl pro Minute) schützen vor Missbrauch
- Schlüssel geleakt? Sofort widerrufen im Panel
- Die API kann keine Twitch-Moderation (Ban, Timeout) — bewusst so
Für Entwickler (REST & JSON)
Technische Referenz — im Panel unter Ausprobieren kannst du jeden Endpunkt testen und das JSON sehen.
| Methode | Pfad | Hinweis |
|---|---|---|
| GET | /status | Live, Bot, Timer |
| GET | /watchtime/top, /watchtime/user?login= | Modul Watchtime |
| GET | /points/user, /points/shop | Modul Community-Punkte |
| GET | /giveaway, /sounds | Status / Bibliothek |
| POST | /actions/sound/play | { url, volume? } |
| POST | /actions/wheel/spin | optional Metadaten |
| POST | /actions/giveaway/start, …/draw | Modul Gewinnspiel |
| POST | /actions/stream/start, …/stop | Stream-Timer |
Live-WebSocket (Socket.IO)
Scope „Live-Overlay“ — Vorlage im Panel. Verbindung:
socket.emit("join-api-live", { apiKey: "DEIN_SCHLUESSEL" });
socket.on("api:live", (msg) => { /* msg.event, msg.data */ });
FAQ
Sehen Zuschauer meinen Schlüssel?
Nein — solange du ihn nicht öffentlich postest. Nur lokal in Tools eintragen.
Ersetzt die API Chat-Befehle?
Nein — sie ergänzt sie. Zuschauer nutzen weiter !sound usw.; du steuerst zusätzlich per Deck oder Bot.
StreamElements parallel?
Ja. Streamheim-API aus SE/Streamer.bot triggern, ohne doppelte Chat-Befehle.
Wo teste ich ohne externes Tool?
Panel → Tools verbinden → Ausprobieren — lesbare Ansicht + JSON darunter.
Stand: Juli 2026 · API v1 · Panel: Setup → Tools verbinden