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과 달리, 연결 또는 재연결 시 일치하는 최신 기사를 반환하지 않습니다. 연결 후 새로 게시된 기사만 전송됩니다.