When I to a call on POST /cases/screeningRequest I get a big json result, I use Python so it looks like this (I have partly cropped the Id:s and I use a former politician on the watchlist as an example):
{ # endpoint = "/cases/screeningRequest" "caseId": "...t0re", "name": "Mohammad Nawaz Sharif", "providerTypes": [ "WATCHLIST" ], "customFields": [], "secondaryFields": [ { "typeId": "SFCT_5", "value": "SWE", "dateTimeValue": None }, { "typeId": "SFCT_2", "value": None, "dateTimeValue": "1932-09-01" } ], "groupId": "...qh04", "entityType": "INDIVIDUAL", "caseSystemId": "...t0rf", "caseScreeningState": { "WATCHLIST": "INITIAL" }, "lifecycleState": "UNARCHIVED", "creator": {}, "modifier": {}, "assignee": None, "creationDate": "2021-02-24T20:48:24.699Z", "modificationDate": "2021-02-24T20:48:26.546Z", "nameTransposition": False, "outstandingActions": False, "results": [ { "resultId": "...7pj9x", "referenceId": "e_tr_wci_7674", "matchStrength": "EXACT", "matchedTerm": "Mohammad Nawaz SHARIF", "submittedTerm": "Mohammad Nawaz Sharif", "matchedNameType": "PRIMARY", "secondaryFieldResults": [ { "field": { "typeId": "SFCT_5", "value": "PAK", "dateTimeValue": None }, "typeId": "SFCT_5", "submittedValue": "SWE", "submittedDateTimeValue": None, "matchedValue": "PAK", "matchedDateTimeValue": None, "fieldResult": "NOT_MATCHED" }, { "field": { "typeId": "SFCT_2", "value": None, "dateTimeValue": "1949-12-25" }, "typeId": "SFCT_2", "submittedValue": None, "submittedDateTimeValue": "1932-09-01", "matchedValue": None, "matchedDateTimeValue": "1949-12-25", "fieldResult": "NOT_MATCHED" } ], "sources": [ "b_trwc_PEP N" ], "categories": [ "PEP" ], "creationDate": "2021-02-24T20:48:26.545Z", "modificationDate": "2021-02-24T20:48:26.545Z", "resolution": { "statusId": "...qh1s", "riskId": None, "reasonId": None, "resolutionRemark": None, "resolutionDate": None }, "resultReview": { "reviewRequired": False, "reviewRequiredDate": "2020-10-08T00:00:00.000Z", "reviewRemark": None, "reviewDate": None }, "primaryName": "Mohammad Nawaz SHARIF", "events": [ { "address": None, "allegedAddresses": [], "day": 25, "fullDate": "1949-12-25", "month": 12, "type": "BIRTH", "year": 1949 } ], "countryLinks": [ { "country": { "code": "PAK", "name": "PAKISTAN" }, "countryText": "PAKISTAN", "type": "NATIONALITY" }, { "country": { "code": "SAU", "name": "SAUDI ARABIA" }, "countryText": "SAUDI ARABIA", "type": "LOCATION" }, { "country": { "code": "PAK", "name": "PAKISTAN" }, "countryText": "PAKISTAN", "type": "LOCATION" }, { "country": { "code": "PAK", "name": "PAKISTAN" }, "countryText": "PAKISTAN", "type": "POB" }, { "country": { "code": "GBR", "name": "UNITED KINGDOM" }, "countryText": "UNITED KINGDOM", "type": "LOCATION" } ], "identityDocuments": [ { "entity": None, "expiryDate": None, "issueDate": None, "issuer": None, "locationType": { "country": { "code": "PAK", "name": "PAKISTAN" }, "name": "COMPUTERIZED NATIONAL IDENTIFICATION CARD", "type": "PK-CNIC" }, "number": "3520153698367", "type": None }, { "entity": None, "expiryDate": None, "issueDate": None, "issuer": None, "locationType": { "country": { "code": "PAK", "name": "PAKISTAN" }, "name": "NATIONAL TAX NUMBER", "type": "PK-NTN" }, "number": "0667649-9", "type": None } ], "category": "CRIME - FINANCIAL", "providerType": "WATCHLIST", "gender": "MALE" } ] }
Then I do a ongoing screening request on /cases/ongoingScreeningUpdates then I get this:
{ # endpoint = "/cases/ongoingScreeningUpdates" "query": "updateDate>='2021-01-01T00:00:00Z'", "sort": [ { "columnName": "updateDate", "order": "DESCENDING" } ], "totalResultCount": 3, "pagination": { "currentPage": 1, "itemsPerPage": 50, "totalItems": 3 }, "results": [ { "caseSystemId": "...evuq", "numberOfNewResults": 0, "numberOfUpdatedResults": 1, "updateDate": "2021-01-23T18:43:54.806Z" }, { "caseSystemId": "...evuq", "numberOfNewResults": 2, "numberOfUpdatedResults": 3, "updateDate": "2021-01-22T19:42:24.203Z" }, { "caseSystemId": "...evuq", "numberOfNewResults": 7, "numberOfUpdatedResults": 12, "updateDate": "2021-01-15T12:43:29.843Z" } ] }
Then I use the caseSystemId from those on /cases/systemCaseId and the results is this:
{ # endpoint = "/cases/systemCaseId" "caseId": "...evup", "name": "Mohammad Nawaz Sharif", "providerTypes": [ "WATCHLIST" ], "customFields": [], "secondaryFields": [], "groupId": "...qh04", "entityType": "INDIVIDUAL", "caseSystemId": "...evuq", "caseScreeningState": { "WATCHLIST": "INITIAL" }, "lifecycleState": "UNARCHIVED", "creator": {}, "modifier": {}, "assignee": None, "creationDate": "2020-05-28T10:43:33.803Z", "modificationDate": "2021-02-19T13:50:48.394Z", "nameTransposition": False, "outstandingActions": True }
The name in the last call matches the name of the user that was screened in the first call but the caseSystemId do not match.
My assumption is that they are supposed to match but don't because my database have been purged several times and I do not have the original caseSystemId from the first screening.
If there is an update in ongoingScreeningUpdates will then the caseSystemId from my latest /cases/screeningRequest be included?
I am lost because I think I am right but have not been able to confirm that I am right.