Ищу исполнителя , кто поправит/напишет новый/объяснит как поправить шаблон на C# для API

SERG454

Client
Регистрация
14.10.2021
Сообщения
144
Благодарностей
141
Баллы
43
Шаблон соседней в теме на форуме здесь , предоставлен добрым человеком Moonwalker

Проблема - у меня не работают остальные методы этого API , те работает только с пустым зашифрованным методом ( например /v1/info/balance/d41d8cd98f00b204e9800998ecf8427e)

Если зашифровать по инструкции ниже другой метод , выходит ошибка {"status":"error","message":"Not authorized"}

Пример авторизации - в этом API

Каждый запрос, который нуждается в авторизации, сопровождается дополнительным заголовком, вида:
"Authorization: ключ_пользователя: подпись"
Ключи для авторизации необходимо получить в личном кабинете.
Подпись составляется по следующему алгоритму:
  • массив из передаваемых параметров (GET, POST, PUT, DELETE) сортируется по названию ключа по алфавиту;
  • из полученного массива формируется строка запроса (например, функция http_build_query в PHP), пример "from=DATEFROM&to=DATETO…";
  • и далее - соединяется по формуле: строка = имя_метода строка_запроса md5( строка_запроса ), где "имя_метода" - строка запроса, начиная от домена (с указанием версии АПИ), до начала перечисления параметров, например - '/v1/sip/'
  • полученная строка хешируется по алгоритму sha1 с секретным ключом пользователя: хеш = hash( строка, секретный_ключ )
  • и далее хеш кодируется в base64 подпись = base64_encode( хеш )

ksort($params);
$paramsStr = http_build_query($params, null, '&', PHP_QUERY_RFC1738-);
$sign = base64_encode(hash_hmac('sha1', $method . $paramsStr . md5($paramsStr), $secret));
$header = 'Authorization: ' . $userKey . ':' . $sign;

Готовый класс PHP для работы с API, можете скачать на GitHub.
Форматы ответа: json (по умолчанию) и xml.
Чтобы получить ответ от АПИ в формате xml, в строку запроса добавляется параметр "format=xml".


В итоге требуется поправить шаблон или объяснить где ошибка ,или свой вариант решения , для работы с другими методами ...скорее всего что то не так с шифрованием или моим недопониманием ( в C# - уровень знаний у меня ,близок к нулю)

Жду предложения о помощи и размере компенсации за неё здесь в теме или телеграм @ivan_ivanovich_ivan
Извиняюсь за ранее , если не отвечаю сразу.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)