Создаем свой онлайн обменник на
API Quickex – пошаговый мануал

Как создать свой обменник электронных валют?
Что нужно знать, чтобы создать обменник электронных валют? Где взять скрипт для создания обменника крипто валют? Как сделать автоматический онлайн обменник?
Создать свой криптообменник можно даже не обладая специальными навыками

. Практически вся работа уже сделана за вас – и за это можете благодарить API. Весь процесс построения обменника состоит из нескольких этапов. При этом 9 из 10 стартаперов допускают ошибку уже на первом шаге – на поиске подходящих скриптов. Скачав бесплатное решение из сети, они получают скрипт низкого качества с нулевым уровнем безопасности. А за индивидуальную разработку придется выложить солидные деньги. Имея достаточный бюджет, можно потратить средства на разработку подходящих скриптов. Но! Нет гарантии, что в дальнейшем вы не захотите расширить функционал своего обменника. Готовы опять тратить деньги? С API от Quickex вы гарантировано избавлены от ненужных расходов.
Все гораздо проще, чем вы думали!
Чтобы создать функциональный криптообменник своими руками, причем с максимальной степенью надежности, воспользуйтесь готовым решением от Quickex. Пошаговая стратегия построения успешного проекта выглядит так:
Шаг 1 – Создаем интерфейс
(параллельно думаем, на что потратить деньги, сэкономленные на покупке скриптов)
<div>
    <button class="getCourse">get course</button>
    <div>
        <label for="send">Send</label>
        <input id="send" type="number" name="send" value="0.0001">
        <select name="select-send" class="js-select-send">
            <option value="eth">ETH</option>
            <option value="btc">BTC</option>
            <option value="ltc">LTC</option>
        </select>
    </div>
    <div>
        <label for="get">Get</label>
        <input id="get" type="number" name="get">
        <select name="select-send" class="js-select-get">
            <option value="eth">ETH</option>
            <option value="btc" selected>BTC</option>
            <option value="ltc">LTC</option>
        </select>
    </div>
    <div>
        <!--адрес куда отправить деньги-->
        <label>Withdrawal adress</label>
        <input id="withdrawal" type="text" name="withdrawal">
    </div>
    <div>
        <!--адрес если обмен не удался-->
        <label>Return address</label>
        <input id="returnAddress" type="text" name="returnAddress">
    </div>
    <button id="create">Create</button>
</div>
Шаг 2 – Связываемся со службой технической поддержки Quickex и регистрируемся в качестве партнера
(это единственный способ получить доступ к использованию API)
Шаг 3 – Входим в учетную запись при помощи полученного логина и пароля
(данные для доступа предоставит все тот же отзывчивый и стремительный саппорт)
'Получим что то подобное:
	'LOGIN': 'demo_user',
	PASS': 'ffa4be6a7c014bf88bb629f4efdda473',
Шаг 4 – Сразу после входа получаем личный токен, который меняется каждые 5 минут
(без этого токена API – не API)
var xhr = new XMLHttpRequest();
xhr.open("POST", 'https://api.quickex.io/login');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
//Логин и пароль передаём в заголовках
xhr.setRequestHeader('php-auth-user', 'demo_user');
xhr.setRequestHeader('php-auth-pw', 'ffa4be6a7c014bf88bb629f4efdda473');
xhr.send();
xhr.onreadystatechange = function () {
    TOKEN = xhr.responseText;
}
Шаг 5 – Используем API для своих целей:
Для получения курса криптовалюты делаем запрос "Get rate" из API Quickex
var xhr = new XMLHttpRequest();
xhr.open("POST", 'https://api.quickex.io/rate/eth_btc');
xhr.setRequestHeader('Authorization', 'Bearer ' + TOKEN);
xhr.send();
var rate =  xhr.responseText;
Для создания обмена берем из API метод CREATE FIXED TRANSACTION
var data = {
    	"amount": 0.03101415, //кол-во валюты для обмена
	"withdrawal": "12v4rjzyXnRF7dwNb4ukxTpYrugBTy6nct", //куда отправить деньги 	"pair": "eth_btc", //пара обмена
	"returnAddress": "0xd68CcC74C32BAB4c4c6F289b3b1754f46a8311FE" //адрес если обмен не удался
};
var xhr = new XMLHttpRequest();
xhr.open("POST", 'https://api.quickex.io/sendamount');
xhr.setRequestHeader('Authorization', 'Bearer ' + TOKEN);
xhr.send(JSON.stringify(data));

