Is this assumption correct ?
There is absolutely no way an ethereum contract can send data to the external world. It can only modify its state variables (later stored in the new block)and send messages to other contracts. States can only be obtained by off-chain / offline apps , that simulate contract and read from any of the blocks in local copy of blockchain/states.