question

Upvotes
Accepted
6 3 6 7

HistoricalPricing.GetSummaries reponse IsSuccess returns "true" even if there is no data due to a permission error.

Connecting via RDP platform Session.

Modified example 2.0.0:

var response = HistoricalPricing.GetSummaries(new HistoricalPricingSummaries.Params().Universe("DTEGn.DE")
.WithInterval(HistoricalPricingSummaries.Interval.P1D)
.WithCount(10000));

if (!response.IsSuccess)
throw new Exception($"GetSummaries error: {response.Status.ToString()}");

IsSucces is "true" but raw data shows:

{[

{

"universe": {

"ric": "DTEGn.DE"

},

"status": {

"code": "TS.Interday.UserNotPermission.70112",

"message": "User does not have permission for this universe."

}

}

]}


rdp-apirefinitiv-data-platformerror.netrefinitiv-data-platform-libraries
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.

1 Answer

Upvotes
Accepted
11.7k 57 39 60

Hi @martin.grunwald,

Based on the many tests that I have performed against multiple data services, the general theme is that if there are issues with the universe/instrument specification, such as invalid RIC or not permissioned RIC, a valid HTTP code will be returned but will carry some sort of status/error information within the body. Invalid HTTP codes returned typically happen when invalid parameters or missing required parameters are provided.

While the Historical services presently only provides one instrument as input, many others provide multiple instruments. I believe the rationale is that if you request for a service with 30 instruments, one of which is invalid, your whole request should not be rejected. Instead, the service will provide you with valid data for 29 of them but let you know the reason why the 30th failed. The Historical service likely wants to stay consistent with this approach, especially if it changes sometime in the future to allow multiple instruments as input.



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.

So if understand you correctly you say the behavoir is as intended. How would you sugest I find out if a request was successful or what kind of error occurred?

Yes, the behavior is as intended. The challenge is that each service unfortunately doesn't handle errors in a consistent way. Because each service may be completely different and organize their data structure responses differently, this may be one of the challenges. With the Historical pricing interface, the status block will provide errors and warnings. It does contain a code that appears to be a hierarchy of details, i.e. "TS.Interday.UserNotPermission.70112" or "TS.Intraday.Warning.95004", etc. If you want more details related to the actual service, I would open a separate ticket with the Refinitiv Helpdesk. They will reach out to the actual service team which will provide a better picture and explanation of their status codes.

Hi @martin.grunwald,

If you haven't already, you can also refer to the reference guide for the Historical Pricing endpoint: https://amers1.apps.cp.thomsonreuters.com/Apps/APIDocs/#/details/L2RhdGEvaGlzdG9yaWNhbC1wcmljaW5nL3Yx/L3ZpZXdzL2ludGVyZGF5LXN1bW1hcmllcy97dW5pdmVyc2V9/GET/README

While it won't answer every question, it does provide some explanation around how the service handles issues/errors/warnings, etc.