Post
Topic
Board Кодеры
Topic OP
API для биржи bitfinex.com (PHP)
by
gerzikon
on 24/09/2015, 13:22:29 UTC
Пытаюсь создать PHP-скрипт для API биржи https://www.bitfinex.com
Прошу помочь тем кто знаком с API этой биржи.
На сайте биржи есть документация https://www.bitfinex.com/pages/api (с пояснениями, но без примеров целого скрипта, как на других биржах). Делаю все вроде по этим инструкциям, но получаю ошибку. Я создал на бирже ключи, написал скрипт, но получаю такую ошибку:
Code:
{"message":"Invalid json."}
Вот сам скрипт
Quote
$key = ""; // Ключ
$secret = ""; // Секретный ключ

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

// Кодирование данных в JSON-формат
$payload = json_encode($arr);
$payload = str_replace("\/", "/", $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/v1/account_infos");
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;
?>
В документации на сайте сказано что, к примеру, для создания нового ордера нужно делать запрос на адрес https://api.bitfinex.com/v1/order/new и формировать json такого типа
Code:
{
 "request": "/v1/order/new",
 "nonce": "1234",
 "option1": ...
}
Я для начала, чтобы не ошибиться с параметрами ("option1": ... и т. д.) взял такой запрос где параметры не нужны - это информационный запрос на адрес https://api.bitfinex.com/v1/account_infos
По аналогии с приведенным выше примером, json должен быть таким
Code:
{
 "request": "/v1/account_infos",
 "nonce": "1234"
}
В скрипте выше он такой и есть, с учетом того что параметр "nonce" при каждом запросе увеличивается, но ответ приходит
Code:
{"message":"Invalid json."}
В коде выше я, разумеется, удалил свои ключи.
Как модифицировать этот скрипт чтобы в него можно было в самом начале добавить свои ключи и в результате получался правильный api-запрос на https://api.bitfinex.com/v1/account_infos
Или может быть у кого-то есть другой готовый скрипт, в котором можно было бы только добавить свои ключи и сделать какой-либо корректный запрос через API на биржу bitfinex.com?