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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
3 0 0 1

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?

#technology#productwebsocketsc#log-in
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.

Upvote
Accepted
26.4k 62 17 14

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.

websocket-element.png


websocket-element.png (107.6 KiB)
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.

Upvote
26.4k 62 17 14

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.

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 0 0 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

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.

Upvote
26.4k 62 17 14

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.

login-1.png

Then the chapter 5 contains information about all authentication properties such as NameType, AuthenticationToken, etc.

login-3.png

However, I am understanding your point. I am going to raise your document feedback to the development team.

I hope this information helps.


login-1.png (84.6 KiB)
login-3.png (72.9 KiB)
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 0 0 1

Ok, thank you for your support.

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 0 0 1

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.


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.

Upvote
23.7k 61 15 21

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.


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.

Upvote
26.4k 62 17 14

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.

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 0 0 1

Hi,

thank you.

That documentation seems to be very different that what I need.

Is there anything similar but for websocket API?

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.

Upvote
26.4k 62 17 14

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:

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.