For a deeper look into our Elektron API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
3 5 6 8

WebSocket API Setup and Queries

Dear Team,


We have gone through the documentation shared in the URL Refinitiv WebSocket API | Refinitiv Developers.

We would like to brief you series of steps we are following in current process(EZD) in the system.

Current Process

1. Initialization
2. processLogin -> itemRequests (ItemManager -> sendRequest(itemNames we are supplying currencies)) <- processEvent(response)
3. cleanup
4. closeRequest

We have below queries, after reviewing API documentation.

Queries:-

1. We need a technical walk through in line with current implementation with New API to get started with the development.
2. Kindly share the Target URLs and credentials details for connecting from our Test application to the WebSocket API
2. How do we pass currencies in the 'Item Request' for only those we would like to retrieve (this feature is available in current implementation)?
3. Item Update(s), Posting , – Is it applicable for us?
4. Ping and Pong Messages – Is it applicable for us?
5. Batch – Page 23 is this the API method which mimics our current implementation?
6. 'Factor', 'GV2_TEXT' are not supplied in the document as earlier in the 'Item Request' Service response. Please let us know on this.
websocketsrrtorefinitiv-realtime-optimised
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Hello @kishore.karanam

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?


If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.

Thanks,


AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,


AHS


Upvote
Accepted
25.3k 87 12 25

Hi @kishore.karanam

If you are using Java, then I would personally use the EMA Java API - less effort on your part than coding with Java + Websocket

For EMA Java connecting to RTO please see the related EMA RTO Quick Start | Refinitiv Developers :NOTE - the Java Keystore is now Optional so you can ignore if you wish to use the standard JVM Keystore.

If, however, you still wish to use Websocket API - then you can refer to this Websocket RTO QuickStart | Refinitiv Developers

The QuickStart refers to Python - however, the equivalent Java examples are available at websocket-api/Applications/Examples/RDP/java at master · Refinitiv/websocket-api (github.com) - note that --user parameter is equivalent to the MachineID

With Websocket API, you will need to concern yourself with the Ping/Pong etc - EMA is a higher level API and it takes care of Ping/Pong etc

In terms of currencies - you would use the required RIC code - the same as you would have done with your EZD application. The Websocket and EMA examples are currently using example RIC such as "TRI.N" or "IBM.N" - so you would replace with your currency RIC e.g. "EUR=", "GBP=" etc

Posting should not be relevant to you.

Batching allows you to request multiple items in a single request message e.g.

For EMA Java, you can refer to ema\examples\training\consumer\series300\ex370_MP_Batch - which demonstrates how to request multiple items (you will need to merge the Batch request code from ex370 with the ex113_MP_SessionMgmt or ex450_MP_QueryServiceDiscovery examples which contain the code required to connect to RTO).

Websocket API Batch Tutorials | Refinitiv Developers

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
25.3k 87 12 25

Hi @kishore.karanam

Can you please confirm - you are switching from EZD to Real-time Optimized data service and you wish to use the Websocket API to consume data from Real-time Optimized (RTO) - is that correct?

Which programming language are you currently using?

Have you received a Welcome Email containing a MachineID to use with RTO? Have you used the link in that email to set your long password?


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
24.7k 54 17 14

Hello @kishore.karanam

I suggest you check the WebSocket API Tutorials series that gives you a step-by-step guide to make a connection, request data, and handle the WebSocket operations between the application and Refinitiv Real-Time. The tutorials are also available in Video format.

You can download the example code from the WebSocket API: download page and GitHub repository. The WebSocket API specification document is also available on GitHub page.

Please contact your Refinitiv representative/Account team to help you with the access credentials and connection detail.




icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
3 5 6 8

Dear Umer,

Yes, We are switching from EZD to Real-time Optimized data service and you wish to use the Websocket API to consume data from Real-time Optimized (RTO).

We are using java as programming language

We have received a Welcome Email containing a MachineID and we have completed the password setup process too.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
3 5 6 8
Dear Umer/Wasin, We have gone through the documents/links shared. As such We will be using same set of steps we are currently calling using EZD instead of using the websocket client. Hence in this case responding to ping messages are not required as we will be opening the connection for fetching the Real Time Market Price and then closing it. We will be calling the services in following order 1. Authentication 2. Login 3. Item Request 4. Close We have following clarifications: 1. For Authentication Service, Please confirm if the password to be passed will the password of My Refinitive and username will be Machine ID 2. How to generate Client _Id and is this mandatory to be passed for authentication? 3. For Authentication service, PLease confirm if following will be the end point : https://api.refinitiv.com:443/auth/oauth2/v1/token 4. For rest of the service Kindly let us know which end point to use (region : Middle East, Dubai) as we will be configuring the same at our end instead of calling service discovery everytime 5. For Login Service What will be the ApplicationId and position values? 6. Kindly Confirm. In Login Response If following is received then login is successful "Data":"Ok", "Stream":"Open" 7. Login Request will be as following, Please confirm. { "Domain":"Login", "ID":1, "Key":{ "Elements":{ "ApplicationId":"555", "AuthenticationToken":"aBcDeFgHiJkLmNoPqRsTuVwXyZ", "Position":"127.0.0.1" }, "NameType":"AuthnToken" } } 8. Kindly Confirm if the following Request for "Item Request" Service call is valid for multiple currencies request { "ID":2, "Key":{ "Name": ["EUR=","JPY=","AUD="], "Service": "ELEKTRON_DD" } }
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.