메인 콘텐츠로 건너뛰기
Benzinga의 웹소켓 API는 저지연 푸시 기반 금융 데이터를 애플리케이션으로 직접 전송합니다. REST 엔드포인트를 반복적으로 폴링하는 대신, 하나의 지속적인 연결만 열어 두면 애널리스트 리서치, 실적 결과, 뉴스, 컨퍼런스콜 녹취록 등과 같은 이벤트를 생성되는 즉시 수신할 수 있습니다. 모든 스트림은 동일한 기본 엔드포인트, 인증 모델, 메시지 Envelope 구조를 공유하므로, 한 스트림에서 익힌 패턴을 다른 곳에도 그대로 적용할 수 있습니다.

동작 방식

1

인증

Benzinga Console에서 Benzinga API 토큰을 발급받은 뒤, 연결을 열 때 token 쿼리 매개변수로 추가합니다.
2

연결

필요한 데이터에 대한 스트림 URL로 웹소켓 연결을 엽니다. 예를 들어, wss://api.benzinga.com/api/v1/analyst/insights/stream?token=YOUR_TOKEN에 연결할 수 있습니다.
3

이벤트 수신

메시지는 일관된 envelope 구조를 가진 JSON 객체로 도착합니다. id, api_version, kind와 함께, action(created, updated, deleted 중 하나)과 페이로드를 담은 data 블록이 포함됩니다.
4

연결 유지

주기적으로(30–60초마다) ping 일반 텍스트 프레임을 전송합니다. 서버는 pong으로 응답합니다. 서버도 10초마다 자체 ping을 전송하며, 대부분의 웹소켓 라이브러리는 이를 자동으로 처리합니다.

사용 가능한 스트림

메시지 Envelope

모든 스트림 메시지는 동일한 최상위 구조를 가집니다.
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "api_version": "websocket/v1",
  "kind": "<stream-type>",
  "data": {
    "action": "created",
    "id": "<record-id>",
    "timestamp": "2024-10-08T10:00:00Z",
    "content": { ... }
  }
}
FieldDescription
id고유 메시지 ID — 재연결 시 중복 제거에 사용합니다
api_version메시지의 프로토콜 버전
kind메시지가 어느 스트림에서 온 것인지 식별합니다
data.actioncreated, updated, deleted 중 하나
data.content스트림별 전용 페이로드

참고 페이지