Raw-Pinnacle-Frames über den WebSocket (Pro)
Antwort: auf Pro (und Enterprise) fügen Sie "format":"raw" zu Ihrem subscribe hinzu. Statt normalisierter snapshot/delta-Frames sendet PinnFeed dann raw-Frames: Pinnacles eigene Spiel- und Marktdatensätze, so wie Pinnacle sie veröffentlicht, in einem kleinen PinnFeed-Umschlag. Raw-Frames werden nur nach Sport gefiltert: Liga-, Event-, Markt- und main-Filter greifen nicht, es gibt keinen Snapshot beim Abonnieren, und fair, fairProb oder margin werden nicht ergänzt. Auf Builder liefert dieselbe Anfrage einen error-Frame mit Code plan_lacks_raw.
Subscribe#
{"type":"subscribe","sports":["soccer","tennis"],"format":"raw"}
Der Server antwortet mit subscribed und "format":"raw". Antworten Sie weiterhin alle 20 s auf {"type":"ping"} mit {"type":"pong"}; das 60-s-Pong-Timeout und der Close 4008 slow_consumer (Buffer über 16 MB) gelten weiter. Raw ist meist schwerer als normalisiert.
Frame-Format#
{"type":"raw","seq":1842,"ts":1794217196688,"sportId":29,"sport":"soccer","channel":"live","kind":"matchup","action":"upsert","eventId":1640275337,"data":{"id":1640275337,"league":{},"participants":[],"markets":[]}}
| Feld | Bedeutung |
|---|---|
type | Immer raw. |
seq | Aufsteigender Zähler der Raw-Frames auf diesem Server. |
ts | Wann PinnFeed den Frame gesendet hat (ms seit Epoch). |
sportId, sport | Pinnacle-Sport-ID und PinnFeed-Sportname. |
channel | live oder prematch. |
kind | matchup (ein Event), matchups (Liste von Events), markets (alle Märkte eines Events) oder snapshot (vollständige Event-Liste mit Märkten, beim (Neu-)Start des Feeds). |
action | upsert, remove (data ist nur {"id":…}) oder replace (die Liste ersetzt, was Sie für dieses Event oder diesen Sport halten). |
eventId | Das Event, um das es geht (matchup und markets). |
part, final | Nur bei großen markets-Listen in Teilen: Liste anwenden, sobald der Teil mit final: true da ist. |
data | Pinnacle-Datensätze, unnormalisiert: amerikanische Quoten, Pinnacle-Feldnamen. |
Normalisiert oder raw?#
| Normalisiert (alle WS-Tarife) | Raw (Pro, Enterprise) | |
|---|---|---|
| Schema | Dokumentiertes PinnFeed v1 (schema) | PinnFeed-Umschlag + Pinnacles eigene Datensätze (Pinnacle-Felder) |
| Filter | sports, leagues, events, markets, live, main, specials | nur sports |
| Snapshot beim Subscribe | Ja (Opt-out snapshot:false) | Nein |
| Fair Odds und Marge | Enthalten | Nicht hinzugefügt |
| Typischer Einsatz | Apps, Bots, Dashboards | Eigener Normalisierer, Archiv, Debug |
Die meisten Projekte bleiben bei normalisierten Frames. Raw lohnt sich nur, wenn Sie einen eigenen Normalisierer auf Pinnacles Datensatzformat bauen oder die Datensätze archivieren wollen.
Tarife#
Pro kostet 199 €/Monat mit 10 WebSocket-Verbindungen und 30 req/s REST; Builder (99 €/Monat) hat normalisierte Frames mit 3 Verbindungen. 3 Tage Testphase; eine Karte ist erforderlich und wird nach Tag 3 belastet, sofern Sie nicht kündigen. Preise · WebSocket-Doku.
Bildungsinhalt für Erwachsene (18+). Keine Tipps, kein Gewinnversprechen. In Deutschland nur bei Anbietern auf der GGL-Whitelist wetten.
Siehe auch: Snapshot und Delta · Snapshot/Delta-Map in Node.
Häufige Fragen#
Kann eine Verbindung raw und normalisiert mischen?#
Nein. Das Format gilt pro Verbindung; öffnen Sie für das andere Format eine zweite Verbindung.
Ist raw schneller?#
Es überspringt die Normalisierung, aber PinnFeed veröffentlicht keine Latenzzahl für keines der beiden Formate. Messen Sie selbst.
Sind Raw-Frames dokumentiert?#
Der Umschlag oben ist Teil des PinnFeed-v1-Protokolls. Die Datensätze in data folgen Pinnacles eigenem Format, das PinnFeed nicht versioniert; wer ein stabiles Schema braucht, nimmt normalisierte Frames.