Bitcoin Forum

Local => Кодеры => Topic started by: memphis88 on July 26, 2016, 07:11:40 AM



Title: Создание Advertisements через API Localbitcoins.com
Post by: memphis88 on July 26, 2016, 07:11:40 AM
Отправляю запрос без параметров, получаю ответ
"message": "Invalid parameters.", "errors": {"bank_name": "* This field is required.", "trade_type": "* This field is required.", "countrycode": "* This field is required.", "lon": "* This field is required.", "currency": "* This field is required.", "online_provider": "* This field is required.", "lat": "* This field is required.", "price_equation": "* This field is required."}
Отпраляю эти параметры в виде:
bank_name=Other&trade_type=ONLINE_SELL&countrycode=RU&lon=0.0&currency=RUB&online_provider=QIWI&lat=0.0&price_equation=100000
получаю ответ: {"error": {"message": "HMAC authentication key and signature was given, but they are invalid.", "error_code": 41}}
Подскажите в чём ошибка.
Код функции PHP:
Code:
function send_query_post($nnce, $auth_key, $pref, $addr, $secrt, $params = ""){
$queryData = $nnce . $auth_key . $pref . $params;
$signature = strtoupper(hash_hmac("sha256", $queryData, $secrt));
$cont = array("Apiauth-Key: " . $auth_key, "Apiauth-Nonce: " . $nnce, "Apiauth-Signature: " . $signature);
$zapr = curl_init($addr);
curl_setopt($zapr, CURLOPT_POST, true);
curl_setopt($zapr, CURLOPT_HTTPHEADER, $cont);
curl_setopt($zapr, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($zapr);
curl_close($zapr);
Return $response;
}

send_query_post(date("U"), $hmac_auth_key, "/api/ad-create/", "https://localbitcoins.com/api/ad-create/", $secret, http_build_query($data1))


Title: Re: Создание Advertisements через API Localbitcoins.com
Post by: kzv on July 26, 2016, 09:47:53 AM
Инвалидный аутентификационный кей юзаешь - написано же :)


Title: Re: Создание Advertisements через API Localbitcoins.com
Post by: memphis88 on July 26, 2016, 10:11:08 AM
Запрос без параметров с этим же КЛЮЧОМ выдаёт что параметров не хватает так что не в ключе дело.


Title: Re: Создание Advertisements через API Localbitcoins.com
Post by: kzv on July 26, 2016, 10:52:44 AM
Запрос без параметров с этим же КЛЮЧОМ выдаёт что параметров не хватает так что не в ключе дело.
Написано в ключе - значит в ключе.
Какой там алгоритм проверки валидности запроса - знают только разрабы. Может такой:
1. Если все параметры пустые - гоу ту фэйл1
2. Если ключ неправильный - гоу ту фейл2
3. Если все зашибись - гоу то профит!


Title: Re: Создание Advertisements через API Localbitcoins.com
Post by: memphis88 on July 26, 2016, 10:58:37 AM
Есть запрос который работает без параметров но требует авторизацию по ключу(/api/myself/) и он не выдаёт ошибок никаких, только то что нужно. Как только появляются параметры, начинаются проблемы.
Так что дело точно не в ключе.


Title: Re: Создание Advertisements через API Localbitcoins.com
Post by: kzv on July 26, 2016, 11:11:11 AM
Есть запрос который работает без параметров но требует авторизацию по ключу(/api/myself/) и он не выдаёт ошибок никаких, только то что нужно. Как только появляются параметры, начинаются проблемы.
Так что дело точно не в ключе.
Не знаю как на локале, а на бтц-е, у ключей есть несколько уровней доступа, которые настраиваются.
Например:
ключ только для чтения,
ключ для чтения и торговли,
ключ для вывода средств.



Title: Re: Создание Advertisements через API Localbitcoins.com
Post by: memphis88 on July 26, 2016, 11:14:59 AM
Там примерно также, мой ключ точно сформирован для торговли.
Сейчас попробую ещё кое что и отпишусь если получится, может другим пригодится.


Title: Re: Создание Advertisements через API Localbitcoins.com
Post by: memphis88 on July 27, 2016, 05:19:21 AM
Не взлетело.
Основное обсуждение моей проблемы на офф форуме https://localbitcoins.com/forums/#!/dev/developers-and-affiliates:create-advertisements-using/
Может еще есть у кого какие идеи?
Если кто-то может поделиться реализованной функцией на пхп или другом языке буду очень признателен.