Integration-Kit

Key rein, läuft.

Beispiele für curl, JavaScript und Python, alle ohne Abhängigkeiten, dazu ein Newsletter-Generator. Jede Datei hier ist genau die, die du herunterlädst, und wurde gegen echte API-Antworten getestet.

01Schnellstart mit curl

Die Basis-URL ist https://api.wirelytics.de/brief-api. Jeder Aufruf ist ein GET mit deinem Key im Header, mehr braucht es nicht.

02Key & Sicherheit

Der Key gehört in eine Umgebungsvariable (WIRELYTICS_API_KEY) oder deinen Secret-Store, nie ins Repository. Senden kannst du ihn als Authorization: Bearer … oder als x-api-key: ….

Nur serverseitig aufrufen. Ein Key im Browser-Code ist öffentlich: Jeder Besucher kann ihn auslesen und dein Tageskontingent verbrauchen. Hol die Briefs auf deinem Server oder in deinem Build-Job und liefere nur das Ergebnis aus.

03JavaScript

Ein ES-Modul für Node 18+, Deno und Bun, ohne Pakete. Du kannst es importieren (getBrief, getBatch) oder direkt ausführen: node wirelytics.mjs CRML ALIT. Fehler kommen als WirelyticsError mit status, code und bei 429 retryAfter.

04Python

Python 3.8+, nur die Standardbibliothek, pip install ist nicht nötig. Aufruf: python wirelytics.py CRML ALIT, oder from wirelytics import get_brief, get_batch.

05Batch & Tages-Cover

Mit ?tickers=A,B,C holst du bis zu 50 Ticker in einem Aufruf, sortiert nach Score. Jeder angefragte Ticker kommt als eigener Eintrag zurück, auch wenn es für ihn nichts gibt. Prüf deshalb vor dem Rendern zwei Flags:

EintragBedeutung
verdict, quote, …Vollständiger Brief, wie im Einzelaufruf.
missing: trueKein Brief in den letzten 30 Tagen (oder am angefragten Datum).
denied: trueTicker liegt außerhalb deines Abdeckungs-Sets.

Mit &include=edition hängt dieselbe Antwort das Tages-Cover an: Wechselkurse (fx.rates[C] = USD je 1 Einheit C) und Marktwetter (Indizes, VIX, Makro-Termine). Ein Aufruf liefert so alles für einen täglichen Digest. Jeder angefragte Ticker zählt einzeln gegen dein Tageskontingent.

Frische: meta.age_days sagt dir, wie alt ein Brief ist (0 = heute gebaut). Mit &date=YYYY-MM-DD greifst du auf das Archiv zu.

06Fehler & Limits

Fehler sind JSON: { "error": "…", "hint": "…" } mit passendem HTTP-Status.

Status · errorWas tun
400 missing_ticker · batch_too_large · format_not_supported_for_batchAnfrage korrigieren (max. 50 Ticker; Batch nur JSON).
401 missing_api_key · invalid_api_keyKey und Header prüfen.
403 ticker_not_in_planTicker über deinen Verwaltungs-Link ins Abdeckungs-Set aufnehmen.
404 not_foundKein Brief im Zeitraum. Für Älteres &date= nutzen.
429 rate_limitedTageskontingent erschöpft. Retry-After (Sekunden) nennt die Zeit bis zum Reset um 00:00 UTC.
500 query_failedKurz warten und erneut versuchen.

Jede Antwort trägt X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset (Unix-Zeit, nächste UTC-Mitternacht) sowie X-API-Version: 1. Neue Felder kommen ohne Versionssprung dazu. Ignoriere also unbekannte Felder, statt auf eine feste Feldliste zu prüfen.

07Newsletter-Vorlage

Ein Aufruf (Batch mit Cover) wird zu einem Markdown-Entwurf, den du in deiner Stimme überarbeitest und in Substack, Ghost, Beehiiv oder Mailchimp einfügst: node newsletter.mjs CRML ALIT UURAF > entwurf.md

Du bist Herausgeber. Die Analysen sind illustrativ und algorithmisch erzeugt. Lass den Disclaimer am Ende stehen und prüf, welche Pflichten (z. B. MAR Art. 20) für deine Veröffentlichung gelten. Mehr dazu unter Rechtliche Einordnung.

So sieht die Ausgabe aus, erzeugt aus der echten API-Antwort zu einem historischen Brief (21.09.2026). Es geht um das Format, nicht um eine aktuelle Einschätzung:

Noch keinen Key?

Zugang anfragen, Key per E-Mail erhalten, Watchlist festlegen: Ab dem nächsten Morgen laufen deine Briefs.