Пошук
Як створити ключ API?
Ключі API є одним з основних компонентів автентифікування API: це еквівалент імені користувача Kraken і пароля з точки зору API.
Ключі API потрібні для виклику будь-яких кінцевих точок API, специфічних для облікового запису (тобто приватних), а саме: кінцевих точок управління обліковим записом, торгівлі, переказів і стейкінгу. Ключі API не потрібні для виклику кінцевих точок API ринкових даних (тобто публічних), оскільки кінцеві точки ринкових даних не пов’язані з жодним конкретним обліковим записом Kraken.
Ключі API може використовувати будь-яке програмне забезпечення, яке взаємодіє з нашими ринками й обліковими записами, як-от клієнти командного рядка REST API, деякі мобільні програми, торгові платформи, як-от Cryptowatch, сторонні торгові боти й багато інших продуктів/послуг.

Створення ключа API

API_Key_1.png
  • Натисніть на посилання Add key («Додати ключ») (ви зможете налаштувати ключ API пізніше)
API_Key_2.png

Налаштування ключа API

Ключі API мають кілька налаштувань і параметрів, які треба налаштувати перед використанням ключа API, зокрема ім’я/опис і права доступу.
API_Key_Settings.png

Опис ключа

Опис ключа – це фактично ім’я ключа API, що може бути практично будь-яким на ваш розсуд за умови, що цей опис є унікальним (він має відрізнятися від описів будь-яких інших ключів API в тому ж обліковому записі).
За замовчуванням поле опису ключа заповнюється значенням на зразок «api-key-1605316109249». Такий опис за замовчуванням можна залишити або замінити більш змістовним ім’ям (наприклад, «Торговий ключ», «Ключ для управління обліковим записом», «Ключ API Python 6» або «Ключ мобільного додатка»).

Дозволи ключа

Дозволи ключа визначають, які кінцеві точки певного облікового запису (приватні) дозволено викликати ключу API:

Кошти

  • Дозвіл Query Funds («Запит коштів») потрібен для кінцевих точок API, які запитують інформацію про баланс рахунку, як-от Balance і TradeBalance.
  • Дозвіл Deposit Funds («Внесення коштів») потрібен для кінцевих точок переказів, пов’язаних із внесенням коштів, як-от DepositMethods і DepositAddresses.
  • Дозвіл Withdraw Funds (Виведення коштів) потрібен для кінцевих точок переказів, пов’язаних із виведенням, як-от WithdrawInfo, Withdraw і WithdrawCancel.

Ордери й угоди

  • Дозвіл Query Open Orders & Trades («Запит відкритих ордерів та угод») потрібен для кінцевих точок API, які запитують наявні ордери й позиції, як-от OpenOrders, QueryOrders та OpenPositions.
  • Дозвіл Query Closed Orders & Trades («Запит закритих ордерів і угод») потрібен для кінцевих точок, які запитують раніше закриті чи скасовані ордери й позиції, як-от ClosedOrders, QueryOrders та QueryTrades.
  • Дозвіл Modify Orders («Зміна ордерів») потрібен для кінцевих точок торгівлі, які розміщують нові ордери, наприклад AddOrder, EditOrder та AddOrderBatch.
  • Дозвіл Cancel/Close Orders («Скасування/закриття ордерів») потрібен для кінцевих точок торгівлі, які скасовують відкриті або відкладені ордери, наприклад CancelOrder, CancelAll і CancelOrderBatch.

Інше

  • Дозвіл Query Ledger Entries (Запит записів) леджера потрібен для кінцевих точок API, які завантажують історичні дані облікового запису з леджера облікового запису, а саме Ledgers і QueryLedgers.
  • Дозвіл Export Data («Експорт даних») потрібен для кінцевих точок, які експортують леджер облікового запису, а саме AddExport, RetrieveExport, ExportStatus і RemoveExport.
  • Дозвіл Access WebSockets API («Доступ до API WebSockets») потрібен для отримання маркера автентифікування для приватних каналів / кінцевих точок API WebSocket через GetWebSocketsToken.
Як приклад правильного використання дозволів ключа API розгляньмо ключ, який надається третій стороні з метою торгівлі. Для такого ключа API обов’язково знадобляться дозволи Modify Orders («Зміна ордерів») і Cancel/Close Orders («Скасування/закриття ордерів»), можливо, також дозвіл Query Open Orders & Trades («Запит відкритих ордерів та угод»), але майже напевно не буде потрібен дозвіл Withdraw Funds («Виведення коштів»).
Правильне налаштування дасть API-клієнту змогу здійснювати торгові транзакції в обліковому записі, але не дасть переглядати будь-яку інформацію про цей обліковий запис чи виконувати операції переказів.

Додаткові налаштування

Інші параметри ключа API потрібні лише для більш просунутих конфігурацій, тому для них зазвичай можна залишити значення за замовчуванням.
  • Nonce Window – це налаштування, яке використовується для подолання мережевих проблем, через які запити API надходять не за порядком, шляхом надання короткого проміжку часу (1 секунда, 10 секунд тощо), протягом якого запити API, які мають недійсне значення nonce (нижче значення nonce, ніж раніше використане значення nonce), не спричинять помилку недійсного значення nonce. 
  • IP whitelisting («Білий список Ip-адрес») – це функція безпеки, яка обмежує використання ключа API певними IP-адресами клієнта.
  • Key Expiration («Строк дії ключа») можна використовувати для створення ключа API, який працює лише певний проміжок часу, наприклад ключа, дійсного лише 1 тиждень.
  • Query Start/End Date/Time («Початкова/кінцева дата / час запиту») – це параметр, який обмежує запити історичних даних облікового запису певним часовим проміжком, наприклад ключ, який може отримати історію торгівлі за цей рік, але не за попередні роки.
Після належного налаштування параметрів ключа API ви можете створити новий ключ, натиснувши кнопку Згенерувати ключ.
ВАЖЛИВО: Із ключем API, приватним ключем і QR-кодом треба поводитися в той самий спосіб, що й із вашим паролем! Збережіть його в менеджері паролів, якщо доступ до нього буде вам потрібний пізніше. Не зберігайте його в нешифрованому форматі!

Використання ключа API

Ключі API складаються з пари ключів – публічного та приватного, обидва з яких необхідно надати клієнтській API-програмі.
API_ExampleKey1Generated_03122021.png
Їх можна використовувати в три описані нижче способи.
  • Пару ключів можна скопіювати та вставити у вигляді звичайного тексту безпосередньо в код API-клієнта. Приклад. Цей метод використовується нашим API-клієнтом на PHP.
  • Пару ключів можна скопіювати та вставити у звичайні текстові файли, до яких API-клієнт може отримати доступ. Приклад. Цей метод використовує наш клієнт командного рядка.
Примітка: У деяких програмних API-клієнтах приватний ключ також називається секретом API (або просто секретом).

2FA для ключа API

Ключі API самі по собі забезпечують надійну автентифікацію доступу через API до облікового запису Kraken, але їхню надійність можна підвищити, додавши двофакторну автентифікацію (2FA).
2FA для ключа API можна додати до вже наявного ключа на сторінці «Безпека». Для цього можна застосувати статичний пароль або Google Authenticator.
Примітка. Для додавання 2FA до ключа API відповідний API-клієнт також має підтримувати 2FA (тобто передавати дані 2FA із кожним викликом приватних методів API). В іншому випадку API повертатиме неочікувану помилку.
Докладніше про те, як працює 2FA для ключів API, див. тут.