API Documentation
Русский
Русский
  • Авторизация
  • Подпись запросов
  • Список кодов ошибок
  • Webhooks
  • IFrame ордер
  • Виджет приема оплаты
  • Telegram MiniApp
  • API Reference
    • Базовый функционал
      • Проверка корректности подписи x-api-signature
      • Получение монет доступных для приема/отправки транзакций
      • Запрос текущей цены
      • Поиск операции по TX-хешу
      • Проверка корректности адреса
      • Получение истории транзакций
    • Авансовый счет
      • Получение аккаунтов текущего пользователя
      • Получение аккаунта по его ID
      • Получение адреса для пополнения баланса аккаунта
    • Блокчейн-адреса
      • Поиск по ID
      • Отслеживание транзакций
      • Поиск по адресу
      • Мета-данные
      • Транзакции адреса
      • Последняя транзакция адреса
      • Получение списка PayIn адресов
      • Получение списка бизнес адресов
      • Получение рекуррентных адресов
      • Получение списка PayOut адресов
      • Создание нового адрес бизнес кошелька
      • Создание нового адрес PayOut кошелька
    • Персональные адреса
      • Создание пользователя
      • Получение адреса
      • Получение списка адресов
      • Получение пользователя
      • Добавление доверенного адреса
      • Получение списка доверенных адресов
      • Удаление доверенного адреса
    • Ордера
      • Создание ордера
      • Получение информации об ордере
      • Получение списка ордеров
    • Выводы
      • Получение комиссии для проведения вывода
      • Синхронный вывод
      • Асинхронный вывод
      • Получение информации о выводе
    • Счета
      • Создание счета на оплату
      • Запрос получения информации об инвойсе
      • Получение списка счетов
    • Авто обмены
      • Создание авто-обмена
      • Поиск авто-обмена по ID
    • Выплаты 2.0
      • Создание авто-вывода
      • Поиск авто-вывода по ID
      • Дополнительное подтверждение вывода
    • Мост
      • Получение лимиов для кроссчейн перевода
      • Получение информации о кроссчейн переводе
      • Формирование токена комисси
      • Создание кроссчейн перевода
    • Обмены
      • Получение лимитов для кроссчейн обмена
      • Получение информации о кроссчейн обмене
      • Формирование токена комисси
      • Создание кроссчейн обмена
    • Рекуррентные платежи
      • Создание платежной связки
      • Получение платежной связки
      • Получение платежных связок по пользователю
      • Отключение платежной связки
      • Создание подписки
      • Получение подписки
      • Отключение подписки
      • Создание платежа
    • KYT
      • Проверка рисков транзакции
      • Проверка рисков вывода
      • Проверка риска вывода на указанный адрес
    • Партнерское API
      • Создание пользователя
      • Получение пользователя
      • Получение всех пользователей
      • Создание организации
      • Получение списка организаций
      • Получение авансовых балансов пользователя
      • Пополнение авансового баланса пользователя
      • Получение общих тарифов
      • Создание/обновление индивидуального тарифа
      • Получение индвидуальных тарифов
      • Создание API ключа
      • Получение API ключей
      • Удаление API ключа
    • Вебхуки
      • Получение вебхука
      • Получение вебхука (расширенный)
    • Сиротские транзакции
      • Получение транзакции
      • Получение списка транзакций
      • Получение токена комиссии
      • Вывод
    • Адресная книга
      • Добавление адреса
      • Удаление адреса
      • Обновление адреса
      • Получение списка адресов
Powered by GitBook
On this page
  • Использование одноразового номера
  • Пример создания подписи запроса NodeJS

Подпись запросов

Вам нужно указать свой secret_key, применить шифрование SHA256 к вашей полезной нагрузке и преобразовать результат в формат HEX.

Использование одноразового номера

Вы должны передавать параметр nonce в теле каждого запроса к этому API. nonce может быть числом или строкой, каждый запрос должен сопровождаться уникальным значением. В противном случае запрос не будет выполнен.

Мы будем использовать Unix TimeStamp в качестве значения nonce для отправки запросов в этом документе.

Пример создания подписи запроса NodeJS

Допустим, мы хотим получить курс ETH/USDT (метод /price-rate)

1. Формируем тело запроса

const payload = { from: 'ETH', to: 'USDT' };

2. Добавьте nonce параметр к телу запроса, чтобы избежать дублирования запросов.

Используя временную метку unix в качестве параметра «nonce», мы удовлетворим требованиям использования числа и его увеличения для каждого нового запроса.

payload.nonce = Date.now(); // 1643881172430

3. Приводим тело запроса к формату строки.

const stringPayload = JSON.stringify(payload); // {"из":"ETH","в":"USDT","nonce":1643881172430}

4. Создаем подпись:

Пример с модулем crypto-js:

const CryptoJS = require("crypto-js");
const sign = CryptoJS.HmacSHA256(stringPayload, __PRIVATE_KEY__).toString(CryptoJS.enc.Hex)

Пример с модулем crypto:

const crypto = require('crypto');
const sign = crypto.createHmac('SHA256', __PRIVATE_KEY__).update(stringPayload).digest('hex');

5. Отправляем запрос с обязательными заголовками:

const axios = require('axios'); // библиотека для HTTP-запросов
const response = await axios.post(__BASE_URL__ + '/price-rate', stringPayload,
{
     headers:
         {
             'x-api-public-key': __PUBLIC_KEY__,
             'x-api-signature': sign
         }
});

6. Ответ:

console.log(response); // {"success":true,"response":"2751.51000000"}
PreviousАвторизацияNextСписок кодов ошибок

Last updated 1 year ago