Ошибка при запросе к платежной системе Binance API
При таком запросе
import requests
import json
headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8",
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Content-Length": "123",
"content-type": "application/json",
"Host": "p2p.binance.com",
"Origin": "https://p2p.binance.com",
"Pragma": "no-cache",
"TE": "Trailers",
}
data = {
"asset": "USDT",
"fiat": "RUB",
"page": 1,
"payTypes": ["Tinkoff"],
"rows": 1,
"tradeType": "SELL",
"transAmount": "30000"
}
request_data = requests.post('https://p2p.binance.com/bapi/c2c/v2/friendly/c2c/adv/search', headers=headers, json=data).json()
print(request_data['data'][0]['adv']['price'])
получаю следующую ошибку:
Traceback (most recent call last): File "C:\Users\artem\source\repos\PythonParser2\PythonParser2\PythonParser2.py", line 30, in print(request_data['data'][0]['adv']['price']) IndexError: list index out of range
Это значит, что при запросе, значение 'price' равно null
Посмотрев, что же все таки получает В поле 'message' Выводит вот такое сообщение:
Dear User, this payment method is unsupported on Binance P2P. You can still buy and sell cryptocurrency on our official partner's platform https://www.pexpay.com/en
Платформа pexpay меня не устраивает. Хотел поинтересоваться как эту ошибку можно обойти.
Ответы (1 шт):
у binance есть идентификаторы для платежных систем. Например у Tinkoff идентификатор TinkoffNew. Тогда в поле PayTypes надо было писать TinkoffNew. Для того чтобы узнать названия остальных идентификаторов платежных систем я отправлял большой запрос на максимальное количество page(около 30) и rows(20), paytypes оставлял пустым. После чего получал большой файл json, в котором поле identifier и есть то что мне нужно было. Дальше с помощью linq нетрудно было отфильтровать.