クイックスタート
finlight.me WebSocket API を使うと、金融ニュース記事が公開されると同時にリアルタイムで受信できます。新しいデータを取得するために定期的なポーリングが必要な REST API とは異なり、WebSocket API は新しく公開された記事をリアルタイムでプッシュするため、繰り返しリクエストすることなく最新の状態を保てます。
- リアルタイム更新:接続すると、まずクエリに一致する最新の記事を受信します。その後、クエリに一致する新しく公開された記事が自動的に送信されます。
- 継続的なストリーミング:必要な間ずっと接続し続けられます。各料金プランには、月を通じて開いたままにできる並列 WebSocket 接続が一定数含まれます。従量課金はなく、プランで許可される同時接続数のみが制限となります。
- 感情分析:記事には感情データが付属しており、市場のムードをすばやく評価するのに役立ちます。
サインアップして無料 API キーを取得する
まだの場合は、finlight ダッシュボードでサインアップして無料 API キーを取得してください。このキーは、REST API と同様に WebSocket 接続の認証に使用されます。
クライアントを選ぶ
finlight.me WebSocket API に接続するには、当社の Node.js または Python のクライアントライブラリを使用できます。これらのライブラリは、接続、認証、キープアライブ(ping/pong)の処理を簡素化します。
# Install the Node.js client library via npm
npm install finlight-client
接続してリアルタイムで記事を受信する
API キーと選択したクライアントがあれば、WebSocket 接続を確立できます。接続するとすぐに、クエリに一致する最新の記事を受信し、その後は新しい記事が届き次第受信します。クライアントライブラリが認証と ping/pong キープアライブ機構を処理します。
import { FinlightApi } from 'finlight-client'
const client = new FinlightApi({
apiKey: 'YOUR_API_KEY',
})
client.websocket.connect(
{ query: 'nvidia', language: 'en' },
(article) => {
console.log('New article received:', article)
},
)
この接続は必要な間ずっと開いたままになり、クエリに一致する新しい記事を継続的に配信します。課金は接続時間に基づくため、更新が不要になったら忘れずに切断するようご注意ください。
接続数の上限を管理する
各料金プランには一定数の並列 WebSocket 接続が含まれます。上限に達した状態でさらに接続を開こうとする場合、takeover オプションを有効にすると、最も古い接続を自動的に閉じられます:
import { FinlightApi } from 'finlight-client'
const client = new FinlightApi(
{
apiKey: 'YOUR_API_KEY',
},
{
// WebSocket-specific options
takeover: true, // Automatically close oldest connection when limit is reached (default: false)
},
)
client.websocket.connect(
{ query: 'nvidia', language: 'en' },
(article) => {
console.log('New article received:', article)
},
)
takeover: true を設定すると、接続数の上限に達している場合、新しい接続が最も古い既存の接続を自動的に置き換えます。これは開発中やアプリケーションの再デプロイ時に便利です。本番環境では、接続を明示的に制御するために既定値(takeover: false)のままにしておくとよいでしょう。
次のステップ
WebSocket API に正常に接続してリアルタイムで記事を受信できたところで、次に役立つかもしれないステップをいくつか紹介します:
- 受信する記事を絞り込むために、
sourceやextendedクエリでのフィルタリングを試してみましょう。 - さまざまな企業、指数、金融トピックを追跡するために、必要に応じて
queryパラメータを調整しましょう。 - 無料プランの上限内に収まるよう、finlight ダッシュボードで使用状況と接続時間(分)を確認しましょう。