本页面为机器翻译。英文版本为原文,可能更准确或更及时。 查看英文版

快速开始

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.me
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 并接收到实时文章,以下是您可能会觉得有帮助的几个后续步骤:

  • 探索按 sourceextended 查询进行过滤,以优化您接收的文章。
  • 根据需要调整您的 query 参数,以跟踪不同的公司、指数或金融主题。
  • 在 finlight 控制台中查看您的用量和连接分钟数,以保持在免费层级的限制内。