Connect to the desktop session by using the R Library

I recognise that all support is basically focused on Python, but I don’t want to run another Python-based system next to the R-based system we already have.
However, going through the Python documentation, it seems to me that, under-the-hood, the Eikon Data API is just JSON over WebSocket on localhost:9000.
Therefore, it should be possible to simply open a WebSocket to my local Eikon/Workspace app, and then send JSON requests to specify the data I need, no?
To verify that the Eikon/Workspace app indeed listens to port 9000, I checked the .portInUse file in this location:
%APPDATA%\Refinitiv\Data API Proxy\.portInUse
That file indeed says ‘9000’. I tested this further using the command below in PowerShell:
As far as I can see, this is a good result, so the Workspace app indeed listens to port 9000.
I also tested the raw Websocket handshake like this:
To be honest, I am struggling to interpret this result. The fact that it shows ‘Upgrade’ suhhest a successful upgrade. There are no intercepting proxies and no TLS. That said, I am not so sure about the ‘Empty reply’.
In any case, I tried to open a Websocket client using the code below in R (see bottom of email). The part under ‘check status’ produces status code 200, which is good. Still, when calling the ws$connect() command, I get this error message:
[error] handle_read_http_response error: websocketpp.transport:7 (End of File)
As as you can see, despite all of the above, the R client never fires the onOpen event and immediately hits EOF.
With that in mind, perhaps I can ask you the following:
1. Are there any additional headers, handshake payloads, or paths I must include beyond ws://127.0.0.1:<port>/ with sub-protocol tr_json2?
2. Are there any debug or log settings should I enable in Workspace/Eikon to capture the WebSocket handshake details?
3. Should I be targeting a different HTTP path or WebSocket sub-path (e.g. under /api/…) for Data API requests?
Answers
-
Hello @Nini
We do not support/recommend using the raw protocol. Its use and interpretation is only for the LSEG data libraries. The protocol specifications may change any time.
R Studio is not supported by LSEG, but there is a third party module - eikonapir, which works with LSEG Workspace.
1
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 685 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 252 ETA
- 556 WebSocket API
- 38 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 651 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 TREP Infrastructure
- 228 TRKD
- 917 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