Как правильно указать параметры на вход?

Подскажите, как правильно прописать 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"}'
→ Ссылка