question

Upvotes
Accepted
20 1 2 5

Handle RIC related errors in endpoint request

With EndpointRequest in “RD Library for .NET” (Refinitiv.Data.Delivery.Request.EndpointRequest) in it is possible to specify multiple RICs.
Ex: "https://api.refinitiv.com/data/company-fundamentals/v1/analytics/global/price-volumes?package=base&universe=2010.SE,AAPL.OQ,AMZN.OQ,ALAMAKOTA.XYZ,EITP.CA"
What if one or more of the specified RICs is invalid (like ALAMAKOTA.XYZ above), not entitled...
The IEndpointResponse will indicate the success and its Data contain the header array and the Data part will contain the tokens for every requested RIC, with the corresponding JArray of items set all to null.
amk.jpg
In itself, this is an indication that something went wrong, but what exactly? How to get the precise status info for every failed RIC with an error message?
Is anything can be specified at the request level?

#technologyrdp-apiendpoint
amk.jpg (12.3 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
Accepted
18.6k 85 39 63

Hi @PatrickZ

Did you check what the raw JSON response was from the backend? You can grab those details from the response, i.e. response.Data.Raw.

Now, it's possible the service may include a section that contains errors, for example, if you are not permissioned for some data. From the Swagger documentation:

1714166591552.png

The above does define that an error stanza for some things.

However, looking at the Swagger details for this endpoint, I don't see anything in the request that will return additional details:

1714166519497.png


1714166591552.png (41.4 KiB)
1714166519497.png (62.5 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.

The Data.Raw has only 2 tokens: data (array with 3 children tokens each having the set of values for price-volume per requested RIC) and headers (with 25 children tokens with price-volume item descriptors.
See attachedFundamentals_PV_with_invalid_RIC.zip

Hi @PatrickZ

Because the response does potentially include an error stanza and you do not receive one, then it is possible there are no data points for some of the instruments. However, this is just my interpretation and would require more investigation from the content team. For these types of questions, it is best to go through the helpdesk (Product and Content Support | MyAccount (refinitiv.com)) and they can bring in a content or service expert for this service to help understand what the empy (null) values represent.

Upvotes
1 0 0 0

@nick.zincone that's sure that in the case that I mentioned, there is no data, because the RIC is invalid. My point is that when the response is received, there seems to be no possibility to obtain from the response any information that would enable the requester of what went wrong. So this is not a question of missing data point but the question how the the request is handled by the backend. I can address the helpdesk but they will just confirm that there is no data because the the RIC is invalid, which is obvious. Similarly, the wrong RIC is the requester error, but requesting the unauthorized RIC is not and there should be the reason returned why the data in response is missing.

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.

Hi @syed.ghazanfar

You are correct that there should be some form of error response given you know one or more of the RICs are invalid. Given the error stanza can be returned as we can see within the Swagger examples above, this fact should be raised with the service team. This is especially true as it would be difficult to distinguish between the case where there is legitimately no data vs the case where there is an issue with the RIC - whether it is invalid or for some other reason.

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.