Raw - Inscrever-se em artigos
O Raw WebSocket oferece uma alternativa leve e simplificada ao WebSocket enriquecido. Ele entrega os dados básicos do artigo em tempo real sem correspondência de tickers, enriquecimento por IA ou resolução de entidades de empresa. Isso o torna ideal para casos de uso em que você precisa de dados de artigos rápidos e básicos sem a sobrecarga do processamento avançado.
Diferenças principais em relação ao WebSocket enriquecido:
- Endpoint:
wss://wss.finlight.me/raw(em vez dewss://wss.finlight.me) - Sem dados iniciais: Diferentemente do WebSocket enriquecido, o Raw WebSocket não envia o artigo correspondente mais recente ao conectar ou reconectar. Você só receberá artigos recém-publicados após conectar.
- Sem enriquecimento por IA: Os artigos são entregues sem análise de sentimento, correspondência de empresas ou resolução de tickers.
- Parâmetros simplificados: Sem os parâmetros
tickers,countries,includeEntitiesouextended.
Modelo de artigo
O Raw WebSocket retorna um modelo de artigo simplificado apenas com os campos básicos. Não são incluídas entidades de empresa nem enriquecimentos gerados por IA.
- Name
link- Type
- string
- Description
URL do artigo completo.
- Name
source- Type
- string
- Description
Site de origem. Ex.:
www.reuters.com
- Name
title- Type
- string
- Description
Título do artigo.
- Name
summary- Type
- string
- Description
Resumo do artigo, se existir. Pode ser nulo.
- Name
publishDate- Type
- Date
- Description
Data de publicação como data ISO.
- Name
createdAt- Type
- Date
- Description
Data de criação interna do artigo no sistema do finlight como data ISO.
- Name
revisedDate- Type
- Date | null
- Description
Data da última revisão do artigo após a publicação inicial.
nullquando o artigo nunca foi revisado. Presente quandoincludeUpdatesestá habilitado e o artigo foi revisado.
- Name
isUpdate- Type
- boolean
- Description
truequando esta entrega é acionada por uma atualização do artigo pós-publicação. Presente apenas quandoincludeUpdatesestá habilitado.
- Name
language- Type
- string
- Description
Código de idioma em ISO 639-1. Ex.:
en|de|fr
- Name
images- Type
- string[]
- Description
Array de URLs de imagens do artigo.
- Name
countries- Type
- string[]
- Description
Array de códigos de país no formato ISO 3166-1 alpha-2 que representam os países relacionados ao artigo. Ex.:
["US", "GB", "DE"]. Pode estar vazio.
- Name
categories- Type
- string[]
- Description
Array de categorias do artigo. Valores possíveis:
markets|economy|business|politics|geopolitics|regulation|technology|energy|commodities|crypto|health|climate|security. Pode estar vazio.
Obter artigos
Após conectar, você só receberá artigos recém-publicados que correspondam aos seus critérios. Nenhum artigo inicial/histórico é enviado ao conectar.
Ao se inscrever, você pode especificar os seguintes parâmetros para filtrar os artigos que recebe:
- Name
query- Type
- string
- Description
Consulta de busca para encontrar artigos relevantes. Suporta filtragem em nível de campo para
source,titleesummary. Consultas avançadas
- Name
sources- Type
- string[]
- Description
Filtra por uma ou várias fontes. Ex.:
["www.reuters.com", "www.cnbc.com"]. Consulte o endpoint de fontes para os valores válidos.
- Name
excludeSources- Type
- string[]
- Description
Exclui uma ou várias fontes. Ex.:
["www.reuters.com", "www.cnbc.com"]. Consulte o endpoint de fontes para os valores válidos.
- Name
language- Type
- string
- Description
Filtra por idioma (ISO 639-1). O padrão é
en, que retorna apenas inglês e exclui outros idiomas — consulte Idioma e cobertura.
- Name
includeUpdates- Type
- boolean
- Description
Quando habilitado, os artigos atualizados são reentregues com
isUpdate=truee uma marca de temporevisedDate.
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"]
}
Filtragem em nível de campo na query
O Raw WebSocket suporta filtragem em nível de campo dentro do parâmetro query para os seguintes campos:
source- Filtra pela fonte do artigotitle- Filtra pelo conteúdo do título do artigosummary- Filtra pelo conteúdo do resumo do artigo
Exemplos:
query=title:Nvidia
query=summary:earnings +title:Tesla
query=source:www.reuters.com -crypto
Consulte o guia de Criação de consultas avançadas para mais detalhes sobre a sintaxe de consulta.
Comportamento da conexão
- Autenticação: Usa o mesmo cabeçalho
x-api-keyque o WebSocket enriquecido. Consulte Conceitos básicos do WebSocket para mais detalhes. - Ping/Pong: Aplica-se o mesmo mecanismo de keep-alive. Envie mensagens
pingperiódicas para manter a conexão. - Duração da conexão: Sujeita ao mesmo limite de conexão de 2 horas. Implemente a lógica de reconexão de acordo.
- Sem dados iniciais: Diferentemente do WebSocket enriquecido, conectar ou reconectar não retorna o artigo correspondente mais recente. Apenas os artigos recém-publicados são entregues após a conexão.