Raw - 記事を購読する
Raw WebSocket は、エンリッチ WebSocket に対する軽量で簡素化された代替手段です。ティッカーマッチング、AI エンリッチメント、企業エンティティ解決を行わずに、記事の基本データをリアルタイムで配信します。これにより、高度な処理のオーバーヘッドなしに、高速で基本的な記事データが必要なユースケースに最適です。
エンリッチ WebSocket との主な違い:
- エンドポイント:
wss://wss.finlight.me/raw(wss://wss.finlight.meではなく) - 初期データなし:エンリッチ WebSocket と異なり、Raw WebSocket は接続時や再接続時に一致する最新の記事を送信しません。接続後に新しく公開された記事のみを受信します。
- AI エンリッチメントなし:記事は感情分析、企業マッチング、ティッカー解決なしで配信されます。
- 簡素化されたパラメータ:
tickers、countries、includeEntities、extendedのパラメータはありません。
記事モデル
Raw WebSocket は基本フィールドのみの簡素化された記事モデルを返します。企業エンティティや AI 生成のエンリッチメントは含まれません。
- Name
link- Type
- string
- Description
記事全文への URL。
- Name
source- Type
- string
- Description
ソースのウェブサイト。例:
www.reuters.com
- Name
title- Type
- string
- Description
記事のタイトル。
- Name
summary- Type
- string
- Description
記事の要約(存在する場合)。null になることがあります。
- Name
publishDate- Type
- Date
- Description
公開日(ISO 日付)。
- Name
createdAt- Type
- Date
- Description
finlight システムにおける記事の内部作成日(ISO 日付)。
- Name
revisedDate- Type
- Date | null
- Description
最初の公開後に記事が最後に改訂された日付。記事が一度も改訂されていない場合は
null。includeUpdatesが有効で記事が改訂された場合に存在します。
- Name
isUpdate- Type
- boolean
- Description
この配信が記事の公開後の更新によってトリガーされた場合は
true。includeUpdatesが有効な場合にのみ存在します。
- Name
language- Type
- string
- Description
ISO 639-1 の言語コード。例:
en|de|fr
- Name
images- Type
- string[]
- Description
記事の画像 URL の配列。
- Name
countries- Type
- string[]
- Description
記事に関連する国を表す、ISO 3166-1 alpha-2 形式の国コードの配列。例:
["US", "GB", "DE"]。空の場合があります。
- Name
categories- Type
- string[]
- Description
記事カテゴリの配列。可能な値:
markets|economy|business|politics|geopolitics|regulation|technology|energy|commodities|crypto|health|climate|security。空の場合があります。
記事を取得する
接続後は、条件に一致する新しく公開された記事のみを受信します。接続時に初期/過去の記事は送信されません。
購読時には、受信する記事を絞り込むために次のパラメータを指定できます:
- Name
query- Type
- string
- Description
関連する記事を見つけるための検索クエリ。
source、title、summaryフィールドのフィールドレベルフィルタリングをサポートします。高度なクエリ
- Name
sources- Type
- string[]
- Description
単一または複数のソースでフィルタリングします。例:
["www.reuters.com", "www.cnbc.com"]。有効な値は source エンドポイントを参照してください。
- Name
excludeSources- Type
- string[]
- Description
単一または複数のソースを除外します。例:
["www.reuters.com", "www.cnbc.com"]。有効な値は source エンドポイントを参照してください。
- Name
includeUpdates- Type
- boolean
- Description
有効にすると、更新された記事が
isUpdate=trueとrevisedDateタイムスタンプ付きで再配信されます。
Request
import { FinlightApi } from 'finlight-client'
const client = new FinlightApi(
{
apiKey: 'YOUR_API_KEY', // Replace with your API key
},
{
takeover: true, // WebSocket options
},
)
client.rawWebsocket.connect(
{
query: 'Nvidia',
language: 'en',
sources: ['www.reuters.com', 'www.cnbc.com'],
},
(article) => {
console.log('New article received:', article)
},
)
Response
{
"link": "https://www.example.com/article1",
"source": "www.example.com",
"title": "Stock Market Hits New Highs",
"summary": "A brief summary of the article...",
"publishDate": "2023-10-01T12:34:56Z",
"createdAt": "2023-10-01T12:35:10Z",
"language": "en",
"images": [
"https://www.example.com/image1.jpg",
"https://www.example.com/image2.jpg"
],
"countries": ["US"],
"categories": ["markets"]
}
Response (includeUpdates: true)
{
"link": "https://www.example.com/article1",
"source": "www.example.com",
"title": "Stock Market Hits New Highs — Updated",
"summary": "An updated summary of the article...",
"publishDate": "2023-10-01T12:34:56Z",
"createdAt": "2023-10-01T12:35:10Z",
"revisedDate": "2023-10-02T08:00:00Z",
"isUpdate": true,
"language": "en",
"images": [
"https://www.example.com/image1.jpg"
],
"countries": ["US"],
"categories": ["markets"]
}
query のフィールドレベルフィルタリング
Raw WebSocket は、query パラメータ内で次のフィールドに対するフィールドレベルフィルタリングをサポートします:
source- 記事のソースでフィルタリングtitle- 記事タイトルの内容でフィルタリングsummary- 記事要約の内容でフィルタリング
例:
query=title:Nvidia
query=summary:earnings +title:Tesla
query=source:www.reuters.com -crypto
クエリ構文の詳細については、高度なクエリの構築ガイドを参照してください。
接続の挙動
- 認証:エンリッチ WebSocket と同じ
x-api-keyヘッダーを使用します。詳細は WebSocket の基礎を参照してください。 - Ping/Pong:同じキープアライブ機構が適用されます。接続を維持するために定期的に
pingメッセージを送信してください。 - 接続時間:同じ 2 時間の接続制限が適用されます。それに応じて再接続ロジックを実装してください。
- 初期データなし:エンリッチ WebSocket と異なり、接続や再接続では一致する最新の記事は返されません。接続後は新しく公開された記事のみが配信されます。