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

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

Авторизация

Получение ключей авторизации API

Ключи доступа к API можно получить в личном кабинете, в разделе "API Keys".

Ограничение доступа по IP-адресу

Для обеспечения безопасности доступ к API ограничен по IP-адресу. При создании или редактировании ключа API в личном кабинете необходимо указать список разрешённых IP-адресов.

Обязательная настройка

Ключ API не может быть активирован без указания хотя бы одного IP-адреса. Разрешены только публичные IP-адреса — частные адреса и localhost не допускаются.

Авторизация запроса к API

Авторизация выполняется путём передачи следующих заголовков в запросе:

ЗаголовокЗначениеФорматОбязательность
X-Processing-KeyПубличный ключ API, полученный в личном кабинетеGUID без дефисов и фигурных скобокОбязательный
X-Processing-TimestampВремя в миллисекундах, когда запрос был создан и отправленUnix-время в миллисекундахОбязательный
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 запроса (путь + параметры запроса) +
    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==