Эта страница использует машинный перевод. При любых несоответствиях обращайтесь к английской документации.
Авторизация
Получение ключей авторизации API
Ключи доступа к API можно получить в личном кабинете в разделе "Ключи API".
Ограничение доступа по IP-адресам
В целях безопасности доступ к API ограничен по IP-адресам. При создании или редактировании API-ключа в личном кабинете необходимо указать список разрешенных IP-адресов.
API-ключ не может быть активирован без указания хотя бы одного IP-адреса. Разрешены только публичные IP-адреса — частные адреса и localhost не допускаются.
Авторизация API-запросов
Авторизация выполняется путем отправки следующих заголовков в запросе:
| Заголовок | Значение | Формат | Обязательность |
|---|---|---|---|
X-Processing-Key | Публичный API-ключ, полученный в личном кабинете | GUID без дефисов и фигурных скобок | Обязательный |
X-Processing-Timestamp | Временная метка в миллисекундах, когда запрос был создан и отправлен | Unix timestamp в миллисекундах | Обязательный |
X-Processing-RecvWindow | Количество миллисекунд после временной метки, в течение которых запрос действителен | Целое число | Необязательный (по умолчанию 5000 мс) |
X-Processing-Signature | Данные запроса, подписанные секретным ключом HMAC-SHA512 | Значение в кодировке base64 | Обязательный |
Вычисление X-Processing-Signature
Алгоритм
-
Сформируйте данные для подписи в виде строки, объединив части запроса в следующем порядке:
- Значение заголовка
X-Processing-Timestamp+ - Значение заголовка
X-Processing-RecvWindow(если указано) + - Тип HTTP-метода запроса (
GET,POSTи т.д.) + - Относительный URL запроса (Path + Query-параметры) +
- Тело запроса (если указано)
- Значение заголовка
-
Вычислите значение подписи данных запроса в виде последовательности байтов:
- Алгоритм: HMACSHA512
- Секретный ключ: последовательность байтов секретного ключа, полученная из значения секретного ключа в кодировке base64
- Данные для подписи: последовательность байтов строки для подписи в кодировке UTF-8
-
Передайте значение подписи в заголовке
X-Processing-Signatureв кодировке base64
Пример вычисления подписи
API-ключи
| Ключ | Значение |
|---|---|
| apiPublicKey | d93b40983c61423c9a84-9956bf1c3549 |
| apiSecretKey | KTxbhABQWghHHkeOFUAUFIb8u9S2rr0nVklG7/x9EtXKdq9sELhhfYbdsTL1QGK5DWsjrxzTeAP2Zf/hrkv3ZK210fmU/ld30avXEzjHCeBoxYXPCjuTEWtkiFHEOfBczL85rFsLeu0fGZVFmOmnihnMTVbkjmgcSqfYWcpKKYE= |
Запрос
curl -X POST "https://api.crypto2b.com/v1/channels/take" \
-H "Content-Type: application/json" \
-H "X-Processing-Key: d93b40983c61423c9a849956bf1c3549" \
-H "X-Processing-Signature: meQrmb8yTnQK3PJTxGakG71iUVpVxgxcj5B30H7XPhaoP0eiRV2JRBZbgk5vwiqUv5snGcKapousInHtn/Rodg==" \
-H "X-Processing-Timestamp: 1499827320350" \
-H "X-Processing-RecvWindow: 6000" \
-d '{"currencyShortName":"USDT","transportProtocol":"trc20","foreignId":"user-007"}'
Шаги вычисления
-
Строка для подписи:
14998273203506000POST/v1/channels/take{"currencyShortName":"USDT","transportProtocol":"trc20","foreignId":"user-007"} -
Последовательность байтов (HEX) строки для подписи в UTF-8:
3134393938323733323033353036303030504f53542f76312f6368616e6e656c732f74616b657b2263757272656e637953686f72744e616d65223a2255534454222c227472616e73706f727450726f746f636f6c223a227472633230222c22666f726569676e4964223a22757365722d303037227d -
Последовательность байтов (HEX) apiSecretKey:
293c5b8400505a08471e478e1540141486fcbbd4b6aebd27564946effc7d12d5ca76af6c10b8617d86ddb132f54062b90d6b23af1cd37803f665ffe1ae4bf764adb5d1f994fe5777d1abd71338c709e068c585cf0a3b93116b648851c439f05cccbf39ac5b0b7aed1f19954598e9a78a19cc4d56e48e681c4aa7d859ca4a2981 -
X-Processing-Signature (HEX):
99e42b99bf324e740adcf253c466a41bbd62515a55c60c5c8f9077d07ed73e16a83f47a2455d8944165b824e6fc22a94bf9b2719c29aa68bac2271ed9ff46876 -
X-Processing-Signature (base64):
meQrmb8yTnQK3PJTxGakG71iUVpVxgxcj5B30H7XPhaoP0eiRV2JRBZbgk5vwiqUv5snGcKapousInHtn/Rodg==