I am trying to print a sales order with a known OrderId however it throws an error which I haven't been able to debug.
printest = {
"OrderId" : "0b28a174-524d-4fe3-b763-6b594d24afaa",
"DocumentLayout" : "78aabba4-dbc5-416a-bb09-51aeca8dfd5d"
}
headers = {
'Accept': 'application/json',
'Content-Type': '*/*',
'Prefer': 'return=representation'
}
test = requests.post("https://start.exactonline.nl/api/v1/[division]/salesorder/PrintedSalesOrders",headers=headers, data=printest)
test.json()
error is:
{'error': {'code': '',
'message': {'lang': '',
'value': "Error reading syndication item: 'Data at the root level is invalid. Line 1, position 1.'."}}}
What is the problem here? Please help
It turns out you need to use the json argument instead of using data.
This
requests.post("url",headers=headers, data=printest)
becomes
requests.post("url",headers=headers, json=printest)
Content-Type
header can be set as application/json