передача словаря как параметр в post request

Появилась такая проблема - имеется словарь сложный такого вида:

data = {
            'login' : 'login',
            'password' : 'password',
            'ordercode' : OrderCode,
            'workflowid' : '18',
            'name' : 'Заказ Kaspi №'+OrderCode,
            'clientnamefirst' : order['attributes']['customer']['firstName'],
            'clientnamelast' : order['attributes']['customer']['lastName'],
            'clientphone' : '7'+order['attributes']['customer']['cellPhone'],
            'clientaddress' : clientaddress,
            'productArray' : {'id':box_productid,'price':int(price),'count':count}
        }

Передаю его в функцию, которая делает POST запрос:

def addOrder_box(data):
    print(data)
    url = "https://mybox.link/api/orders/add/"
    headers = {
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
        }
    response = requests.post(url, params = data, headers=headers).json()
    return response

В итоге на принимающей стороне получается так:

data: Array
(
[login] => restapi
[password] => e4fefccf0d66d63fd44e90eec0603ae1
[ordercode] => 182009990
[workflowid] => 18
[name] => Заказ Kaspi №182009990
[clientnamefirst] => Наталья
[clientnamelast] => Сидорова
[clientphone] => 77071234567
[clientaddress] => Самовывоз
[productArray] => count
)

То есть словарь в ключе productArray не передается, только последний ключ "count". Почему так происходит ?


Ответы (0 шт):