This is happening because you’re passing a bytes
object in the data
dict (b'1'
, specifically), probably as the value of index
. You need to decode it to a str
object before json.dumps
can work with it:
data = {
"body": email.decode('utf-8'),
"query_id": index.decode('utf-8'), # decode it here
"debug": 1,
"client_id": "1",
"campaign_id": 1,
"meta": {"content_type": "mime"}
}