question

Upvotes
Accepted
5 0 0 3

Open DACS list user permissions for RICS

Hello,

we use DACS 8.0 which supports Open DACS API (see attached)

I was looking at getSubscriptionList() method In particular. Do you have some examples what is returned in the subscriptions list vector?

Or any other method that can hep list all the RICs available to the user?

Thanks,

Sergei

DACSopen-dacs
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvote
Accepted
23k 22 9 14

Hello @sergei.ermakov,

I do not believe you will be able to do this with DACS or OpenDACS, as DACS stores the rules for permissioning, rather then reference on every single RIC per exchange, and OpenDACS API is a view into DACS.

I can think of several possible approaches, and would suggest to get in touch with your Refinitiv account manager to try to pinpoint the best approach for your organization.

1. Access reference via Refinitiv Data Platform -> SearchLight.

RDP is a product, that encompasses many services, including SearchLight, see RDP Search Light API User Guide for details. It offers HTTP REST interface, and once authenticated, the request to RDP SearchLight could look something like:

{
    "View": "EquityQuotes",
    "Filter": "ExchangeName eq 'NYSE Consolidated' ",
    "Select": "RIC,CompositeRIC,IssuerCommonName,ExchangeName",
    "Top": 500,
    "Skip": 0
}

2. Reference data products, such as Datascope Select, may be the best approach if your organization has the product. Please see this previous discussion thread

3. Front end product, such as Eikon/Refinitiv Workspace, that integrates with reference on the server side to obtain, can do so by screening. See this previous discussion thread or this previous discussion thread

4. If the provider/source publishes chains, that cover the content from that exchange, that is another approach, this can be a subset, possibly coverage can be derived from multiple chain RICs. Refintiiv content experts via Refinitiv Helpdesk Online -> Content are the best source of info on this aspects. See this previous discussion thread

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
23k 22 9 14

Hello @sergei.ermakov,

getSubscriptionList(), on success, returns the list of subscription rules that are assigned to the user.

Open DACS Permission Server (ODPS) is the product that implements Open DACS API. For examples of results of getSubscriptionList(), refer to ODPS Developer Guide on My Refinitiv.

See also getPEList(), that returns permissioned entities (PEs) assigned to the user. Every item has the corresponding PE(s), it's found in PROD_PERM fid, and unless user has the PE assigned, they will not be subscribed to the item via infra.

If you are designing Open DACS integration, you may find article Open DACS Application Best Practice useful to review, in terms of the approach to the requirement.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvote
20.3k 73 10 20

Hi @sergei.ermakov

I am not a DACS expert, however, I do not believe it is possible to obtain a list of RICs that a user is permissioned for. The reason is that a user's entitlements are not set based on a list of RICs. DACS entitlement are either Subject-based (SBE) on Content-based (CBE).

SBE is best described as a user may be authorized to access based on

  • the service providing the information, and
  • The subject name by which the information is referenced.

For example, a user could be granted access to messages with the subject “IBM” delivered by the service “XYZ”. That, however, would be very restrictive. More likely, the administrator would grant a user access to a range of subjects from that service (using wildcards as part of the subject specification).

CBE (the most commonly used entitlement mechanism) is where authorization is controlled by allowing an administrator to assign which sets of information a user may be authorized to access based on the service providing the information and the content of the information. These 'sets' of information can be a combination of exchange, products and specialist data sets. These sets of Permissionable Entities have PE codes assigned to them.

A user Dacs profile, therefore, has a list of PE codes associated with the username and you can obtain a list of these PE codes using for example the getPEList() function call.

Therefore, as there is not a 1:1 mapping of PE codes to RICs, it would not be possible to obtain a list of RICs available to a particular user.

If you can perhaps explain your end objective behind the question, one of my more DACS savvy colleagues may be able to provide a possible solution.

Referring to your question about getSubscriptionList(), I believe this only applies to SBE and the return value is documented as follows:


1621863871337.png (20.4 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
5 0 0 3

Hi,

thanks for the replies.

The real use case I have is to get a list of RICs for a particular venue/provider.

To give a concrete example - Candeal bonds.

I could not find any other way, and was hoping that I could list RICS using user permissions in DACS, or perhaps PE mapping?


So far we are using a very dumb approach generating all possible Candeal RICS for the list of bonds just adding '=CNDL' to the main Ric and trying to subscribe.

is there any better way?


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
20.3k 73 10 20

Hi @sergei.ermakov

The only way I can think of that you can obtain a list of RICs for a specific exchange via the Real-Time data feed and infrastructure is by utilising a little known feature of the Refinitiv Real-Time Edge device - assuming you are using a Deployed infrastructure at your organisation.

How can I get a list of all RICs available on Refinitiv Real-time? | Refinitiv Developers

HOWEVER, the above would require your Market Data team to perform some admin stuff they may not be familiar with. Also, I am not entirely certain that this specific Edge device feature may not be removed in the future - and if you ever migrate away from a Deployed infrastructure you would lose also this facility.

The other more realistic option would be to do a daily (or other interval) request from one of our non-realtime services such as Datascope Select. I am not a DSS expert, but I do believe it possible to create a query that allows you to extract RICs codes based on various parameters etc.

In addition to this, we have the Symbology API and the Search API on our Refinitiv Data Platform (which uses a RESTful interface) - which also allow you to obtain sets of RIC corresponding to various criteria.

I recommend you reach out to your Refinitiv Account Team to discuss if your organisation already has access to DSS or the other RDP APIs mentioned above.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea