본문으로 건너뛰기
HTTP API설정

설정 변경

요청 만들기

값을 바꾸면 명령이 함께 바뀝니다. 토큰은 여기에 입력하지 않습니다. 명령은 SPECTRE_LOCAL_API_TOKEN 환경 변수에서 토큰을 읽습니다. 자신의 터미널에서 실행하세요.

명령
curl -X PATCH 'http://127.0.0.1:48180/v1/settings' \
  -H "Authorization: Bearer $SPECTRE_LOCAL_API_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
  "changes": [
    {
      "category": "multiview",
      "key": "stack_width_px",
      "value": 300
    },
    {
      "instrument": "binance:futures:XRPUSDT",
      "connection_id": 25,
      "category": "trading",
      "key": "slippage",
      "value": {
        "value": "0.1",
        "type": "percent"
      }
    },
    {
      "scope": "order_book",
      "connection_id": 25,
      "category": "general",
      "key": "auto_scroll",
      "value": true
    },
    {
      "category": "appearance",
      "key": "theme",
      "value": {
        "stack": "dark"
      }
    },
    {
      "category": "hotkeys_orderbook",
      "key": "close_position",
      "value": {
        "code": "KeyX",
        "modifiers": []
      }
    }
  ]
}'
PATCH
/settings

한 요청에 변경을 최대 100개까지 담을 수 있습니다. 먼저 모든 변경을 검사한 뒤 순서대로 적용합니다. 적용에 실패한 변경이 있으면 목록은 거기서 멈추고, 응답은 그 번호를 알려 줍니다: changes[2]: …. 이미 적용된 변경은 되돌리지 않습니다.

변경의 대상은 다음과 같이 지정합니다:

  • scope의 기본값은 global입니다. instrument가 있으면 항상 order_book입니다.
  • instrument는 페어의 행을 가리킵니다. 이때 connection_id는 공통 규칙에 따라 선택됩니다.
  • order_book에 instrument가 없으면 connection_id는 해당 연결의 기본값을 가리킵니다. 그것도 없으면 변경은 전역 기본값에 적용됩니다.
  • connection_id는 global에서 받지 않습니다.

일부 키는 고유한 방식으로 처리됩니다. appearance/theme는 stack, graphic, interface 중 임의의 부분 집합을 담은 객체를 받습니다. 각 값은 테마 이름이며, graphic과 interface는 light와 dark만 받습니다. hotkeys_*는 { "code", "modifiers" } 또는 null을 받습니다. 다른 동작이 쓰고 있는 조합은 거부됩니다. appearance/font_family와 localization/current_language도 고유한 방식으로 처리됩니다.

제한은 모든 클라이언트를 합산하여 초당 요청 5개입니다.

인증

bearerToken settings:write
header인증Bearer <token>

Local API 토큰입니다: spt_와 16진수 문자 64개. Settings App → 일반 → Local API에서 복사합니다. Authorization 헤더로만 받습니다. 작업에 나열된 이름은 그 작업에 필요한 권한입니다. 터미널의 토큰에는 모든 권한이 있습니다.

권한: settings:write

요청 본문

application/json
  1. body
changes*array<>
항목1 <= items <= 100

응답 본문

적용된 변경의 개수입니다.

application/json
  1. response
applied*integer

적용된 변경의 수입니다.

요청 예제
curl -X PATCH 'http://127.0.0.1:48180/v1/settings' \  -H "Authorization: Bearer $SPECTRE_LOCAL_API_TOKEN" \  -H 'Content-Type: application/json' \  -d '{  "changes": [    {      "category": "multiview",      "key": "stack_width_px",      "value": 300    },    {      "instrument": "binance:futures:XRPUSDT",      "connection_id": 25,      "category": "trading",      "key": "slippage",      "value": {        "value": "0.1",        "type": "percent"      }    },    {      "scope": "order_book",      "connection_id": 25,      "category": "general",      "key": "auto_scroll",      "value": true    },    {      "category": "appearance",      "key": "theme",      "value": {        "stack": "dark"      }    },    {      "category": "hotkeys_orderbook",      "key": "close_position",      "value": {        "code": "KeyX",        "modifiers": []      }    }  ]}'
응답 예제
{  "applied": 5}