NAV
javascript

Авторизация и начало работы

Cryptoswap API использует ключи для авторизации запросов и индивидуальные URL для доступа к API. Для получения ключа и эндпойнта обратитесь к @CryptoSwappp.

Для авторизации запросов к API необходимо указать заголовок x-api-key со значением вашего ключа.

При ошибке авторизации будет отправлен код 401 UNAUTHORIZED.

Все запросы к API осуществляются методом POST с "Content-Type": "application/json" с частотой не более 100 запросов в минуту.

Ответы API имеют вид application/json тела, содержащего поле result в случае успешной обработки запроса или error в случае ошибки. result содержит поле data, error cодержит поле message.

const apiKey = "ваш-ключ";
const apiUrl = "https://ваш-эндпойнт/api";

const orderData = {
  // ... данные заказа ...
};

fetch(`${apiUrl}/orders/create`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-api-key": apiKey,
  },
  body: JSON.stringify(orderData),
})
  .then((response) => {
    const { result, error } = response.json();
    if (!!error) {
      throw new Error(error.message);
    }
    return result.data;
  })
  .then((data) => {
    console.log("Заказ успешно создан:", data);
  })
  .catch((error) => {
    console.error("Ошибка:", error);
  });

Заявки

Создать Заявку


Этот эндпойнт создает заявку на прием номинала.

HTTP Request

POST /orders/create

Параметры запроса

Имя Тип Обязательный Default Описание
amount number Да - Сумма
payment_method PaymentMethod Нет CreditCard Метод
currency Currency Нет RUB Валюта, используется для расчета итоговой суммы
client_id string Нет - Уникальный идентификатор клиента в вашей системе
custom_id string Нет - Ваш ID заявки для идентификации, до 128 символов
wallet_id string Нет - ID кошелька, на который будут зачислена сумма
client_covers_fees boolean Нет false Если true, то комиссия сервиса будет добавлена к сумме приема, если false, то вычтена из суммы, зачисленной на ключ
strict_payment_method boolean Нет false Если false, то, при отсутствии метода, указаннного в payment_method, будет использован другой доступный метод, в противном случае будет возвращена ошибка

Тип ответа

Тип
Order

Получить заявки, таблица


Этот эндпойнт возвращает таблицу всех заявок на вашем ключе, отсортированный по дате создания в порядке убывания. Размер страницы фиксированный - 50.

HTTP Request

POST /api/orders/list

Параметры запроса

Параметр Тип Дефолт Описание
page number 1 Номер страницы

Тип ответа

Имя Тип Описание
orders Массив Order Список транзакций
pagination Pagination Объект с данными о пажинации

Получить заявки, список


Этот эндпойнт возвращает список запрошенных заявок, максимум - 50.

HTTP Request

POST /api/orders/get

Параметры запроса

Параметр Тип Описание
order_id Массив string Список ID заявок

Тип ответа

Тип Описание
Массив Order Список транзакций

Отменить транзакцию


Этот эндпойнт отменяет транзакцию.

HTTP Request

POST /api/orders/cancel

Параметры запроса

Параметр Тип Описание
order_id string ID заявки

Тип ответа

Имя Тип Описание
message string Сообщение об успешной отмене транзакции

Ошибки

При ошибке создания заявки сервис отправит поле error вместо result и data, в данном поле доступно message. В случае ответа 400 BAD REQUEST сообщение в поле message начинается с кода ошибки.

Код Описание
EMARKETDISABLED Создание новых заявок временно остановлено
ELIMITS Заявка не удовлетворяет ограничения по минимальной/максимальной сумме сделки
ELIMITSFTD Заявка была помечена как "небезопасная" не удовлетворяет ограничения по минимальной/максимальной сумме небезопасной сделки
ENOCARDS Не удалось назначит реквизиты для заявки

Ключ

Баланс


Этот эндпойнт возвращает общий баланс всех кошельков ключа.

HTTP Request

POST /api/keys/balance

Тип ответа

Имя Тип Описание
balance number Доступный баланс

Создать кошелек


Этот эндпойнт позволяет создать кошелек.

HTTP Request

POST /api/keys/createWallet

Параметры запроса

Параметр Тип Описание
name string Имя кошелька
currency Currency Валюта выплаты (только криптовалюты)
address string Адрес выплаты

Тип ответа

Тип
Wallet

Получить кошелек


Этот эндпойнт позволяет получить данные конкретного кошелька.

HTTP Request

POST /api/keys/getWallet

Параметры запроса

Параметр Тип Описание
wallet_id string ID кошелька

Тип ответа

Тип
Wallet

Получить кошельки, список


Этот эндпойнт возвращает все кошельки

HTTP Request

POST /api/keys/listWallets

Тип ответа

Тип Описание
Массив Wallet Список кошельков

Обновить кошелек


Этот эндпойнт позволяет обновить имя кошелька и параметры для выплат.

HTTP Request

POST /api/keys/updateWallet

Параметры запроса

Параметр Тип Обязательный Описание
wallet_id string Да ID кошелька
name string Нет Имя кошелька
withdrawal_currency Currency Нет Валюта выплаты (только криптовалюты)
withdrawal_address string Нет Адрес выплаты

Тип ответа

Тип
Wallet

Получить список доступных платежных методов


