API: различия между версиями

Материал из 50x.com
Перейти к навигации Перейти к поиску
Строка 57: Строка 57:
  
 
</pre>
 
</pre>
 +
 +
Протестировать код и провести испытания можно тут https://paiza.io/projects/Idp9u92qf2tgOvTrWa1Urg

Версия 17:58, 23 февраля 2020

Пример работы с АПИ на Python

Описание и примеры работы с API 50X.com на примере Python смотрите на странице https://api.50x.com/

Пример работы с АПИ на PHP


/*** API ключи ***/
$KEY_50x = 'INSERT API KEY HERE';
$SEC_50x = 'INSERT API SEC HERE';

// функция принимающая параметры и возвращающая результат в JSON
function api_call_50x($method, $pars, $api_key, $api_sec) {
    // адрес API, на который идет запрос
    $URL_50x = 'https://api.50x.com/';
    
    // формирование строки с параметрами запроса
    $pars = json_decode($pars, true);
    $pars['timestamp'] = number_format(microtime(true)*1000, 0, '.', '');
    $query_string = http_build_query($pars, '', '&');
    $sign = $m = hash_hmac('sha256', $query_string, $api_sec);
    $pars['signature'] = $sign;
    $query_string = http_build_query($pars, '', '&');
    
    // заголовки запроса
    $header = array(
        "Content-Type: application/x-www-form-urlencoded",
        "Accept': 'application/json",
        "User-Agent: 50x/php",
        "X-MBX-APIKEY: $api_key",
        "ORIGIN-PARS: $query_string"
    );
    
    // отправка запроса
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $URL_50x.$method.'/');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($pars));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);
    
    return $result;
}

/*** ПРИМЕР ЗАПРОСОВ ***/
$json = api_call_50x('json.userinfo', '{}', $KEY_50x, $SEC_50x);
//$json = api_call_50x('json.place_order', '{"pair":"50X/A2A","v":500,"ot":"l","r":4.54,"bs":"s"}', $KEY_50x, $SEC_50x);
//$json = api_call_50x('json.orderslist', '{"pn":1}', $KEY_50x, $SEC_50x);
//$json = api_call_50x('json.blotter', '{"sym":"ETH"}', $KEY_50x, $SEC_50x);
// и т.д. с другими методами

// пример вывода в браузере результата в JSON
echo json_encode(json_decode($json), JSON_PRETTY_PRINT); 

Протестировать код и провести испытания можно тут https://paiza.io/projects/Idp9u92qf2tgOvTrWa1Urg