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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 2 2 3

MarketPrice response Fields metadata

MarketPrice response contains the "Fields" tag for all requested fields. But it doesn't have field metadata. Is there any separate request we need to make to get field metatadata. We need to know whether the field is date or datetime or number etc to parse it correctly.

treprdp-apiwebsocketsrrtofields
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 @krishna muppavarapu,

Thank you for your participation in the forum.

Is the reply below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the reply. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.

Thanks,

-AHS

Hello @krishna muppavarapu,

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

Thanks,

-AHS

Upvotes
Accepted
79.1k 250 52 74

You can use a dictionary request to get field definitions.

def send_dict_request(ws):
    dict_json = {
        'ID': 3,
        'Domain': 'Dictionary',
        'Key':{
            'Name': 'RWFFld',
            'Filter': 3
            }
        }
    ws.send(json.dumps(dict_json))
    print("SENT:")
    print(json.dumps(dict_json, sort_keys=True, indent=2, separators=(',', ':')))

The response contains a series of element lists. For example:

        {
          "Elements":{
            "FID":{
              "Data":3,
              "Type":"Int"
            },
            "LENGTH":16,
            "NAME":"DSPLY_NAME",
            "RIPPLETO":{
              "Data":0,
              "Type":"Int"
            },
            "RWFLEN":16,
            "RWFTYPE":19,
            "TYPE":{
              "Data":5,
              "Type":"Int"
            }
          }
        },

"RWFTYPE" specifies the type of field. You can find the meaning of RWFTYPE from rsslDataTypeEnum.h. For example, the RWFTYPE of DSPLY_NAME is 19 which is RSSL_DT_RMTES_STRING.

RSSL_DT_RMTES_STRING        = 19, 
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
22.1k 59 14 21

Hi @krishna muppavarapu, the fields are defined in the data dictionary file. You can see the RDMFieldDictionary file here: https://github.com/Refinitiv/Elektron-SDK/tree/master/Java/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.

Upvotes
17.3k 82 39 63

Hi @krishna muppavarapu,


As far as I know, there is no schema / metadata provided for the WebSocket service. Since json only supports basic types, you can certainly use a parsing library to assist in determining the type of field, i.e. string, number (float, integer), boolean. Date and Time fields come in as strings. Within the Fields object you would only find Date fields, not datetime. Time fields will be available in other fields.

Depending on which programming language, I would encourage you to use an existing json library that will parse the native json fields appropriately for 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.