Этот эндпойнт позволяет обновить имя кошелька и параметры для выплат.

HTTP Request

POST /api/keys/listAvailableMethods

Параметры запроса

Параметр Тип Обязательный Описание

Тип ответа

Тип
Массив AvailableMethods

Поддержка


Создать обращение в поддержку.

HTTP Request

POST /api/keys/support

Параметры запроса

Имя Тип Обязательный Default Описание
order_id string Нет - ID заявки в системе, укажите для ускорения процесса разбирательства
message string Да - Текст обращения до 512 символов

Тип ответа

Имя Тип Описание
message string Ok

Webhooks

При запросе на доступ к API вы можете указать адрес для получения webhook-уведомлений. Ваш сервер должен отвечать статусом 200 при успешной обработке вебхука, в противном случае он будет отправлен повторно. Всего будет предпринято 4 попытки доставки уведомления.

Уведомления отправляются POST - запросом c application/json телом следующего вида:

Имя Тип Описание
message_type MessageType Тип уведомления
data Данные уведомления в зависимости от типа уведомления

Типы уведомлений (MessageType)

Код Описание
order.update Уведомления об изменении статуса заявки

Типы данных уведомления

order.update

Имя Тип Описание
id string ID заявки
custom_id string Ваш ID заявки для идентификации
status OrderStatus Статус заявки

Типы

Заявка (Order)

Имя Тип Описание
id string ID заявки
custom_id string Ваш ID заявки для идентификации
status OrderStatus Статус заявки
pay number Сумма к оплате клиентом
get number Сумма к зачислению на ключ мерчанта
address string Реквизиты
address_type PaymentMethod Тип реквизитов
address_locale Locale Страна выдачи реквизитов
address_recipient string ФИО владельца реквизитов
wallet string ID кошелька
bank string Имя банка реквизитов платежа, отправляется при создании заявки
created number время создания заявки, unix-время в миллисекундах
expiry number время экспирации заявки, unix-время в миллисекундах

Доступные методы оплаты (AvailableMethods)

Имя Тип Описание
code PaymentMethod Код метода
label string Русскоязычное описание метода

Валюты (Currency)

Код Описание
BTC Bitcoin
LTC Litecoin
XMR Monero
USDT Tether
RUB Russian Ruble

Locale (Locale)

Код Описание
ab Абхазия
az Азербайджан
tj Таджикистан
ru Россия
uz Узбекистан

Методы оплаты (PaymentMethod)

Код Описание
CreditCard Перевод на карту
PhoneNumber Перевод по СБП
PhoneNumberTjs Перевод по СБП в Таджикистан
PhoneNumberAsia Перевод по СБП в страны СНГ
CardNumberAsia Перевод по номеру карты в страны СНГ
AccountNumber Перевод на номер счета
AccountNumberSberbank Внутрибанковский перевод по номеру счета Сбербанк
NSPK QR-код НСПК (ссылка)
InterbankSberbankDeeplink Внутрибанковский перевод по номеру телефона Сбербанк (ссылка)
InterbankAlfabankPhoneNumber Внутрибанковский перевод по номеру телефона Альфабанк
MobileTopUpTjs Пополнение мобильного счета в Таджикистан
Paylink Платежная ссылка
NSPKAsia QR-код НСПК (ссылка) для стран СНГ
CreditCardAsia Перевод на номер карты в страны СНГ
InterbankOzonbankPhoneNumber Внутрибанковский перевод по номеру телефона Озон Банк
InterbankWildberriesPhoneNumber Внутрибанковский перевод по номеру телефона Вайлдберриз Банк
InterbankTbankPhoneNumber Внутрибанковский перевод по номеру телефона Т-Банк
InterbankYandexbankPhoneNumber Внутрибанковский перевод по номеру телефона Яндекс Банк
InterbankPsbbankPhoneNumber Внутрибанковский перевод по номеру телефона ПСБ
InterbankVtbbankPhoneNumber Внутрибанковский перевод по номеру телефона ВТБ

Статус заявки (OrderStatus)

Код Описание
PaymentPending Ожидание оплаты
PaymentReceived Оплата получена, не подтверждена
PaymentConfirmed Оплата получена, подтверждена
PaymentTimedOut Оплата не получена вовремя
OrderCancelled Заявка отменена

Страничные данные (Pagination)

Имя Тип Описание
currentPage number Текущая страница
totalPages nubmer Всего страниц
totalCount number Всего строк
perPage number Всего строк на странице

Кошелек (Wallet)

Имя Тип Описание
id string ID кошелька
status WalletStatus Статус кошелька
balance string Баланс кошелька фиатной валюте
name string Имя кошелька
created_at number Время создания кошелька, unix-время в миллисекундах
withdrawal_currency Currency Валюта выплат
withdrawal_address string Адрес для выплат

Инструкции по осуществлению платежей

Платежи по НСПК

Платежи на реквизиты Таджикистана по номеру телефона

Трансграничные платежи по номеру карты

Платежи на реквизиты Абхазии ab доступны со счетов Т-Банка, ПСБ, БСПБ, Газпром Банка, YooMoney и осуществляются переводом на номер карты с указанием ФИО получателя.

Платежи на реквизиты Азербайджана az, Таджикистана tj и Узбекистана uz доступны со счетов Т-Банка и Сбербанка.