Então eu utilizo algo similar ao que o @Pilati falou no comentário, eu recomendo fortemente a segunda opção que é a sua aplicação local se conectar ao mundo externo (internet).
Para fazer você utilizar um RabbitMQ tem na cloudamqp plano gratuito https://www.cloudamqp.com/plans.html
La você pode criar uma fila para ficar esperando o comando e utiliza outra fila para receber o resultado por exemplo o seu json.
Aí já na sua api você ficaria esperando uma mensagem na fila de retorno.
abraços