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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
9 3 6 9

Containers in websocket messages

Hi,

i try to write a C# library for handle the "tr_json2" protokoll. Priviously I had writen a C++/cli-wrapper with Realtime C++ API (EMA) to implement a "MarketPrice -Modell" for substituting SFC-COM.

Back to the problem. Realtime C++ API defines a payload at the message-class to handle additional/variant data. In the websocket-api documentation i didn't found specific information wich messages should be to take containers like a payload. Some Messages has explicit implimentations of a container. E.g Post-Message has a Message Container. Most other messages I didn't found explizit informations.

The exakt Question now is: Does only Update-, Status- and Refresh-Message have container(s), or any message (Including Ack-, Close- und Error-Message) could have one or more containers at the top OMM-Level?

Regards,

Reinhold


#technologywebsocketscontainermessages
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
77.5k 242 52 72

@Reinhold.Blank

The following is a Post message that contains an Update message.

{
    "Ack": true,
    "ID": 1,
    "Key": {
        "Name": "{
                {POST_ITEM}}",
        "Service": "{
                {POST_SERVICE}}"
    },
    "Message": {
        "Fields": {
            "ASK": 452.60,
            "PRIMACT_1": 451.3,
            "SEC_ACT_1": 451.3,
            "BID": 452.55
        },
        "ID": 0,
        "Type": "Update"
    },
    "PostID": 10,
    "Type": "Post"
}

The following is a Post message that contains a Field List container.

{
    "Ack": true,
    "ID": 1,
    "Key": {
        "Name": "{
                {POST_ITEM}}",
        "Service": "{
                {POST_SERVICE}}"
    },
    "Fields": {
        "ASK": 452.60,
        "PRIMACT_1": 451.3,
        "SEC_ACT_1": 451.3,
        "BID": 452.55
    },
    "PostID": 10,
    "Type": "Post"
}

These are off-stream post messages that send post messages through the login stream ("ID": 1).

I sent these post messages to RTDS cache.

A consumer will retrieve the data in the update message.

{
        "ID": 3,
        "Type": "Update",
        "UpdateType": "Unspecified",
        "Key": {
            "Service": "DIST_CACHE",
            "Name": "TEST.BK"
        },
        "PostUserInfo": {
            "Address": "0.0.0.0",
            "UserID": 0
        },
        "Fields": {
            "ASK": 452.60,
            "PRIMACT_1": 451.3,
            "SEC_ACT_1": 451.3,
            "BID": 452.55
        }
    }
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
77.5k 242 52 72

@Reinhold.Blank

Thanks for reaching out to us.

The WebSocket API applies the Refinitiv Open Message Model. The topmost level is a message. Each message contains a payload. A payload can contain another message or a container.

1674443861893.png

The usages of messages are defined in the Refinitiv Domain Model. For example, each Refresh and Update message of the Market Price domain contains a Field List in its payload.

1674444746896.png

Therefore, you need to follow the specifications defined in the Refinitiv Domain Model. Typically, the Close and Ack messages don't use payload.


1674443861893.png (35.9 KiB)
1674444746896.png (115.1 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.

Hello @Reinhold.Blank

You can find the Refinitiv Domain Model resources in the following documents:


Upvotes
9 3 6 9

Hi again,

thanks for the quick responce. Please can sombody show me by a JSON example, that explains the differnce between a message that contains an other message as payload and a message that have a message-container taking a message as payload. May could be the first one a post-message?

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
9 3 6 9

Fine, 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.

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.