Testare il WebSocket delle quote Pinnacle con wscat
Risposta: esegui npx wscat -c "wss://pinnfeed.io/v1/stream?key=ps_live_your_key&sports=soccer&main=true". Poiché l'URL porta sports, il server ti iscrive subito e invia welcome, subscribed, le parti snapshot e poi i frame delta. Senza filtri nell'URL, incolla un subscribe JSON entro 30 secondi o il server chiude con 4002 no_subscription. Serve una chiave Builder o Pro.
Opzione A: filtri nell'URL#
npx wscat -c "wss://pinnfeed.io/v1/stream?key=ps_live_your_key&sports=tennis&markets=moneyline&main=true"
I filtri URL accettano gli stessi nomi del messaggio JSON (sports, events, leagues, markets, live, main), separati da virgola. L'auto-subscribe scatta se sono presenti sports o events.
Opzione B: header + 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 funziona allo stesso modo: websocat -H "x-api-key: ps_live_your_key" wss://pinnfeed.io/v1/stream.
Tenere viva la connessione#
Il server invia {"type":"ping"} ogni 20 s e chiude dopo 60 s senza pong. wscat non risponde da solo ai ping JSON; in sessioni lunghe digita {"type":"pong"} o passa a uno script: ping/pong, client Python.
Risposte comuni alla connessione#
| Vedi | Significato |
|---|---|
401 missing_key / invalid_key | Nessuna chiave, o sconosciuta/revocata |
403 plan_lacks_ws | Chiave Free/Hobby: il WebSocket parte da Builder |
429 connection_limit | Già 3 (Builder) o 10 (Pro) connessioni aperte |
chiusura 4002 no_subscription | Nessun subscribe entro 30 s |
Piani#
Builder (99 €/mese, 3 connessioni) o Pro (10). Prova di 3 giorni; carta richiesta, addebitata dopo il giorno 3 salvo disdetta. Docs.
Contenuto educativo per maggiorenni (18+): non pronostici né promesse di guadagno. In Italia scommetti solo con operatori autorizzati ADM.
Vedi anche: ricette curl OpenAPI · rotazione chiavi.
Domande frequenti#
La chiave nell'URL è sicura?#
Funziona, ma gli URL finiscono nella history della shell e nei log. Fuori dai test rapidi preferisci l'header e ruota la chiave se è trapelata.
Perché il primo messaggio è così grande?#
Lo snapshot contiene tutti gli eventi e mercati dei tuoi filtri, spezzati in parti; restringi i filtri per un test più leggero.
Posso abilitare la compressione?#
wscat non negozia permessage-deflate di default; molte librerie sì.