메인 콘텐츠로 건너뛰기

개요

Benzinga TypeScript/JavaScript SDK는 Benzinga API와 상호작용하기 위한 모듈식, 이벤트 기반 인터페이스를 제공합니다. TypeScript로 작성된 이 SDK는 브라우저와 Node.js 환경 모두에서 원활하게 동작하며, 캐싱, 깊은 비교(deep comparison) 및 기타 고급 기능을 포함한 향상된 구현을 제공합니다.

주요 기능

  • TypeScript 지원 - 완전한 TypeScript 타입과 인터페이스 제공
  • 범용 - 브라우저와 Node.js 환경 모두에서 동작
  • 모듈형 아키텍처 - 필요한 모듈만 설치 가능
  • 이벤트 기반 - 실시간 데이터를 위한 반응형 프로그래밍 패턴
  • 고급 기능 - 내장 캐싱, 깊은 비교, 각종 최적화 기능
  • 최신 - async/await를 지원하는 ES6+ 문법

요구 사항

  • Node.js 14 이상

설치

SDK는 모듈형 아키텍처를 사용합니다. 먼저 핵심 세션 모듈을 설치하세요:
그다음 필요에 따라 추가 모듈을 설치하세요:

시작하기

세션 설정

@benzinga/session 모듈은 Benzinga API 인증을 위한 기반을 제공합니다. 다른 모든 모듈은 이 Session 객체에 의존합니다.

구성 옵션

Session 객체는 동작을 사용자 정의하기 위한 다양한 구성 옵션을 허용합니다:

핵심 개념

모듈형 설계

각 Benzinga API 도메인은 별도의 npm 모듈로 패키징됩니다. 이를 통해 다음과 같은 일을 할 수 있습니다:
  • 필요한 모듈만 설치
  • 번들 크기 축소
  • 관심사를 명확히 분리
  • 모듈을 독립적으로 업데이트

이벤트 기반 아키텍처

SDK는 실시간 데이터 스트림 및 업데이트를 처리하기 위해 이벤트 기반 패턴을 사용합니다:

캐싱 및 성능

SDK에는 다음을 위한 내장 캐싱 메커니즘이 포함되어 있습니다:
  • 불필요한 API 호출 감소
  • 응답 시간 개선
  • 대역폭 사용 최적화
  • 오프라인 대체 기능 제공

심층 비교

고급 데이터 비교 기능을 통해 다음을 수행할 수 있습니다:
  • 중첩 객체 변경 사항 감지
  • 효율적인 상태 관리
  • 스마트한 업데이트 트리거
  • UI 애플리케이션에서 불필요한 리렌더링 감소

사용 가능한 모듈

SDK는 각기 다른 API 도메인에 맞춰 특화된 모듈로 구성되어 있습니다.

코어 모듈

  • @benzinga/session - 인증 및 세션 관리 (필수)
  • @benzinga/calendar-data - 캘린더 이벤트 및 기업 행동
  • @benzinga/news-data - 뉴스 기사 및 시장 정보
  • @benzinga/quotes - 실시간 및 지연 시세
  • @benzinga/fundamentals - 기업 기초 재무 지표 및 재무 데이터

전용 모듈

  • @benzinga/ratings - 애널리스트 등급 및 목표가
  • @benzinga/options - 옵션 거래 동향 및 분석
  • @benzinga/transcripts - 실적 발표 콜 녹취록
  • @benzinga/logos - 기업 로고 및 브랜딩
  • @benzinga/signals - 거래 시그널 및 지표

TypeScript 지원

이 SDK는 TypeScript로 작성되었으며 완전한 타입 정의를 제공합니다:

사용 예제

기본 데이터 조회

실시간 데이터 스트림

calendar 이벤트

기업의 기초 재무 지표

브라우저에서 사용

SDK는 Webpack, Rollup, Vite와 같은 번들러를 사용하는 브라우저 환경에서도 동작합니다.

오류 처리

try-catch 블록으로 오류를 적절히 처리하세요:
페이지네이션 결과를 효율적으로 처리하십시오:

캐싱 전략

성능 향상을 위해 내장된 캐싱 기능을 활용하세요:

모범 사례

1. 세션 객체 재사용

애플리케이션 전역에서 재사용할 세션 인스턴스를 하나만 생성하세요:

2. 환경 변수

API 키를 환경 변수에 안전하게 저장하세요.

3. 타입 안전성

타입 안전한 API 상호 작용을 위해 TypeScript를 활용하십시오:

4. 에러 바운더리

프로덕션 환경에서는 에러 바운더리를 구현하십시오.

리소스

모듈 문서

특정 모듈에 대한 자세한 내용은 각 패키지의 README를 참조하십시오:
  • @benzinga/session - 핵심 인증 및 구성
  • @benzinga/calendar-data - calendar 이벤트 API
  • @benzinga/news-data - 뉴스 및 기사 API
  • @benzinga/quotes - 실시간 시세 API
  • @benzinga/fundamentals - 기초 재무 지표 및 재무 정보 API

지원

기술 지원이나 API 키 발급이 필요하면 cloud.benzinga.com에서 Benzinga에 문의하세요.

기여하기

Benzinga JavaScript SDK는 오픈 소스입니다. 누구나 기여하실 수 있습니다. 자세한 내용은 GitHub 저장소를 방문하세요.