Proper way to query for an organization

We are trying to achieve similar results as in the World Check UI for an application where we need to implement an integration.

What is the proper way to query for an organization? Different results seems to be produced. For example:

Querying World Check UI for a company, only two results are being returned.

In the REST API, when querying the screeningRequest end point, we get lots more results, whose relevance is marked as weak (no real match) and are not present in the World Check UI.

1. Is that the proper way of querying the screeningRequest REST end point?

2. What are the available providerTypes (seems to be some kind of enumeration) for the Body request for the screeningRequrst end point?

3. What does secondaryFields collection in the body request stands for? Is that an additional filter (couldn't find exact documentation on that)?

Best Answer

  • Prabhjyot
    Prabhjyot LSEG
    Answer ✓

    @dessislav.shekerletov,

    Thank you for your cooperation over email.

    As per the details, it seems that you were comparing the data of different accounts having different threshold scores in the Admin section. We have updated the threshold in the API account as per your request.

    Please let us know if the issue persists.

    Also, if the issue has been resolved, please do accept my reponse for your query.

Answers

  • @dessislav.shekerletov,

    Thank you for your query.

    For the difference in results, can you please share the screenshot from the UI and the results which you receive from the API call?


    1. Is that the proper way of querying the screeningRequest REST end point?

    You can use the below request body template for screening organisation.

    {
    "groupId":"{{group-id}}",
    "entityType": "ORGANISATION",
    "providerTypes": [
    "WATCHLIST"
    ],
    "name": "Company name",
    "secondaryFields":[{
    "typeId": "SFCT_6",
    "value": "USA"
    }]
    }


    2. What are the available providerTypes (seems to be some kind of enumeration) for the Body request for the screeningRequrst end point?

    The avilable provider types are - WATCHLIST & CLIENT_WATCHLIST.

    3. What does secondaryFields collection in the body request stands for? Is that an additional filter (couldn't find exact documentation on that)?

    Secondary field is the filter similar to the UI. SFCT_6 is the typeId for the Registered country (from UI). You can get the skeleton of the secondary fields using the API call - 'SEQ-pre-group-case-template: Get the case template for a group'. The endpoint would be - groups/{{group-id}}/caseTemplate

    If you are using the secondary fields, the matches which do not satisfy the secondary field criteria whould get auto resolved as false. The auto resolution settings for the secondary fields would be accessed via the Admin section of the UI and is at group level.

  • Here is a sample request:

    var settings = {
    "async": true,
    "crossDomain": true,
    "url": "https://rms-world-check-one-api-pilot.thomsonreuters.com/v1/cases/screeningRequest",
    "method": "POST",
    "headers": {
    "Date": "Wed, 05 Jun 2019 13:21:40 GMT",
    "Content-Type": "application/json",
    "Authorization": "Signature keyId=\"<<APIKEY>>\",algorithm=\"hmac-sha256\",headers=\"(request-target) host date content-type content-length\",signature=\"<<APISIGNATURE>>\"",
    "Content-Length": "236",
    "Accept": "*/*",
    "Cache-Control": "no-cache",
    "Host": "rms-world-check-one-api-pilot.thomsonreuters.com",
    "accept-encoding": "gzip, deflate",
    "Connection": "keep-alive",
    "cache-control": "no-cache"
    },
    "processData": false,
    "data": "{\n \"groupId\":\"0a3687d0-6a9c-1394-9ab5-3b5b000009b4\",\n \"entityType\": \"ORGANISATION\",\n \"providerTypes\": [\n \"WATCHLIST\"\n ],\n \"name\": \"Tekfen\",\n \"secondaryFields\":[\n\t{ \n \"typeId\":\"SFCT_6\",\n \"value\":\"USA\"\n }\t\n ]\n}"
    }


    $.ajax(settings).done(function (response) {
    console.log(response);
    });

    JSON response:

    {
    "caseId": "a3ecd799-4737-48e8-809b-a829455cb72f",
    "results": [
    {
    "resultId": "0a3687cf-6b27-1107-9ac9-f35a00003a3c",
    "referenceId": "e_tr_wco_930256",
    "matchStrength": "EXACT",
    "matchedTerm": "TEKFEN",
    "submittedTerm": "Tekfen",
    "matchedNameType": "AKA",
    "secondaryFieldResults": [
    {
    "field": {
    "typeId": "SFCT_6",
    "value": "TUR",
    "dateTimeValue": null
    },
    "typeId": "SFCT_6",
    "submittedValue": "USA",
    "submittedDateTimeValue": null,
    "matchedValue": "TUR",
    "matchedDateTimeValue": null,
    "fieldResult": "NOT_MATCHED"
    }
    ],
    "sources": [
    "b_trwc_4"
    ],
    "categories": [
    "Other Bodies"
    ],
    "creationDate": "2019-06-05T13:21:41.495Z",
    "modificationDate": "2019-06-05T13:21:41.495Z",
    "primaryName": "TEKFEN INSAAT VE TESISAT AS",
    "events": null,
    "countryLinks": [
    {
    "countryText": "IRAQ",
    "country": {
    "code": "IRQ",
    "name": "IRAQ"
    },
    "type": "LOCATION"
    },
    {
    "countryText": "TURKEY",
    "country": {
    "code": "TUR",
    "name": "TURKEY"
    },
    "type": "LOCATION"
    },
    {
    "countryText": "TURKEY",
    "country": {
    "code": "TUR",
    "name": "TURKEY"
    },
    "type": "REGISTEREDIN"
    }
    ],
    "identityDocuments": [],
    "category": "CORPORATE",
    "providerType": "WATCHLIST",
    "gender": null
    },
    {
    "resultId": "0a3687cf-6b27-1107-9ac9-f35a00003a44",
    "referenceId": "e_tr_wco_2975234",
    "matchStrength": "MEDIUM",
    "matchedTerm": "TEKFEN MENKUL KIYMETLER AŞ",
    "submittedTerm": "Tekfen",
    "matchedNameType": "NATIVE_AKA",
    "secondaryFieldResults": [
    {
    "field": {
    "typeId": "SFCT_6",
    "value": "TUR",
    "dateTimeValue": null
    },
    "typeId": "SFCT_6",
    "submittedValue": "USA",
    "submittedDateTimeValue": null,
    "matchedValue": "TUR",
    "matchedDateTimeValue": null,
    "fieldResult": "NOT_MATCHED"
    }
    ],
    "sources": [
    "b_trwc_TRSPK"
    ],
    "categories": [
    "Regulatory Enforcement"
    ],
    "creationDate": "2019-06-05T13:21:41.495Z",
    "modificationDate": "2019-06-05T13:21:41.495Z",
    "primaryName": "TEKFEN MENKUL KIYMETLER AS",
    "events": null,
    "countryLinks": [
    {
    "countryText": "TURKEY",
    "country": {
    "code": "TUR",
    "name": "TURKEY"
    },
    "type": "LOCATION"
    },
    {
    "countryText": "TURKEY",
    "country": {
    "code": "TUR",
    "name": "TURKEY"
    },
    "type": "REGISTEREDIN"
    }
    ],
    "identityDocuments": [
    {
    "entity": null,
    "number": "360023",
    "issueDate": null,
    "expiryDate": null,
    "issuer": null,
    "type": null,
    "locationType": {
    "type": "TR-CRN",
    "country": {
    "code": "TUR",
    "name": "TURKEY"
    },
    "name": "COMPANY REGISTRATION NUMBER"
    }
    }
    ],
    "category": "CORPORATE",
    "providerType": "WATCHLIST",
    "gender": null
    },
    {
    "resultId": "0a3687cf-6b27-1107-9ac9-f35a00003a40",
    "referenceId": "e_tr_wco_2786477",
    "matchStrength": "WEAK",
    "matchedTerm": "TECFIN CORPORATION",
    "submittedTerm": "Tekfen",
    "matchedNameType": "PRIMARY",
    "secondaryFieldResults": [
    {
    "field": {
    "typeId": "SFCT_6",
    "value": "USA",
    "dateTimeValue": null
    },
    "typeId": "SFCT_6",
    "submittedValue": "USA",
    "submittedDateTimeValue": null,
    "matchedValue": "USA",
    "matchedDateTimeValue": null,
    "fieldResult": "MATCHED"
    }
    ],
    "sources": [
    "b_trwc_415"
    ],
    "categories": [
    "Regulatory Enforcement"
    ],
    "creationDate": "2019-06-05T13:21:41.495Z",
    "modificationDate": "2019-06-05T13:21:41.495Z",
    "primaryName": "TECFIN CORPORATION",
    "events": null,
    "countryLinks": [
    {
    "countryText": "UNITED STATES",
    "country": {
    "code": "USA",
    "name": "UNITED STATES"
    },
    "type": "LOCATION"
    },
    {
    "countryText": "UNITED STATES",
    "country": {
    "code": "USA",
    "name": "UNITED STATES"
    },
    "type": "REGISTEREDIN"
    }
    ],
    "identityDocuments": [],
    "category": "CORPORATE",
    "providerType": "WATCHLIST",
    "gender": null
    },
    {
    "resultId": "0a3687cf-6b27-1107-9ac9-f35a00003a48",
    "referenceId": "e_tr_wco_375414",
    "matchStrength": "WEAK",
    "matchedTerm": "TECHFIN LIMITED",
    "submittedTerm": "Tekfen",
    "matchedNameType": "AKA",
    "secondaryFieldResults": [
    {
    "field": {
    "typeId": "SFCT_6",
    "value": "IMN",
    "dateTimeValue": null
    },
    "typeId": "SFCT_6",
    "submittedValue": "USA",
    "submittedDateTimeValue": null,
    "matchedValue": "IMN",
    "matchedDateTimeValue": null,
    "fieldResult": "NOT_MATCHED"
    }
    ],
    "sources": [
    "b_trwc_139"
    ],
    "categories": [
    "Regulatory Enforcement"
    ],
    "creationDate": "2019-06-05T13:21:41.495Z",
    "modificationDate": "2019-06-05T13:21:41.495Z",
    "primaryName": "G P BUSINESSGROUP LIMITED",
    "events": null,
    "countryLinks": [
    {
    "countryText": "ISLE OF MAN",
    "country": {
    "code": "IMN",
    "name": "ISLE OF MAN"
    },
    "type": "LOCATION"
    },
    {
    "countryText": "ISLE OF MAN",
    "country": {
    "code": "IMN",
    "name": "ISLE OF MAN"
    },
    "type": "REGISTEREDIN"
    }
    ],
    "identityDocuments": [
    {
    "entity": null,
    "number": "099364C",
    "issueDate": null,
    "expiryDate": null,
    "issuer": null,
    "type": null,
    "locationType": {
    "type": "IM-CRN",
    "country": {
    "code": "IMN",
    "name": "ISLE OF MAN"
    },
    "name": "COMPANY REGISTRATION NUMBER"
    }
    }
    ],
    "category": "CORPORATE",
    "providerType": "WATCHLIST",
    "gender": null
    }
    ]
    }

    Here is a screenshot from the UI

    image

  • @dessislav.shekerletov,

    Thank you for the details.

    Can you please share the case-id of the case which was created using the UI?

  • Hi @Prabhjyot,

    usually, we use a SharePoint case ID for the search in UI, but this time we didn't, so I can attach a screenshot of the searches guides ID for that entry, please see below.

  • @dessislav.shekerletov,

    Ideally these kind of differences are due to different threshold settings at group level. Which means, if you have different group settings and are screening names using different groups, the results would vary for the screened case.

    Would it be possible to recreate the case and then match the results?

  • Hi @Prabhjyot,

    we can recreate both cases - with the API and the UI, it will give the same results as before and I don't understand what you mean by - matching the results. Is that going to help us do the right threshold setting at the group level? Can you also explain how to make them?

    Best regards

  • @Prabhjyot

    Please see attached the results from the postman query and a screenshot from the UI for the company -Tekfen.

    Best

  • @dessislav.shekerletov ,

    I have contacted you separately regarding your further query. Please revert back to my email with the requested information to assist you figuring out the issue.