Updated Websocket API specification
Hi,
I am developing a link software using websocket API in C#.
What I found in the API specification document is not the same in the examples.
For example for login, there is some fields present in the examples that are not present in the API specification pdf and viceversa.
The specification that I have found is from 2020, document version 1.4
Is there any other more updated documentation?
Best Answer
-
Hello @j.david
I got update about the Login's response AuthenticationErrorText parameter from the dev team. The team has verified the issue. The team confirmed that it is an expected behavior of the WebSocket's JSON element container that if the content of an AsciiString or UInt Element is null or empty, it must be encoded as a JSON object.
You can find more detail on the WebSocket API specification document chapter 11.
1
Answers
-
Hello @j.david
Thank you for reaching out to us. Could you please give us more detail about the fields/properties that available in the examples (RTDS examples, RTO examples) that not available in the API specification?
There is also the WebSocket API Try it Now! Documentation (https://developers.lseg.com/en/api-catalog/refinitiv-real-time-opnsrc/refinitiv-websocket-api/download) that has a complete API specification detail.
1 -
I am reviewing RTO examples, for example in MarketPriceRdpGwServiceDiscoveryExample, Login request is like this:
{
"ID": 1,
"Domain": "Login",
"Key": {
"NameType": "AuthnToken",
"Elements": {
"ApplicationId": "256",
"Position": <ip>,
"AuthenticationToken": <authToken>
}
}
}
In API documentation I have found no reference to "NameType" nor "AuthenticationToken" fields and appear other like "Name" or "Type".
I would like to found a complete specification of the API protocol with all fields and all their allowed values.
The WebSocket API Try it Now! Documentation seemd to be the same I have found in document WSA100LI.200
Thank you
0 -
Hello @j.david
Thank you for the clarification. The authentication detail is in a separate chapter of the API specification/WebSocket API Try it Now! Documentation.
In the Chapter 5 of the API Specification document (GitHub) and Try It Now! pages, the document mentioned that the authentication can be sent in the Login request message as follows.
Then the chapter 5 contains information about all authentication properties such as NameType, AuthenticationToken, etc.
However, I am understanding your point. I am going to raise your document feedback to the development team.
I hope this information helps.
1 -
Ok, thank you for your support.
0 -
Continuing with this, now with login response, I receive a lot of fields that I don´t know exactly what means:
[
{
"ID": 1,
"Type": "Refresh",
"Domain": "Login",
"Key": {
"Name": "AQIC5wM2LY4SfcwLMYxvb%2BARSRue6EsuAP7larHSMPJnowU%3D%40AAJTSQACMTAAAlNLABQtNjI4NTk5NjIxMjk0Njc4MTI3MAACUzEAAjI2%23",
"Elements": {
"AllowSuspectData": 1,
"ApplicationId": <appID>,
"ApplicationName": "RTO",
"AuthenticationErrorCode": 0,
"AuthenticationErrorText": {
"Type": "AsciiString",
"Data": null
},
"AuthenticationTTReissue": 1720190430,
"Position": "192.168.252.15",
"ProvidePermissionExpressions": 1,
"ProvidePermissionProfile": 0,
"SingleOpen": 1,
"SupportEnhancedSymbolList": 1,
"SupportOMMPost": 1,
"SupportPauseResume": 0,
"SupportStandby": 1,
"SupportStandbyMode": 3,
"SupportBatchRequests": 7,
"SupportViewRequests": 1,
"SupportOptimizedPauseResume": 0
}
},
"State": {
"Stream": "Open",
"Data": "Ok",
"Text": "Login accepted by host ads-fanout-med-az1-euw1-prd."
},
"Elements": {
"PingTimeout": 30,
"MaxMsgSize": 65535
}
}
]
In addition one of the fields "AuthenticationErrorText" is an object but in the reference documentation is described as a string.
Of course that some of the fields are pretty obvious but others are not, for example, SupportBatchRequests menas that I can send a maximum of 7 batch requests or a maximum of 7 elements in the batch or is a value of an enum with another meaning.
For me it will be much more easier if there is a centralized document o site with all available request and responses, the format and semantic of their fields and allowed fields values and their meaning.
0 -
Hi @j.david,
While my colleague raises the feedback on updating the documentation; you can look at some of the enumeration values from the RTSDK package.
For e.g:
"SupportBatchRequests": 7,
would mean that the server you are connected, to supports Batch requests (0x01) with capability of Batch Reissue (0x02) and Batch Close (0x04) etc.
1 -
Hello @j.david
I have escalated your feedback to the development team. In the meantime, the team suggests you check the Login request-response detail from the ETA C RDM Usage Guide section 3.2.4 as follows:
About the Login's response AuthenticationErrorText parameter, it is a bug with Server side. The WebSocket API development team has submit the issue to the server team.
I hope this helps.
1 -
Hi,
thank you.
That documentation seems to be very different that what I need.
Is there anything similar but for websocket API?
0 -
Hello @j.david
Unfortunately, there is no similar document for the WebSocket API yet.
The RDM Usage documents are based on the RSSL connection. It is LSEG propriety TCP connection which is a based connection type for the Real-Time platform (including RTO).
The Real-Time WebSocket connection specification is also based on the RSSL message specification, but the message fields and values have been adjusted to fit the JSON message format.
The other RDM Usage Guide documents are available on the following locations:
1
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