Following the websocket python example and submitting "/TRI.N", I received a 15-min delayed data, instead of real time pricing data (based on the timestamp of TRDTIM_1). While when I tried to submit just "TRI.N", I got "Permission Denied". Is there something wrong with the way I talk to EDP?
The RIC "/TRI.N" is for delayed data whereas "TRI.N" is for realtime data.
The status message indicates that you are not permissioned for the realtime data - only the delayed data.
Clients often limit their user's access to realtime data as delayed data is cheaper / or free.
It sounds like it, yes. The "/" at the start of a RIC indicates the delayed service which varies per exchange but is generally 15mins delayed. If you take the "/" off the front then it gives you the realtime RIC.
To access the realtime RIC you will need exchange permission so if you dont then it will give you the permissioned denied error message. The delayed realtime RIC is usually accessible for all.