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 (обсуждение | вклад) |
||
(не показано 13 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | ==Пример работы с API на Python== | |
+ | Описание и примеры работы с API 50X.com на примере Python смотрите на странице https://api.50x.com/ | ||
+ | |||
+ | ==Пример работы с API на PHP== | ||
+ | |||
+ | <pre style="white-space: pre; border: 2px dashed #ddd;padding: 5px 20px 5px;margin: 30px 5px 5px;max-width:1000px;clear:left;"> | ||
+ | |||
+ | /*** 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, '.', ''); | ||
$query_string = http_build_query($pars, '', '&'); | $query_string = http_build_query($pars, '', '&'); | ||
− | $ | + | $pars['signature'] = hash_hmac('sha256', $query_string, $api_sec); |
− | |||
$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: | Строка 32: | ||
); | ); | ||
+ | // отправка запроса | ||
$ch = curl_init(); | $ch = curl_init(); | ||
curl_setopt($ch, CURLOPT_URL, $URL_50x.$method.'/'); | curl_setopt($ch, CURLOPT_URL, $URL_50x.$method.'/'); | ||
Строка 34: | Строка 45: | ||
} | } | ||
+ | /*** ПРИМЕР ЗАПРОСОВ ***/ | ||
$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 | ||
+ | print_r($json); | ||
+ | |||
+ | // ИЛИ получение результата в виде объекта | ||
+ | //print_rp(json_decode($json)); | ||
+ | |||
+ | // ИЛИ получение результата в виде массива | ||
+ | //print_r(json_decode($json, true)); | ||
+ | |||
+ | </pre> | ||
− | |||
− | |||
− | |||
− | + | Протестировать код и провести испытания можно тут https://paiza.io/projects/Idp9u92qf2tgOvTrWa1Urg |
Текущая версия на 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