快速开始
finlight.me WebSocket API 允许您在金融新闻文章发布的同时实时接收它们。与需要定期轮询以获取新数据的 REST API 不同,WebSocket API 会实时地将新发布的文章推送给您,确保您无需反复请求即可保持更新。
- 实时更新:连接后,您会首先收到与您查询匹配的最新文章。此后,任何与您查询匹配的新发布文章都会自动发送给您。
- 持续流式传输:根据需要保持连接。每个价格层级都包含固定数量的、可在整个月内保持打开的并行 WebSocket 连接。没有按使用量计费 —— 您仅受所在层级允许的并发连接数量限制。
- 情绪分析:文章附带情绪数据,帮助您快速评估市场情绪。
注册并获取免费 API 密钥
如果您还没有,请在 finlight 控制台注册以获取您的免费 API 密钥。该密钥将用于认证您的 WebSocket 连接,就像在 REST API 中一样。
选择您的客户端
要连接到 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 保活机制。
WebSocket
wss://wss.finlight.meimport { 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 控制台中查看您的用量和连接分钟数,以保持在免费层级的限制内。