Перейти к основному содержимому
Машинный перевод

Эта страница использует машинный перевод. При любых несоответствиях обращайтесь к английской документации.

Авторизация

Получение ключей авторизации 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

Алгоритм

  1. Сформируйте данные для подписи в виде строки, объединив части запроса в следующем порядке:

    1. Значение заголовка X-Processing-Timestamp +
    2. Значение заголовка X-Processing-RecvWindow (если указано) +
    3. Тип HTTP-метода запроса (GET, POST и т.д.) +
    4. Относительный URL запроса (Path + Query-параметры) +
    5. Тело запроса (если указано)
  2. Вычислите значение подписи данных запроса в виде последовательности байтов:

    • Алгоритм: HMACSHA512
    • Секретный ключ: последовательность байтов секретного ключа, полученная из значения секретного ключа в кодировке base64
    • Данные для подписи: последовательность байтов строки для подписи в кодировке UTF-8
  3. Передайте значение подписи в заголовке X-Processing-Signature в кодировке base64

Пример вычисления подписи

API-ключи

КлючЗначение
apiPublicKeyd93b40983c61423c9a84-9956bf1c3549
apiSecretKeyKTxbhABQWghHHkeOFUAUFIb8u9S2rr0nVklG7/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"}'

Шаги вычисления

  1. Строка для подписи:

    14998273203506000POST/v1/channels/take{"currencyShortName":"USDT","transportProtocol":"trc20","foreignId":"user-007"}
  2. Последовательность байтов (HEX) строки для подписи в UTF-8:

    3134393938323733323033353036303030504f53542f76312f6368616e6e656c732f74616b657b2263757272656e637953686f72744e616d65223a2255534454222c227472616e73706f727450726f746f636f6c223a227472633230222c22666f726569676e4964223a22757365722d303037227d
  3. Последовательность байтов (HEX) apiSecretKey:

    293c5b8400505a08471e478e1540141486fcbbd4b6aebd27564946effc7d12d5ca76af6c10b8617d86ddb132f54062b90d6b23af1cd37803f665ffe1ae4bf764adb5d1f994fe5777d1abd71338c709e068c585cf0a3b93116b648851c439f05cccbf39ac5b0b7aed1f19954598e9a78a19cc4d56e48e681c4aa7d859ca4a2981
  4. X-Processing-Signature (HEX):

    99e42b99bf324e740adcf253c466a41bbd62515a55c60c5c8f9077d07ed73e16a83f47a2455d8944165b824e6fc22a94bf9b2719c29aa68bac2271ed9ff46876
  5. X-Processing-Signature (base64):

    meQrmb8yTnQK3PJTxGakG71iUVpVxgxcj5B30H7XPhaoP0eiRV2JRBZbgk5vwiqUv5snGcKapousInHtn/Rodg==