Enriquecido - Inscrever-se em artigos
A API WebSocket do finlight.me permite que você se inscreva em atualizações de artigos em tempo real. Após conectar e se inscrever, você recebe imediatamente o artigo mais recente que corresponde à sua consulta, seguido de quaisquer artigos recém-publicados que atendam aos seus critérios à medida que surgem.
Modelo de artigo
O modelo de artigo da resposta contém todas as informações sobre um artigo, como o link, o título, a data de publicação e a fonte. Também contém um sentimento e a confiança em relação a ele.
- 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
sentiment- Type
- string
- Description
Resultado da análise de sentimento. Os valores podem ser
positive|neutral|negative
- Name
confidence- Type
- number
- Description
Nível de confiança da análise de sentimento, de 0 a 1.
- 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.
- Name
companies- Type
- Company[]
- Description
Array de empresas mencionadas no artigo. Só é exibido/disponível com um nível de assinatura específico. Pode ser nulo.
Modelo de empresa
O modelo de empresa da resposta contém informações sobre uma empresa mencionada em um artigo. Inclui detalhes como o nome da empresa, o símbolo de ticker, a indústria e mais.
- Name
companyId- Type
- number
- Description
Identificador único da empresa.
- Name
confidence- Type
- string
- Description
Nível de confiança da identificação da empresa, de 0 a 1.
- Name
country- Type
- string
- Description
País onde a empresa está sediada, no formato ISO 3166-1 alpha-2. Ex.:
US|DE|GB
- Name
exchange- Type
- string
- Description
Bolsa de valores onde a empresa é listada.
- Name
industry- Type
- Date
- Description
Setor industrial da empresa. Ex.:
Biotechnology, Technology
- Name
name- Type
- string
- Description
Nome completo da empresa. Ex.:
Apple Inc.
- Name
sector- Type
- string
- Description
Setor da empresa. Ex.:
Technology|Health Care
- Name
ticker- Type
- string
- Description
Símbolo de ticker da empresa. Ex.:
AAPL|GOOGL
- Name
isin- Type
- string
- Description
Número Internacional de Identificação de Valores Mobiliários (ISIN) da empresa. Ex.:
US0378331005
- Name
openfigi- Type
- string
- Description
Identificador OpenFIGI da empresa. Ex.:
BBG000B9XRY4
- Name
primaryListing- Type
- object
- Description
Informações da listagem principal da empresa em bolsa.
- Name
primaryListing.ticker- Type
- string
- Description
Símbolo de ticker principal na bolsa principal.
- Name
primaryListing.exchangeCode- Type
- string
- Description
Código da bolsa principal onde a ação é listada.
- Name
primaryListing.exchangeCountry- Type
- string
- Description
País da bolsa principal onde a ação é listada.
- Name
isins- Type
- string[]
- Description
Array de Números Internacionais de Identificação de Valores Mobiliários (ISIN) da empresa.
- Name
otherListings- Type
- object[]
- Description
Array de outras listagens em bolsa da empresa.
- Name
otherListings[].ticker- Type
- string
- Description
Símbolo de ticker na bolsa alternativa.
- Name
otherListings[].exchangeCode- Type
- string
- Description
Código da bolsa alternativa onde a ação é listada.
- Name
otherListings[].exchangeCountry- Type
- string
- Description
País da bolsa alternativa onde a ação é listada.
Obter artigos
Ao se inscrever, você receberá primeiro o artigo mais recente que corresponde à sua consulta, seguido de quaisquer artigos novos à medida que são publicados.
Ao se inscrever, você pode especificar vários parâmetros para filtrar os artigos que recebe:
- Name
query- Type
- string
- Description
Consulta de busca para encontrar artigos relevantes. Consultas avançadas
- Name
sources- Type
- string[]
- Description
Filtra por uma ou várias fontes de artigos. Ex.: ["www.reuters.com", "www.cnbc.com"]. Consulte o endpoint de fontes para os valores válidos. Suporta o curinga
"*"para incluir todas as fontes.
- 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
tickers- Type
- string[]
- Description
Filtra por símbolos de ticker (array de strings). Isso retornará artigos que mencionam esses tickers. Suporta o curinga
"*"para incluir todos os tickers.
- Name
countries- Type
- string[]
- Description
Filtra pelo país da empresa usando códigos de país ISO 3166-1 alpha-2 (array de strings). Ex.:
["US", "GB", "DE"]
- Name
includeEntities- Type
- boolean
- Description
Inclui as empresas mencionadas no artigo. Requer um nível de assinatura específico.
- 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. Útil para monitorar correções de artigos ou adições de conteúdo após a publicação inicial.
- Name
extended- Type
- boolean
- Description
(Obsoleto)
truepara receber informações estendidas do artigo (incluisummary).
Request
import { FinlightApi } from 'finlight-client'
const client = new FinlightApi({
apiKey: 'YOUR_API_KEY', // Replace with your API key
})
client.websocket.connect(
{
query: 'Nvidia',
language: 'en',
extended: true,
countries: ['US', 'GB'],
},
(article) => {
console.log('New article received:', article)
},
)
Gerenciando os limites de conexão: Se o seu nível de assinatura limita o número de conexões WebSocket paralelas, você pode usar a opção takeover para fechar automaticamente a conexão mais antiga ao tentar abrir uma nova além do seu limite. Isso evita erros de conexão durante o desenvolvimento ou reinicializações da aplicação.
// TypeScript example with takeover enabled
const client = new FinlightApi(
{
apiKey: 'YOUR_API_KEY',
},
{
takeover: true, // Automatically close oldest connection when limit is reached
},
)
# Python example with takeover enabled
from finlight_client import FinlightApi, ApiConfig, WebSocketOptions
client = FinlightApi(
config=ApiConfig(api_key="YOUR_API_KEY"),
websocket_options=WebSocketOptions(takeover=True)
)
Por padrão, takeover é false, o que significa que novas conexões serão rejeitadas se você tiver atingido seu limite. Habilite-o durante o desenvolvimento por conveniência, mas considere mantê-lo desabilitado em produção para um gerenciamento explícito das conexões.
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",
"sentiment": "positive",
"confidence": 0.95,
"images": [
"https://www.example.com/image1.jpg",
"https://www.example.com/image2.jpg"
],
"countries": ["US"],
"categories": ["markets", "technology"],
"companies": [
{
"companyId": 41494,
"confidence": "0.9335401058197021",
"country": "US",
"exchange": "XNAS",
"industry": "Biotechnology: Pharmaceutical Preparations",
"name": "Summit Therapeutics Inc. Common Stock",
"sector": "Health Care",
"ticker": "SMMT",
"isin": "US86627T1088",
"openfigi": "BBG01PH11VP5",
"primaryListing": {
"ticker": "SMMT",
"exchangeCode": "XNAS",
"exchangeCountry": "US"
},
"isins": ["US86627T1088", "US86627T2088"],
"otherListings": [
{
"ticker": "SMMT.L",
"exchangeCode": "XLON",
"exchangeCountry": "GB"
}
]
}
]
}
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",
"sentiment": "positive",
"confidence": 0.95,
"images": [
"https://www.example.com/image1.jpg"
],
"countries": ["US"],
"categories": ["markets"],
"companies": []
}
Você pode manter a conexão aberta e receber artigos em tempo real sem requisições adicionais. À medida que novos artigos ficam disponíveis, eles são enviados diretamente para a sua função de callback.