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

Материал из 50x.com
Перейти к навигации Перейти к поиску
(Новая страница: «<code> $KEY_50x = 'INSERT API KEY HERE'; $SEC_50x = 'INSERT API SEC HERE'; function api_call_50x($method, $pars, $api_key, $api_sec) { $URL_50x = 'https://a...»)
 
Строка 1: Строка 1:
<code>
+
==Пример работы с АПИ на PHP==
  
 +
<pre style="white-space: pre;">
 +
 +
/*** API ключи ***/
 
$KEY_50x = 'INSERT API KEY HERE';
 
$KEY_50x = 'INSERT API KEY HERE';
 
$SEC_50x = 'INSERT API SEC HERE';
 
$SEC_50x = 'INSERT API SEC HERE';
  
 +
// функция принимающая параметры и возвращающая результат в JSON
 
function api_call_50x($method, $pars, $api_key, $api_sec) {
 
function api_call_50x($method, $pars, $api_key, $api_sec) {
 +
    // адрес API, на который идет запрос
 
     $URL_50x = 'https://api.50x.com/';
 
     $URL_50x = 'https://api.50x.com/';
 
      
 
      
 +
    // формирование строки с параметрами запроса
 
     $pars = json_decode($pars, true);
 
     $pars = json_decode($pars, true);
 
     $pars['timestamp'] = number_format(microtime(true)*1000, 0, '.', '');
 
     $pars['timestamp'] = number_format(microtime(true)*1000, 0, '.', '');
Строка 14: Строка 20:
 
     $query_string = http_build_query($pars, '', '&');
 
     $query_string = http_build_query($pars, '', '&');
 
      
 
      
 +
    // заголовки запроса
 
     $header = array(
 
     $header = array(
 
         "Content-Type: application/x-www-form-urlencoded",
 
         "Content-Type: application/x-www-form-urlencoded",
Строка 22: Строка 29:
 
     );
 
     );
 
      
 
      
 +
    // отправка запроса
 
     $ch = curl_init();
 
     $ch = curl_init();
 
     curl_setopt($ch, CURLOPT_URL, $URL_50x.$method.'/');
 
     curl_setopt($ch, CURLOPT_URL, $URL_50x.$method.'/');
Строка 34: Строка 42:
 
}
 
}
  
 +
/*** ПРИМЕР ЗАПРОСОВ ***/
 
$json = api_call_50x('json.userinfo', '{}', $KEY_50x, $SEC_50x);
 
$json = api_call_50x('json.userinfo', '{}', $KEY_50x, $SEC_50x);
//$json = api_call_50x('json.place_order', '{"pair":"XRP/A2A","v":45.02643798,"ot":"l","r":8.4,"bs":"s"}', $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.orderslist', '{"pn":1}', $KEY_50x, $SEC_50x);
 
//$json = api_call_50x('json.blotter', '{"sym":"ETH"}', $KEY_50x, $SEC_50x);
 
//$json = api_call_50x('json.blotter', '{"sym":"ETH"}', $KEY_50x, $SEC_50x);
 +
// и т.д. с другими методами
  
 +
// пример вывода в браузере форматированного JSON
 
echo "<pre>";  
 
echo "<pre>";  
 
echo json_encode(json_decode($json), JSON_PRETTY_PRINT);  
 
echo json_encode(json_decode($json), JSON_PRETTY_PRINT);  
 
echo "</pre>";
 
echo "</pre>";
  
</code>
+
</pre>

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

Пример работы с АПИ на 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 "<pre>"; 
echo json_encode(json_decode($json), JSON_PRETTY_PRINT); 
echo "

";