Как правильно указать параметры на вход?
Подскажите, как правильно прописать body, чтобы входящие параметры для метода createOrder() включались в этот body? Например: в body "currency_pair" — это передаваемая переменная pair, "type" — это передаваемый "type" и так далее. А так как body в кавычках, то передать туда не могу. Вот код:
import requests
import time
import hashlib
import hmac
host = "https://api.gateio.ws"
prefix = "/api/v4"
headers = {'Accept': 'application/json', 'Content-Type': 'application/json'}
url = '/spot/orders'
query_param = ''
def gen_sign(method, url, query_string=None, payload_string=None):
key = '...' # api_key
secret = '...' # api_secret
t = time.time()
m = hashlib.sha512()
m.update((payload_string or "").encode('utf-8'))
hashed_payload = m.hexdigest()
s = '%s\n%s\n%s\n%s\n%s' % (method, url, query_string or "", hashed_payload, t)
sign = hmac.new(secret.encode('utf-8'), s.encode('utf-8'), hashlib.sha512).hexdigest()
return {'KEY': key, 'Timestamp': str(t), 'SIGN': sign}
def createOrder(pair, type, side, amount, price):
body= '{"text":"t-123456","currency_pair": "RITE_USDT","type": "limit","account":"spot","side": "buy","iceberg":"0","amount": "20","price": "0.053","time_in_force":"gtc","auto_borrow":false}'
sign_headers = gen_sign('POST', prefix + url, query_param, body)
headers.update(sign_headers)
r = requests.request('POST', host + prefix + url, headers=headers, data=body)
print(r.json())
createOrder("BTC_USDT", "limit", "buy", "20", "0.053")
Ответы (1 шт):
Автор решения: Bitcoin Earn
→ Ссылка
Все довольно просто. Нужно сделать так:
body = '{"text":"t-123456","currency_pair": "' + pair + '","type": "' + type_ + '","account":"spot","side": "' + side + '","iceberg":"0","amount": "' + amount + '","price": "' + price + '","time_in_force":"gtc","auto_borrow": "false"}'