GUI successfully extracts data using OCC, can't seem to get the equivalent to work in API

Hi,

After my API call to DSS failed to recognise my Identifier: SINA150612C00057000, with Identifier Type: OCCCode ('Not Found') I tried the extraction using GUI for the same Identifier and I am not sure what I am doing wrong by the GUI extraction worked fine, just want to replicate the same success via API On Demand, my unsuccessful extraction below:

POST .../Extractions/ExtractWithNotes

{
    "ExtractionRequest": {
        "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.TermsAndConditionsExtractionRequest",
        "ContentFieldNames": [
            "Asset Category",
            "Trading Symbol",
            "OCC Code",
            "RIC"
        ],
        "IdentifierList": {
            "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
            "InstrumentIdentifiers": [
                {
                    "Identifier": "SINA150612C00057000",
                    "IdentifierType": "OCCCode"
                }
            ],
            "ValidationOptions": {
                "AllowHistoricalInstruments": false,
                "AllowInactiveInstruments": false,
                "AllowLimitedTermInstruments": false,
                "AllowOpenAccessInstruments": false,
                "AllowSubclassImport": false,
                "AllowUnsupportedInstruments": true,
                "ExcludeFinrAsPricingSourceForBonds": false,
                "UseConsolidatedQuoteSourceForCanada": false,
                "UseConsolidatedQuoteSourceForUsa": false,
                "UseDebtOverEquity": false,
                "UseExchangeCodeInsteadOfLipper": true,
                "UseOtcPqSource": true,
                "UseUsQuoteInsteadOfCanadian": true
            },
            "UseUserPreferencesForValidationOptions": false
        },
        "Condition": null
    }
}
{
    "@odata.context": "https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.ExtractionResult",
    "Contents": [
        {
            "IdentifierType": "OCCCode",
            "Identifier": "SINA150612C00057000",
            "Error": "Not found"
        }
    ],
    "Notes": [
        "All identifiers were invalid.  No extraction performed."
    ]
}

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @gteage

    I assume that when using GUI, you have used Futures & Options Search to search for SINA150612C00057000 (OCCCode). The search result is a RIC that is added to the instrument list.

    image


    You can do the same in the API.

    1. Use Search/FuturesAndOptionsSearch to search for SINA150612C00057000 (OCCCode)

    {
        "SearchRequest": {
            "FileCodes": null,
            "CurrencyCodes": null,
            "ExchangeCodes": null,
            "IdentifierType": "OCCCode",
            "Identifier": "SINA150612C00057000",
            "PreferredIdentifierType": "Ric"
        }
    }

    2. The output is:

        "value": [
            {
                "Identifier": "SINAF121505700.U",
                "IdentifierType": "Ric",
                "Source": "OPQ",
    ...
                "Description": "SINA 2Jn5 57.0 C",
                "InstrumentType": "Derivative",
                "Status": "Valid",
                "ExchangeCode": "OPQ",
                "CurrencyCode": "USD",
                "FuturesAndOptionsType": "Options",
                "PutCallCode": "Call",
                "ExpirationDate": "2015-06-12T00:00:00.000Z",
                "StrikePrice": 57,
                "AssetStatus": "Active"
            }
        ]

    3. Then use the returned RIC (SINAF121505700.U) in the extraction

    {
        "ExtractionRequest": {
            "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.TermsAndConditionsExtractionRequest",
            "ContentFieldNames": [
                "Asset Category",
                "Trading Symbol",
                "OCC Code",
                "RIC"
            ],
            "IdentifierList": {
                "@odata.type": "#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.InstrumentIdentifierList",
                "InstrumentIdentifiers": [
                    {
                        "Identifier": "SINAF121505700.U",
                        "IdentifierType": "Ric"
                    }
                ],
                "ValidationOptions": {
                    "AllowHistoricalInstruments": false,
                    "AllowInactiveInstruments": false,
                    "AllowLimitedTermInstruments": false,
                    "AllowOpenAccessInstruments": false,
                    "AllowSubclassImport": false,
                    "AllowUnsupportedInstruments": true,
                    "ExcludeFinrAsPricingSourceForBonds": false,
                    "UseConsolidatedQuoteSourceForCanada": false,
                    "UseConsolidatedQuoteSourceForUsa": false,
                    "UseDebtOverEquity": false,
                    "UseExchangeCodeInsteadOfLipper": true,
                    "UseOtcPqSource": true,
                    "UseUsQuoteInsteadOfCanadian": true
                },
                "UseUserPreferencesForValidationOptions": false
            },
            "Condition": null
        }
    }

    You may contact the DSS support team via MyRefinitiv to verify why the OCCCode doesn't work with the TermsAndConditionsExtractionRequest.

Answers

  • yingwu
    yingwu Newcomer

    We found that you can use IdentifierType = Sym in the extract call instead of OCCCode and it works.

    Sym = Trading Symbol = Exchange-supplied code used for trading purposes to uniquely identify an instrument.


    "IdentifierType": "Sym"