Python RDL - error message general aid
Good day,
We recently developed a very simple Python+RDL script which aims to instantiate a custom config file to be populated with details of connectivity such as:
-dacs user & -ads server
We do some RIC consultation through:
rd.content.pricing.Definition
We are able to take user input for number of updates, RICs and fields to subscribe to. We're also able to point out which specific ads service we're trying to subscribe to. But now we find ourselves trying to portray different error messages based on the following issues which we're unsure as to which layer they belong to and whether or not the RDL has them as specific error codes:
(Ordered by relevancy):
1.- DACSuser does not exist in database
2.- DACSuser is not entitled to 1 or more of pointed out RICs. (Think DACS item permission test function)
3.- DACSuser is exceeding maximum number of allowed simultaneous logins. (Ideally it would also return current mounts for the user)
4.- RIC is non-existent in service. (When providing a strange RIC such as MYSUPERCOOLRIC= the output is just "None" to any fields solicited, it's be neat if it returned a "RIC not found" message)
5.- FIELD is non-existent for RIC. (When providing a strange FIELD such as MYSUPERCOOLRICFIELD the the column itself is not even generated in the dataframe)
Sorry to be so scattershot with my inquiry, just trying to figure out if there are some tools or error codes we may be missing that could be easily leveraged for some of these situations.
Thanks in advance for all your help!
Best Answer
-
Thank you for reaching out to us.
For the case #2 and #4, you will get the errors from the status messages via the on_status callback from the stream or the stream["<item name>"].status property. The status messages will look like these.
13:43:30.909622 - Status received for IBM.N : {'ID': 6, 'Type': 'Status', 'Key': {'Service': 'IDN_RDFNTS_CF', 'Name': 'IBM.N'}, 'State': {'Stream': 'Closed', 'Data': 'Suspect', 'Code': 'NotEntitled', 'Text': 'Access Denied: User req to PE(62)'}}
{'ID': 7,
'Type': 'Status',
'Key': {'Service': 'IDN_RDFNTS_CF', 'Name': 'IBMxxx.N'},
'State': {'Stream': 'Closed',
'Data': 'Suspect',
'Code': 'NotFound',
'Text': 'The record could not be found'}}The stream state will be Closed and the data state will be Suspect. For the Code, please refer to the WebSocket API Specifications and Developers Guide in the 28.2 Status Message Structure chapter for the list of Codes.
For the case #5, there is no error. It just doesn't recieve the data of the invalid fields. For example:
stream = rd.content.pricing.Definition(
['JPY='],
fields=['BID', 'ASK', 'NO_FIELD']
).get_stream()The output is:
13:50:49.767504 - Refresh received for JPY= : {'BID': 142.65, 'ASK': 142.68}
For the case #1 and #3, I will contact the product team to verify if there is a way to retrieve these events.
0
Answers
-
The product team confirmed that the API doesn't expose these events (#1 and #3) to the application.
However, this will be added in the future release.
0
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 中文论坛