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

Материал из 50x.com
Перейти к навигации Перейти к поиску
 
(не показаны 2 промежуточные версии этого же участника)
Строка 20: Строка 20:
 
     $pars['timestamp'] = number_format(microtime(true)*1000, 0, '.', '');
 
     $pars['timestamp'] = number_format(microtime(true)*1000, 0, '.', '');
 
     $query_string = http_build_query($pars, '', '&');
 
     $query_string = http_build_query($pars, '', '&');
     $sign = $m = hash_hmac('sha256', $query_string, $api_sec);
+
     $pars['signature'] = hash_hmac('sha256', $query_string, $api_sec);
    $pars['signature'] = $sign;
 
 
     $query_string = http_build_query($pars, '', '&');
 
     $query_string = http_build_query($pars, '', '&');
 
      
 
      
Строка 53: Строка 52:
 
// и т.д. с другими методами
 
// и т.д. с другими методами
  
// вывод результата в JSON
+
// получение результата в JSON
echo $json;
+
print_r($json);
 +
 
 +
// ИЛИ получение результата в виде объекта
 +
//print_rp(json_decode($json));
 +
 
 +
// ИЛИ получение результата в виде массива
 +
//print_r(json_decode($json, true));
  
 
</pre>
 
</pre>

Текущая версия на 16:24, 26 февраля 2020

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

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

Пример работы с API на 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, '', '&');
    $pars['signature'] = hash_hmac('sha256', $query_string, $api_sec);
    $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
print_r($json);

// ИЛИ получение результата в виде объекта
//print_rp(json_decode($json));

// ИЛИ получение результата в виде массива
//print_r(json_decode($json, true));


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