var exchangeResponse =  xhr.responseText;
Получаем ключ deposit (на этот ключ Quickex будет ждать перевода денег)
//на этот адрес нужно отправить крипту и терпеливо ждать 
	var exchangeResponse.depositAddress;
Небольшая библиотека для работы с API. Постарались вложить в неё всё для удобной работы и реализации вышеперечисленного.
function QuickexApi() {
       var self = {
        'API_URL': 'https://api.quickex.io',
        'LOGIN': 'demo_user',
        'PASS': 'ffa4be6a7c014bf88bb629f4efdda473',
        'TOKEN': '',
        'LAST_TIME': 0
    };
    //Метод для запросов по api
    self.get = function (url, data) {
        //Если прошло > 5 минут с момента последней авторизации, то залогинимся заново
        if ((new Date().getTime() - self.LAST_TIME > 5 * 60 * 1000)) {
            self.login();
        }
        data = typeof (data) != 'undefined' ? data : {};
        var xhr = new XMLHttpRequest();
        xhr.open("POST", self.API_URL + url);
        xhr.setRequestHeader('Authorization', 'Bearer ' + self.TOKEN);
        xhr.send(JSON.stringify(data));
        return xhr.responseText;
    };
    //логинимся и получаем токен для работы с api
    self.login = function () {
        var xhr = new XMLHttpRequest();
        xhr.open("POST", self.API_URL + '/login');
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        //Логин и пароль передаём в заголовках
        xhr.setRequestHeader('php-auth-user', self.LOGIN);
        xhr.setRequestHeader('php-auth-pw', self.PASS);
        xhr.send();
        xhr.onreadystatechange = function () {
            self.LAST_TIME = (new Date().getTime());
            self.TOKEN = xhr.responseText;
        }
    };
    //получаем текущий курс
    self.getRate = function (pair) {
        return self.get('/rate/' + pair);
    };
    //Инициализируем обмен и получаем адрес на который нужно отправить крипту
    self.initExchange = function (pair, amount, withdrawal, returnAddress) {
        var data = {
            "amount": amount, //кол-во валюты для обмена
            "withdrawal": withdrawal, //адрес куда отправить деньги
            "pair": pair, //пара обмена
            "returnAddress": returnAddress //адрес если обмен не удался
        };
        return self.get('/sendamount', data);
    };
    self.login();
    return self;
Реализация получения курса с помощью API:
var getCourseButton = document.querySelector(".getCourse");
var createButton = document.querySelector("#create");

getCourseButton.addEventListener("click", function () {
    //подключаемся к серверу апи и авторизовываемся
    var api = new QuickexApi();
    var selectSend = document.querySelector(".js-select-send"),
        selectGet = document.querySelector(".js-select-get"),
        selectSendValue = selectSend.value,//валюта обмена
        selectGetValue = selectGet.value;//валюта получения
    var rate = api.getRate(selectSendValue + "_" + selectGetValue);//Получаем курс
    var sendField = document.querySelector("#send");
    var getField = document.querySelector("#get");
    getField.value = sendField.value * rate;// результат
});


createButton.addEventListener("click", function () {
    //подключаемся к серверу апи и авторизовываемся
    var api = new QuickexApi();
    var selectSend = document.querySelector(".js-select-send");
    selectSendValue = selectSend.value,//валюта обмена
    selectGetValue = selectGet.value;//валюта получения
    var pair = selectSendValue + "_" + selectGetValue;
    var sendField = document.querySelector("#send");
    //адрес куда отправить деньги
    var withdrawal = document.querySelector("#withdrawal");
    //адрес если обмен не удался
    var returnAddress = document.querySelector("#returnAddress");
    var exchangeResponse = api.initExchange(pair, sendField, withdrawal, returnAddress);
    //выводим адрес, на который нужно отправить крипту для обмена
    //по хорошему его нужно вывести в красивое модальное окно, но пока так.
    alert('deposit address: ' + exchangeResponse);
});
Чтобы получить доступ к API, а так же если необходима помощь в интеграции,
заполните форму.
Подключение бесплатное, комиссия Quickex составляет 0,5% и уже включена в курс.
Нажимая кнопку «Отправить», я даю свое согласие на обработку моих персональных данных, в соответствии с Федеральным законом от 27.07.2006 года №152-ФЗ «О персональных данных», на условиях и для целей, определенных в Согласии на обработку персональных данных
Made on
Tilda