Post
Topic
Board Трейдеры
Re: Bitfinex- биржа для всех
by
gerzikon
on 24/09/2015, 21:18:01 UTC
Вопрос к тем кто пользуется API на Bitfinex. На какой адрес вы отправляете запрос при создании нового ордера?
Я по документации API с этой страницы https://www.bitfinex.com/pages/api написал скрипт на PHP. Он нормально работает, но не со всеми командами.

В инструкции сказно что, к примеру, для создания нового ордера запрос нужно отправлять на адрес https://api.bitfinex.com/v1/order/new. Для других команд окончания адреса другие: "/account_infos", "/deposit/new", "/order/new/multi", "/order/cancel/all", "/order/status", "/orders", и т. п.

Дело в том, что часть из них работают, а другие нет. Те что не работают, при запросе отдают страницу 404, как-будто такого адреса вообще не существует, а те что работают отдают ответ в json-формате. Причем сам код скрипта здесь вообще не при чем. Разница видна даже при попытке зайти на эти адреса из браузера.

Например, если в браузере перейти по этим адресам
https://api.bitfinex.com/v1/account_infos
https://api.bitfinex.com/v1/deposit/new
https://api.bitfinex.com/v1/order/cancel/all
https://api.bitfinex.com/v1/order/status
то ответ будет в json-формате. Разумеется, будет ошибка {"message":"X-BFX-APIKEY header was not sent."}, но зато из этого понятно что был запрос на корректный API-адрес.

Если же перейти по этим адресам (из той же документации), то выдается ошибка 404
https://api.bitfinex.com/v1/order/new
https://api.bitfinex.com/v1/order/cancel
https://api.bitfinex.com/v1/order/new/multi
https://api.bitfinex.com/v1/order/cancel/replace

Кто использует API bitfinex, по какому адресу вы отправляетет запрос при создании нового ордера?


P.S. Вот еще сам скрипт (без ключей), но по-моему очевидно, что он здесь не при чем
Quote
$key = ''; // Ключ
$secret = ''; // Секретный ключ

// URL
$URL = "/account_infos";

// Формирование массива с данными запроса
$arr = array();
$arr["request"] = "/v1".$URL;
$arr["nonce"] = time()."";

// Кодирование данных в JSON-формат и base64
$payload = json_encode($arr);
$payload = base64_encode($payload);

// Хеширование
$signature = hash_hmac("sha384", $payload, $secret);

// Формирование массива c заголоавками headers
$headers = array();
$headers[0] = "X-BFX-APIKEY: $key";
$headers[1] = "X-BFX-PAYLOAD: $payload";
$headers[2] = "X-BFX-SIGNATURE: $signature";

// Запрос
$ch = curl_init("https://api.bitfinex.com".$arr["request"]);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$resultat = curl_exec($ch);

// Вывод результата
echo $resultat;
?>