Probar el WebSocket de cuotas Pinnacle con wscat
Respuesta: ejecuta npx wscat -c "wss://pinnfeed.io/v1/stream?key=ps_live_tu_clave&sports=soccer&main=true". Como la URL lleva sports, el servidor te suscribe al instante y envía welcome, subscribed, las partes de snapshot y luego frames delta. Sin filtros en la URL, pega un subscribe en JSON en menos de 30 segundos o el servidor cierra con 4002 no_subscription. Necesitas una clave Builder o Pro.
Opción A: filtros en la URL#
npx wscat -c "wss://pinnfeed.io/v1/stream?key=ps_live_your_key&sports=tennis&markets=moneyline&main=true"
Los filtros de la URL aceptan los mismos nombres que el mensaje JSON (sports, events, leagues, markets, live, main), separados por comas. La suscripción automática se activa cuando hay sports o events.
Opción B: cabecera + 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 funciona igual: websocat -H "x-api-key: ps_live_tu_clave" wss://pinnfeed.io/v1/stream.
Mantener la conexión#
El servidor envía {"type":"ping"} cada 20 s y cierra el socket tras 60 s sin pong. wscat no responde solo a pings JSON, así que en sesiones largas escribe {"type":"pong"} o pasa a un script: ejemplo en Python.
Respuestas habituales al conectar#
| Ves | Significa |
|---|---|
401 missing_key / invalid_key | Sin clave, o clave desconocida o revocada |
403 plan_lacks_ws | Clave Free/Hobby: el WebSocket empieza en Builder |
429 connection_limit | Ya tienes 3 (Builder) o 10 (Pro) conexiones abiertas |
cierre 4002 no_subscription | Ningún subscribe en 30 s |
Planes#
Builder (€99/mes, 3 conexiones) o Pro (10). Prueba de 3 días; se requiere tarjeta y se cobra después del día 3 salvo que canceles. Docs.
Contenido educativo para mayores de 18 años.
Preguntas frecuentes#
¿Es seguro poner la clave en la URL?#
Funciona, pero las URL acaban en el historial y en los logs. Fuera de pruebas rápidas usa la cabecera, y rota la clave si se filtró.
¿Por qué el primer mensaje es tan grande?#
El snapshot contiene todos los eventos y mercados de tus filtros, en varias partes; reduce los filtros para una prueba más ligera.
¿Puedo activar la compresión?#
wscat no negocia permessage-deflate por defecto; muchas librerías sí.