Frames brutes Pinnacle sur le WebSocket (Pro)
Réponse : sur Pro (et Enterprise), ajoutez "format":"raw" à votre subscribe. Au lieu des frames normalisées snapshot/delta, PinnFeed envoie alors des frames raw : les enregistrements de matchs et de marchés de Pinnacle, tels que Pinnacle les publie, dans une petite enveloppe PinnFeed. Les frames brutes sont filtrées par sport uniquement : les filtres de ligue, d'événement, de marché et main ne s'appliquent pas, il n'y a pas de snapshot à l'abonnement, et ni fair, ni fairProb, ni margin ne sont ajoutés. Sur Builder, la même requête renvoie une frame error avec le code plan_lacks_raw.
Subscribe#
{"type":"subscribe","sports":["soccer","tennis"],"format":"raw"}
Le serveur répond subscribed avec "format":"raw". Continuez à répondre à {"type":"ping"} par {"type":"pong"} toutes les 20 s ; le timeout pong de 60 s et la fermeture 4008 slow_consumer (buffer > 16 Mo) s'appliquent toujours. Le raw est en général plus lourd que le normalisé.
Format de la frame#
{"type":"raw","seq":1842,"ts":1794217196688,"sportId":29,"sport":"soccer","channel":"live","kind":"matchup","action":"upsert","eventId":1640275337,"data":{"id":1640275337,"league":{},"participants":[],"markets":[]}}
| Champ | Signification |
|---|---|
type | Toujours raw. |
seq | Compteur croissant des frames brutes sur ce serveur. |
ts | Moment de l'envoi par PinnFeed (ms depuis epoch). |
sportId, sport | Id de sport Pinnacle et nom de sport PinnFeed. |
channel | live ou prematch. |
kind | matchup (un événement), matchups (liste d'événements), markets (tous les marchés d'un événement) ou snapshot (liste complète d'événements avec marchés, au (re)démarrage du flux). |
action | upsert, remove (data vaut seulement {"id":…}) ou replace (la liste remplace ce que vous avez pour cet événement ou ce sport). |
eventId | L'événement concerné (matchup et markets). |
part, final | Seulement pour les grandes listes markets envoyées en plusieurs parties : appliquez la liste quand la partie avec final: true arrive. |
data | Enregistrement(s) Pinnacle non normalisés : cotes américaines, noms de champs Pinnacle. |
Normalisé ou brut ?#
| Normalisé (tous les plans WS) | Brut (Pro, Enterprise) | |
|---|---|---|
| Schéma | PinnFeed v1 documenté (schema) | Enveloppe PinnFeed + enregistrements propres à Pinnacle (champs Pinnacle) |
| Filtres | sports, leagues, events, markets, live, main, specials | sports seulement |
| Snapshot à l'abonnement | Oui (désactivable avec snapshot:false) | Non |
| Fair odds et marge | Inclus | Non ajoutés |
| Usage typique | Apps, bots, tableaux de bord | Normaliseur maison, archivage, debug |
La plupart des projets restent sur les frames normalisées. Choisissez le raw seulement si vous voulez construire votre propre normaliseur sur le format d'enregistrements de Pinnacle ou archiver les enregistrements.
Offres#
Pro est à 199 €/mois avec 10 connexions WebSocket et 30 req/s REST ; Builder (99 €/mois) a les frames normalisées avec 3 connexions. Essai de 3 jours ; carte requise, débitée après le jour 3 sauf résiliation. Tarifs · Docs WebSocket.
Contenu éducatif pour adultes (18+) : ni pronostics ni promesse de gain. En France, seuls les opérateurs agréés par l'ANJ peuvent proposer des paris en ligne.
Voir aussi : snapshot et delta · Map snapshot/delta en Node.
Questions fréquentes#
Une connexion peut-elle mélanger raw et normalisé ?#
Non. Le format est par connexion ; ouvrez une seconde connexion pour l'autre format.
Le raw est-il plus rapide ?#
Il saute la normalisation, mais PinnFeed ne publie pas de chiffre de latence pour les deux formats. Mesurez de votre côté.
Les frames brutes sont-elles documentées ?#
L'enveloppe ci-dessus fait partie du protocole PinnFeed v1. Les enregistrements dans data suivent le format propre à Pinnacle, que PinnFeed ne versionne pas ; si vous avez besoin d'un schéma stable, utilisez les frames normalisées.