본문으로 건너뛰기

오류

Local API의 오류 코드, 클라이언트가 발생시키는 오류, 스트림의 종료 코드.

실패한 요청에는 항상 안정적인 코드가 들어 있습니다. 코드에 의존하십시오. 메시지는 사람이 읽기 위한 것이며 바뀔 수 있습니다. HTTP에서는 오류가 응답의 본문입니다: {"error": {"code": "not_found", "message": "no such operation"}}.

오류 코드

코드HTTP발생 조건대처 방법
unauthorized401토큰이 없거나, 틀렸거나, API가 꺼져 있음현재 토큰을 복사하고 스위치를 확인합니다
forbidden403요청이 브라우저 페이지에서 왔거나, 호스트가 127.0.0.1 또는 localhost가 아님같은 컴퓨터의 프로그램에서 호출합니다
forbidden_scope403토큰에 해당 호출의 권한이 없음meta().scopes를 확인합니다
not_found404알 수 없는 주소나 연결, 또는 종목에 맞는 연결이 없음종목과 connections()를 확인합니다
invalid_request400잘못된 매개변수, 또는 카탈로그에 없는 종목매개변수를 수정합니다
unsupported501MOEX, 시장 데이터 없이 빌드된 터미널, 또는 API가 쓸 수 없는 설정재시도하지 마십시오
not_active409종목의 클러스터나 레버리지가 아직 로드되지 않음몇 초 후 다시 호출합니다. 레버리지라면 터미널에서 종목을 엽니다
not_tradable409연결이 꺼져 있거나, 읽기 전용이거나, 자격 증명이 없음거래용 연결을 선택합니다
rate_limited429제한을 초과함잠시 기다렸다가 다시 호출합니다
unavailable503거래소나 터미널이 응답하지 않았거나, 아직 데이터가 없음나중에 다시 호출합니다

스트림도 같은 코드를 사용합니다. v1 안에서 새 코드가 추가될 수 있습니다.

오류 잡기

from spectre_terminal import ApiError

try:
    book = terminal.orderbook("binance:futures:BTCUSDT", depth=20)
except ApiError as error:
    print(error.status, error.code, error.message)

클라이언트는 다음 오류를 발생시킵니다.

PythonTypeScript발생 조건
ApiErrorApiError터미널이 위 표의 코드로 응답함
TokenMissingTokenMissingError토큰을 전달하지 않았고 SPECTRE_LOCAL_API_TOKEN에도 설정하지 않음
LocalApiDisabledLocalApiDisabledErrorLocal API가 꺼져 있음
TerminalUnreachableTerminalUnreachableError터미널이 실행 중이 아니거나 다른 포트에서 수신함
IncompatibleTerminalIncompatibleTerminalError클라이언트가 터미널의 API 버전을 지원하지 않음
StreamRequestErrorStreamRequestErrorsubscribe 또는 unsubscribe가 거부됨
StreamClosedStreamClosedError터미널이 스트림을 닫음

모두 SpectreTerminalError를 상속합니다. 토큰은 오류 텍스트에 절대 나타나지 않습니다.

스트림 종료 코드

코드이유대처 방법
1001API가 꺼졌거나 토큰이 재발급됨현재 토큰으로 다시 연결합니다
1006연결이 끊어짐다시 연결합니다
4008프로그램이 5초 넘게 읽지 않음더 빨리 읽거나 구독을 줄입니다
4029토큰에 이미 스트림 연결이 8개 있음연결을 재사용합니다

코드에서 다시 연결하는 방법은 다시 연결하기를 참고하십시오.

이 페이지의 내용