wscatでピナクルオッズWebSocketをテストする
回答: npx wscat -c "wss://pinnfeed.io/v1/stream?key=ps_live_your_key&sports=soccer&main=true" を実行します。URLに sports があるので、サーバーはすぐ購読し、welcome、subscribed、snapshot の各パート、その後 delta を送ります。URLにフィルタがない場合は30秒以内にJSONの subscribe を貼ってください。さもないと 4002 no_subscription で閉じます。BuilderまたはProのキーが必要です。
オプションA:URLのフィルタ#
npx wscat -c "wss://pinnfeed.io/v1/stream?key=ps_live_your_key&sports=tennis&markets=moneyline&main=true"
URLフィルタはJSONメッセージと同じ名前(sports、events、leagues、markets、live、main)をカンマ区切りで受け付けます。sports または events があると自動購読します。
オプションB:ヘッダー + 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 も同様です: websocat -H "x-api-key: ps_live_your_key" wss://pinnfeed.io/v1/stream。
接続を維持する#
サーバーは20秒ごとに {"type":"ping"} を送り、60秒pongがないと閉じます。wscatはJSON pingに自動応答しないので、長いセッションでは {"type":"pong"} を打つかスクリプトに切り替えてください:ping/pong、Pythonクライアント。
接続時によく見る応答#
| 表示 | 意味 |
|---|---|
401 missing_key / invalid_key | キーなし、または不明/失効 |
403 plan_lacks_ws | Free/Hobbyキー。WebSocketはBuilderから |
429 connection_limit | すでに3(Builder)または10(Pro)接続が開いている |
切断 4002 no_subscription | 30秒以内にsubscribeなし |
プラン#
Builder(月額99ユーロ、3接続)またはPro(10)。3日間のトライアル。カード登録が必要で、解約しない場合は3日目の後に課金されます。ドキュメント。
18歳以上の方を対象とした教育目的のコンテンツです。予想や利益の約束ではありません。日本では刑法により賭博は原則として禁止されています。
関連:curl OpenAPIレシピ · キーローテーション。
よくある質問#
URLにキーを入れて大丈夫ですか?#
動きますが、URLはシェル履歴やログに残ります。短いテスト以外はヘッダーを使い、漏れたらキーをローテートしてください。
最初のメッセージが大きいのはなぜ?#
スナップショットはフィルタに一致する全イベントと市場を含み、パートに分かれます。フィルタを絞ると軽いテストになります。
圧縮は使えますか?#
wscatはデフォルトで permessage-deflate を交渉しません。多くのライブラリはできます。