Перейти до вмісту

Автентифікація

Передавайте токен із кожним запитом, дізнайтеся, що він дозволяє, і виправте відхилений запит.

Кожен запит несе токен термінала. Токен дозволяє все, що може вікно термінала, зокрема ставити заявки.

Передати токен

curl -H "Authorization: Bearer $SPECTRE_LOCAL_API_TOKEN" http://127.0.0.1:48180/v1/meta

Токен — це spt_ і 64 шістнадцяткові символи. Він передається лише в заголовку Authorization: Bearer, і для HTTP-запитів, і для рукостискання WebSocket. Токен в URL не приймається.

Клієнти додають заголовок за вас і не допускають токен у повідомлення про помилки та журнали. Як скопіювати токен, див. Отримати токен.

Подивитися, що дозволяє токен

meta = terminal.meta()
print(meta.scopes)

Виклику потрібне право свого розділу, а токен має їх усі. Окремого перемикача для торгівлі немає: перемикач Local API — єдиний.

ПравоЩо воно дозволяє
market:readЧитати ринкові дані. Відкривати стрім.
connections:readЧитати підключення.
account:readЧитати заявки, позиції, баланси, виконання і плече.
trading:writeСтавити й скасовувати заявки та тригерні заявки. Закривати позиції. Задавати плече і режим маржі.
workspace:readЧитати розкладку.
workspace:writeВідкривати, закривати й вибирати стеки, вкладки та вікна.
settings:readЧитати налаштування.
settings:writeЗмінювати налаштування.

Право на читання покриває й топіки стріму свого розділу. meta() і health() працюють із будь-яким дійсним токеном. Старіший термінал перелічує лише ті права, які має.

Коли запит відхилено

Що відбуваєтьсяЩо ви отримаєтеЩо робити
Токена немає, він неправильний або API вимкнено401 unauthorizedСкопіювати поточний токен і перевірити, що API увімкнено
Запит має заголовок Origin, як у сторінок браузера403 forbiddenВикликати зі скрипта або програми
Адреса не 127.0.0.1 і не localhost403 forbiddenВикористовувати 127.0.0.1
Токену бракує права для виклику403 forbidden_scopeПеревірити meta().scopes і оновити термінал

Клієнти викидають ApiError із тим самим кодом. Усі коди є на сторінці Помилки.

Замінити токен

Натисніть Перевипустити токен у Settings App → Загальні → Local API. Старий токен одразу перестає працювати: запити отримують 401, а відкриті стріми закриваються з кодом 1001.

Термінал має один токен, тож новий потрібен кожній програмі, яка користується API.

Берегти токен

Тримайте токен у середовищі програми, якій він потрібен, або у сховищі секретів. Не тримайте його у вихідному коді, у конфігураційних файлах репозиторію та в чатах. Якщо він витік, перевипустіть його.

API ніколи не повертає ключі бірж, навіть замасковані.

На цій сторінці