메인 콘텐츠로 건너뛰기
Benzinga 웹소켓 API 문서에 오신 것을 환영합니다. 이 가이드는 Benzinga의 실시간 데이터 스트림에 액세스하는 방법을 안내하며, 실시간 시세, 체결, 뉴스 및 기타 핵심 인사이트를 포함한 금융 데이터에 대해 지속적인 업데이트를 구독할 수 있도록 합니다.

웹소켓 엔드포인트

모든 웹소켓 연결은 다음 엔드포인트를 사용해 수립할 수 있습니다:
wss://api.benzinga.com

인증

Benzinga 웹소켓 API는 Bearer 인증 방식을 사용합니다. 웹소켓 연결을 시작할 때, 다음 형식으로 연결 URL의 쿼리 매개변수에 API 토큰을 포함해야 합니다: token 쿼리 매개변수에 token: <token> 형식으로 API 토큰을 넣어야 합니다. API 토큰을 발급·관리하는 방법에 대한 자세한 내용은 Authentication 페이지를 참고하세요.

스트림 구독

연결이 완료되면 주가 시세, 체결 데이터, 뉴스 업데이트와 같이 요구사항에 따라 특정 데이터 스트림을 구독할 수 있습니다. 각 구독에는 고유한 식별자가 필요하며, 데이터 유형에 따라 필요한 파라미터를 함께 지정해야 합니다.

예시 구독 메시지

실시간 주가 시세 스트림을 구독하려면 다음과 같은 형식의 JSON 메시지를 보내십시오:
{
  "action": "subscribe",
  "symbol": "AAPL",
  "type": "quote"
}

하트비트 메커니즘

건강한 연결 상태를 유지하고 클라이언트와 서버가 동기화된 상태를 유지하기 위해, Benzinga 웹소켓 API에는 하트비트 메커니즘이 포함되어 있습니다.

클라이언트 측 하트비트

  • ping 메시지를 일반 텍스트 프레임(예: 문자열 ping)으로 전송하면, 서버는 일반 텍스트 프레임으로 pong 메시지(예: 문자열 pong)를 응답으로 반환합니다.
  • 이를 사용하여 연결이 여전히 활성 상태이며 응답 가능한지 확인할 수 있습니다.

예시

  • 클라이언트가 전송: ping
  • 서버가 응답: pong

서버 측 하트비트

  • 서버는 연결이 유지되고 있는지 확인하기 위해 10초마다 클라이언트로 PING 프레임을 자동 전송합니다.
  • 클라이언트는 이 PING 프레임에 응답해야 합니다(대부분의 웹소켓 라이브러리에서 자동으로 처리됩니다).

하트비트 처리

  • 대부분의 웹소켓 클라이언트 라이브러리(예: JavaScript, Python, Go)는 서버에서 수신되는 ping을 자동으로 처리하고 pong으로 응답합니다.
  • 하지만 사용자 정의 웹소켓 클라이언트를 구현하는 경우, 연결이 종료되지 않도록 서버의 ping 프레임에 정상적으로 응답하는지 확인해야 합니다.

Rate Limiting

Benzinga API는 남용 방지와 서비스 안정성 유지를 위해 Rate Limit을 적용합니다. 하나의 API 토큰당 동시에 허용되는 연결은 1개뿐입니다. Rate Limit을 초과하면 오류 응답을 받게 됩니다.
이 가이드가 Benzinga API 사용을 시작하는 데 도움이 되기를 바랍니다. 질문이 있으시면 언제든지 지원 팀에 문의해 주세요.