Помогите настроить API запрос для биржи HitBTC, выдает ошибку 1004 Unsupported authorization method

Помогите пожалуйста перевести этот код в PHP, уже много часов не получается его запустить

Из документации https://api.hitbtc.com/#authentication

Здесь вообще не понятно что за язык и как все это читать

PS. на каком языке выяснил, это Node.js

curl -u "apiKey:secretKey" https://api.hitbtc.com/api/3/spot/balance
import requests
session = requests.session()
session.auth = ("apiKey", "secretKey")

const fetch = require('node-fetch');

const credentials = Buffer.from('apiKey' + ':' + 'secretKey').toString('base64');

fetch('https://api.hitbtc.com/api/3/spot/balance', {
    method: 'GET',
    headers: {
        'Authorization': 'Basic ' + credentials
    }
});

Заготовка

function request($url, $params = []) {
  $api_key = '12345';
  $api_secret = '12345';
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

  $params['apikey'] = $api_key;
  $params['nonce'] = intval(microtime(true) * 1000);
  $query = http_build_query($params, '', '&');
  $request = $url .'?'. $query;
  $sign = strtolower(hash_hmac('sha512', '/'. $request, $api_secret));

  curl_setopt($curl, CURLOPT_HTTPHEADER, [
    'Api-Signature: '. $sign,
    'User-Agent: Hitbtc PHP Client'
  ]);
  curl_setopt($curl, CURLOPT_URL, 'https://api.hitbtc.com/'. $request);

  return curl_exec($curl);
}
$result = request('api/3/spot/balance');

var_dump($result);
exit;

// Выдает ошибку 1004 401 Unsupported authorization method Use Basic authentication.

Ранее работал с таким вызовом

$result = request('api/1/trading/balance');

Но они обновили API, не получается разобраться как теперь подстроить под него код.

Очень надеюсь на любую помощь, так как знаком только с языком php


Ответы (2 шт):

Автор решения: Serge88

Получилось новую версию путем проб и ошибок подстроить код под PHP

Плохо что документацию не пишут под разные языки программирования

function request($url, $params = []) {
  $api_key = '12345';
  $api_secret = '12345';
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

  curl_setopt($curl, CURLOPT_HTTPHEADER, [
    'Authorization: Basic '. base64_encode($api_key .':'. $api_secret)
  ]);

  curl_setopt($curl, CURLOPT_URL, 'https://api.hitbtc.com/'. $url);
  return curl_exec($curl);
}
$result = request('api/3/wallet/balance');

var_dump($result);
exit;
→ Ссылка
Автор решения: DiD

Чтобы не городить огород, можно воспользоваться официальным HitBTC SDK.

→ Ссылка