Nie wiem jak ewaulowane są tutaj JSON - czy nie jest to przypadkiem json w postaci STRING Request tzn, posyłany jest json jako string wtedy, problem może leżęć w braku konwencji
payload = {
'message': {
'text': text
},
"recipient": {
"thread_key": THREAD_ID
},
}
raz stosujesz "", a raz pojedynczy.
"{\"title\":\"Read a boo\"}"
trzeba by wtedy przysłonić ;] żeby domyślnie nie było kolizji
Pytanie czy twój request wysyła JSON, czy JSON stringa, bo samo to że headerem jest JSON nie wyklucza że może to być JSON string, np. tak jest w Springu ;'[ w Javie.
Dodatkowo pytanie, czego oczekuje server jako request body, czy typowo JSON format, czy możę JSON object jako JSON String.
Z tego co wyczytałem to problem jest tego typu że przesyłany jest JSON string ;] więc jeśli twoje dane mają podwójny "" to problem leży w parsowaniu