Автентифікація
Передавайте токен із кожним запитом, дізнайтеся, що він дозволяє, і виправте відхилений запит.
Кожен запит несе токен термінала. Токен дозволяє все, що може вікно термінала, зокрема ставити заявки.
Передати токен
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 і не localhost | 403 forbidden | Використовувати 127.0.0.1 |
| Токену бракує права для виклику | 403 forbidden_scope | Перевірити meta().scopes і оновити термінал |
Клієнти викидають ApiError із тим самим кодом. Усі коди є на сторінці
Помилки.
Замінити токен
Натисніть Перевипустити токен у Settings App → Загальні → Local API.
Старий токен одразу перестає працювати: запити отримують 401, а відкриті
стріми закриваються з кодом 1001.
Термінал має один токен, тож новий потрібен кожній програмі, яка користується API.
Берегти токен
Тримайте токен у середовищі програми, якій він потрібен, або у сховищі секретів. Не тримайте його у вихідному коді, у конфігураційних файлах репозиторію та в чатах. Якщо він витік, перевипустіть його.
API ніколи не повертає ключі бірж, навіть замасковані.