Websocket API - Clarifications

Dear @umer.nalla , @wasin.waeosri


We have gone through the documents/links shared for WebSocket API for fetching the rates.


As such our requirement is fetching Real Time Rates and We will be following the same process as what we have for the current EZD Client.

For every fetch we will be calling the services in the following order

1. Authentication (HTTP Connection)

2. Login (Open Websocket connection and send request)

3. Item Request (upon successful login call Item Requests)

4. Close (Close Login)


Hence in our 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 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

Currently when we try with URL https://amer-3-t3.streaming-pricing-api.refinitiv.com/ we are getting following response

<BODY>

<HTML>

</local/jenkins/workspace/TREP34XCore_Release/OS/OL7-64/chipc/Hipc/Impl/hipchttp.c:413> Invalid URL</HTML> </TEXT>

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"

}

}

Best Answer

  • wasin.w
    wasin.w admin
    Answer ✓

    Hello @kishore.karanam

    I highly recommend you check the following WebSocket API and RTO tutorials and resources pages first:

    The above resources will give you a step-by-step guide and a clear explanation regarding how to use the WebSocket connection to connect and consume real-time data from RTO.

    You can follow the step in the "Getting Started for Machine ID" of Getting Started with Refinitiv Data Platform article to set up your App Key/Client ID.

    1. For Authentication Service, Please confirm if the password to be passed will the password of My Refinitiv and username will be Machine ID

    Answer: Yes, the username for the RTO is the Machine-ID (GE-XXXX)

    2. How to generate Client_Id and is this mandatory to be passed for authentication?

    Answer: The Client_ID (aka App Key) is a mandatory credential for the Authentication process. You can follow the step in the "Getting Started for Machine ID" of Getting Started with Refinitiv Data Platform article to set up your App Key/Client ID.

    3. For Authentication service, Please confirm if the following will be the endpoint : https://api.refinitiv.com:443/auth/oauth2/v1/token

    Answer: Yes. Please find more detail on Refinitiv Real-Time - Optimized Install and Config Guide

    4. For the rest of the service Kindly let us know which endpoint to use (region: Middle East, Dubai) as we will be configuring the same at our end instead of calling service discovery every time.

    Answer: The current supported AWS regions are APAC, EMEA, and AMER only. I highly recommend you check the *service_discovery* example the GitHub repository for more detail.

    5. For Login Service What will be the ApplicationId and position values?

    Answer: The app ID is something that you define and is for your own purposes only. The position is the machine's IP Address in <IP Address>/Hostname format.

    6. Kindly Confirm. In Login Response If the following is received then login is successful

    Answer: If login success, you will get the Refresh response message for the Login domain as the following example:

    [
      {
        "Domain":"Login",
        "Elements":{
          "MaxMsgSize":61426,
          "PingTimeout":30
        },
        "ID":1,
        "Key":{
          "Elements":{
            "AllowSuspectData":1,
            ...
          },
          "Name":"AQI..."
        },
        "State":{
          "Data":"Ok",
          "Stream":"Open",
          "Text":"Login accepted by host ads-fanout-lrg-az1-use1-prd."
        },
        "Type":"Refresh"
      }
    ]

    7. Login Request will be as following, Please confirm.

    {
        "Domain": "Login",
        "ID": 1,
        "Key": {
            "Elements": {
                "ApplicationId": "555",
                "AuthenticationToken": "access_token",
                "Position": "127.0.0.1"
            },
            "NameType": "AuthnToken"
        }
    }

    Answer: Yes. Please more detail in

    Connect to Refinitiv Real-Time - Optimized Tutorial

    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"


        }


    }

    Answer: Yes. Please see more detail in

    Make a Batch Request for Multiple Items Tutorial


Answers