Авторизация и начало работы
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 доступны со счетов Т-Банка и Сбербанка.