Tester le WebSocket de cotes Pinnacle avec wscat
Réponse : lancez npx wscat -c "wss://pinnfeed.io/v1/stream?key=ps_live_your_key&sports=soccer&main=true". Comme l'URL porte sports, le serveur vous abonne tout de suite et envoie welcome, subscribed, les parties snapshot puis les frames delta. Sans filtres dans l'URL, collez un subscribe JSON dans les 30 secondes, sinon le serveur ferme avec 4002 no_subscription. Il faut une clé Builder ou Pro.
Option A : filtres dans l'URL#
npx wscat -c "wss://pinnfeed.io/v1/stream?key=ps_live_your_key&sports=tennis&markets=moneyline&main=true"
Les filtres URL acceptent les mêmes noms que le message JSON (sports, events, leagues, markets, live, main), séparés par des virgules. L'auto-subscribe se déclenche si sports ou events est présent.
Option B : en-tête + JSON#
npx wscat -c wss://pinnfeed.io/v1/stream -H "x-api-key: ps_live_your_key"
> {"type":"subscribe","sports":["basketball"],"markets":["spread","total"],"main":true}
websocat fonctionne pareil : websocat -H "x-api-key: ps_live_your_key" wss://pinnfeed.io/v1/stream.
Garder la connexion#
Le serveur envoie {"type":"ping"} toutes les 20 s et ferme après 60 s sans pong. wscat ne répond pas seul aux pings JSON ; pour une session longue tapez {"type":"pong"} ou passez à un script : ping/pong, client Python.
Réponses courantes à la connexion#
| Vous voyez | Signification |
|---|---|
401 missing_key / invalid_key | Pas de clé, ou clé inconnue/révoquée |
403 plan_lacks_ws | Clé Free/Hobby : le WebSocket commence à Builder |
429 connection_limit | Déjà 3 (Builder) ou 10 (Pro) connexions ouvertes |
fermeture 4002 no_subscription | Pas de subscribe dans les 30 s |
Offres#
Builder (99 €/mois, 3 connexions) ou Pro (10). Essai de 3 jours ; carte requise, débitée après le jour 3 sauf résiliation. Docs.
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 : recettes curl OpenAPI · rotation des clés.
Questions fréquentes#
La clé dans l'URL est-elle sûre ?#
Ça marche, mais les URL finissent dans l'historique du shell et les logs. Hors tests rapides, préférez l'en-tête et faites tourner la clé si elle a fuité.
Pourquoi le premier message est-il si gros ?#
Le snapshot contient tous les événements et marchés de vos filtres, découpé en parties ; resserrez les filtres pour un test plus léger.
Puis-je activer la compression ?#
wscat ne négocie pas permessage-deflate par défaut ; beaucoup de bibliothèques le peuvent.