API: различия между версиями
Перейти к навигации
Перейти к поиску
User3 (обсуждение | вклад) (Новая страница: «<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...») |
User3 (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | ==Пример работы с АПИ на 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":" | + | //$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>"; | ||
− | </ | + | </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 "
";