이 페이지는 기계 번역되었습니다. 영어 버전이 원본이며 더 정확하거나 최신일 수 있습니다. 영어로 보기

클라이언트 라이브러리

finlight은 여덟 개의 공식 클라이언트 라이브러리를 배포합니다. 각 라이브러리는 이 문서의 나머지 페이지에서 설명하는 것과 동일한 REST, WebSocket, 웹훅 인터페이스를 감싸므로, HTTP 호출을 직접 작성하는 대신 자신의 스택에 맞는 것을 선택하면 됩니다.

언어패키지요구 사항스트리밍
TypeScript / JavaScriptfinlight-client (npm)Node.js지원
Pythonfinlight-client (PyPI)Python 3.7+지원
Gogithub.com/callbk/finlight-client-goGo 1.23+지원
.NET / C#Finlight.Client (NuGet).NET 8+지원
Java / Kotlinme.finlight:finlight-client (Maven)Java 17+지원
PHPfinlight/client (Packagist)PHP 8.1+미지원
Rubyfinlight-client (RubyGems)Ruby 3.2+지원
Rustfinlight-client (crates.io)Rust 1.85+지원

모든 클라이언트가 제공하는 기능

라이브러리는 동일한 명세에 따라 만들어졌으므로, 언어를 바꾸어도 다루는 개념은 달라지지 않습니다:

  • REST: 기사 검색, 링크로 개별 기사 조회, 사용 가능한 소스 목록 조회 — 엔드포인트를 참조하세요.
  • 실시간 스트리밍: 향상된 피드와 원시 WebSocket 피드를 모두 지원하며, 각 언어의 관용적인 스트림 타입(비동기 이터레이터, 채널, Stream)으로 제공됩니다. 재연결, ping/pong 연결 유지, 선제적 연결 순환이 대신 처리됩니다 — WebSocket 기초를 참조하세요.
  • 복원력: 4295xx 응답에 대해 지수 백오프로 재시도하므로, 일시적인 장애와 요청 한도가 코드에서 오류로 드러나지 않습니다.
  • 웹훅 검증: 웹훅 인증에 맞춘 재전송 방지 기능이 포함된 HMAC-SHA256 서명 검사.
  • 인증: 생성자에 API 키를 전달하면 클라이언트가 모든 요청에 X-API-KEY 헤더로 전송합니다.

라이브러리에는 특별한 권한이 전혀 없습니다. 라이브러리가 하는 모든 일은 일반 HTTP와 WebSocket으로도 가능하므로, cURL이나 다른 HTTP 클라이언트도 완전히 지원되는 선택지로 남아 있습니다.


설치

모든 클라이언트는 생성자에서 API 키를 읽어 X-API-KEY 헤더로 전송합니다. 키는 finlight 대시보드에서 받으세요.

설치

# npm — JSR에도 @finlight/client로 배포됨
npm install finlight-client

Gradle 대신 Maven으로 빌드한다면 동일한 좌표를 선언하세요:

<dependency>
    <groupId>me.finlight</groupId>
    <artifactId>finlight-client</artifactId>
    <version>0.1.0</version>
</dependency>

소스 저장소

모든 클라이언트는 MIT 라이선스로 공개 개발됩니다. 이슈와 풀 리퀘스트를 환영합니다.

다음 단계