Duplicate Check Results
If there are duplicate checks enabled in your recipe, this would be a method to identify customers that have tried to sign up previously.
Duplicate checks, and their close counterpart, the blocklist check, will return a ProcessResultObject for each match to another entity, based on your configured matching rules.
Each ProcessResultObject
will contain the following values:
Field Name | Description |
---|---|
checkDate | UTC timestamp as to when the duplicate check was matched. |
checkId | The check run that found the match. |
checkPerformedBy | With be one of “dup”, “bl” or “dup+bl”, as the checks run for duplicate and blocklist are the same and generally run at the same time. |
checkSource | Will always be builtIn |
checkType | Will be the full list of checks that are scheduled to be run as part of the recipe (or as requested in an ad-hoc query) |
confidenceLevel | What was the matching score, based on your matching rules. |
providerCheckId | Will always be the same as checkId above. |
resultState | Will be one of:CHECKED_SUCCESS_CLEAR : duplicate check was run and no match foundCHECKED_SUCCESS_WITH_NOTES : There was a match found that requires/required review.* CHECKED_FAILED : there was an error running the duplicate check. If you see this, please let FrankieOne dev support know and provide the entityID, requestID and date/time of the error. |
The following resultNote
Key-Value-Pairs will also be set:
Key Name | Value Description |
---|---|
match.entity.id | The entityID that we matched to |
match.entity.customer_reference | If the matched entity has a customer reference, then this is included as well |
match.level | How strong a match |
match.type.entity | A pipe ( | ) separated list of the entity fields we matched on. |
match.type.document | A pipe ( | ) separated list of the document fields we matched on. |
match.notes | Which matching rule was used to determine that a match has been made. |
status.current | If this match has been assessed, what is the final status. It will be one of:false_positive true_positive |
status.manual_update | Will be the requestID of the request that set the final state of this match |
status.set_date | UTC date stamp when the status was set |
status.set_by | The username of the person who set the status |
status.false_positive.ignore | Internal flag used to indicate this result can be ignored when evaluating overall entity state |
status.true_positive | Internal flag used to indicate a true positive match |
Effect on EntityProfileResult
When there is a duplicate match (either a true positive or all potential matches have not yet been marked as false positives), this will prevent any further checks from being run. In that case you would see something like the following in the entityProfileResult checkResults section:
...
{
"checkClass": "fraud",
"checkType": "duplicate",
"code": "POTENTIAL_MATCH",
"message": "Potential duplicate match (Manual review required)",
"result": "FAIL"
},
{
"checkClass": "kyc",
"checkType": "two_plus",
"code": "BLOCKED_BY_OTHER_FAIL",
"message": "Cannot check while there are potential duplicate matches",
"result": "UNCHECKED"
},
{
"checkClass": "kyc",
"checkType": "id",
"code": "BLOCKED_BY_OTHER_FAIL",
"message": "Cannot check while there are potential duplicate matches",
"result": "UNCHECKED"
},
...
In there you can see that there is a duplicate FAIL result and subsequent checks are blocked by this failure.
Example
An example where there are two false positive matches, one true positive and outstanding are below:
"duplicateCheckResults": [
{
"checkDate": "2021-03-24T05:49:48.925Z",
"checkId": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
"checkPerformedBy": "bl",
"checkSource": "builtin",
"checkType": "blacklist,duplicate,two_plus,id,visa,pep,fraudlist",
"confidenceLevel": 50,
"providerCheckID": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
"resultNotes": [
{
"kvpKey": "match.entity.id",
"kvpType": "general.string",
"kvpValue": "562d651e-72c2-62b3-0494-bc7c6c5fa622"
},
{
"kvpKey": "match.level",
"kvpType": "general.string",
"kvpValue": "MEDIUM"
},
{
"kvpKey": "match.type.entity",
"kvpType": "general.string",
"kvpValue": "Date|Fnam"
},
{
"kvpKey": "match.notes",
"kvpType": "general.string",
"kvpValue": "Match rule #5"
},
{
"kvpKey": "original_checksource",
"kvpType": "general.string",
"kvpValue": "builtin"
},
{
"kvpKey": "status.false_positive.ignore",
"kvpType": "result.code",
"kvpValue": "01F1HCJ9Z28PEH116EPRBERPTZ"
},
{
"kvpKey": "status.current",
"kvpType": "general.string",
"kvpValue": "false_positive"
},
{
"kvpKey": "status.manual_update",
"kvpType": "result.code",
"kvpValue": "01F1HCJ9Z28PEH116EPRBERPTZ"
},
{
"kvpKey": "status.set_by",
"kvpType": "general.string",
"kvpValue": "[email protected]"
},
{
"kvpKey": "status.set_date",
"kvpType": "general.datetime",
"kvpValue": "2021-03-24T05:50:53Z"
}
],
"resultState": "CHECKED_SUCCESS_WITH_NOTES"
},
{
"checkDate": "2021-03-24T05:49:48.925Z",
"checkId": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
"checkPerformedBy": "bl",
"checkSource": "builtin",
"checkType": "blacklist,duplicate,two_plus,id,visa,pep,fraudlist",
"confidenceLevel": 50,
"providerCheckID": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
"resultNotes": [
{
"kvpKey": "match.entity.id",
"kvpType": "general.string",
"kvpValue": "3dd1a14c-ea67-69c6-94b9-511abad25c56"
},
{
"kvpKey": "match.level",
"kvpType": "general.string",
"kvpValue": "MEDIUM"
},
{
"kvpKey": "match.type.entity",
"kvpType": "general.string",
"kvpValue": "Date|Fnam"
},
{
"kvpKey": "match.notes",
"kvpType": "general.string",
"kvpValue": "Match rule #5"
},
{
"kvpKey": "original_checksource",
"kvpType": "general.string",
"kvpValue": "builtin"
},
{
"kvpKey": "status.true_positive",
"kvpType": "result.code",
"kvpValue": "01FDP9VKDQF6V763XG9AC778SW"
},
{
"kvpKey": "status.current",
"kvpType": "general.string",
"kvpValue": "true_positive"
},
{
"kvpKey": "status.manual_update",
"kvpType": "result.code",
"kvpValue": "01FDP9VKDQF6V763XG9AC778SW"
},
{
"kvpKey": "status.set_by",
"kvpType": "general.string",
"kvpValue": "[email protected]"
},
{
"kvpKey": "status.set_date",
"kvpType": "general.datetime",
"kvpValue": "2021-08-22T06:48:06Z"
}
],
"resultState": "CHECKED_SUCCESS_WITH_NOTES"
},
{
"checkDate": "2021-03-24T05:49:48.925Z",
"checkId": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
"checkPerformedBy": "bl",
"checkSource": "builtin",
"checkType": "blacklist,duplicate,two_plus,id,visa,pep,fraudlist",
"confidenceLevel": 50,
"providerCheckID": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
"resultNotes": [
{
"kvpKey": "match.entity.id",
"kvpType": "general.string",
"kvpValue": "1dd0b3af-97b7-5db0-fc35-9b180aa0b37d"
},
{
"kvpKey": "match.level",
"kvpType": "general.string",
"kvpValue": "MEDIUM"
},
{
"kvpKey": "match.type.entity",
"kvpType": "general.string",
"kvpValue": "Date|Fnam"
},
{
"kvpKey": "match.notes",
"kvpType": "general.string",
"kvpValue": "Match rule #5"
},
{
"kvpKey": "original_checksource",
"kvpType": "general.string",
"kvpValue": "builtin"
}
],
"resultState": "CHECKED_SUCCESS_WITH_NOTES"
},
{
"checkDate": "2021-03-24T05:49:48.925Z",
"checkId": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
"checkPerformedBy": "bl",
"checkSource": "builtin",
"checkType": "blacklist,duplicate,two_plus,id,visa,pep,fraudlist",
"confidenceLevel": 80,
"providerCheckID": "636b03c3-444b-03f5-9a63-4dd0808f3eca",
"resultNotes": [
{
"kvpKey": "match.entity.id",
"kvpType": "general.string",
"kvpValue": "668f310d-26fb-c1f9-7a6a-b202997fb968"
},
{
"kvpKey": "match.level",
"kvpType": "general.string",
"kvpValue": "HIGH"
},
{
"kvpKey": "match.type.entity",
"kvpType": "general.string",
"kvpValue": "Date"
},
{
"kvpKey": "match.type.document",
"kvpType": "general.string",
"kvpValue": "IdNo"
},
{
"kvpKey": "match.notes",
"kvpType": "general.string",
"kvpValue": "Match rule #2"
},
{
"kvpKey": "original_checksource",
"kvpType": "general.string",
"kvpValue": "builtin"
},
{
"kvpKey": "status.false_positive.ignore",
"kvpType": "result.code",
"kvpValue": "01F1HCJ3X0GJNN86BCDW2MB4RR"
},
{
"kvpKey": "status.current",
"kvpType": "general.string",
"kvpValue": "false_positive"
},
{
"kvpKey": "status.manual_update",
"kvpType": "result.code",
"kvpValue": "01F1HCJ3X0GJNN86BCDW2MB4RR"
},
{
"kvpKey": "status.set_by",
"kvpType": "general.string",
"kvpValue": "[email protected]"
},
{
"kvpKey": "status.set_date",
"kvpType": "general.datetime",
"kvpValue": "2021-03-24T05:50:47Z"
}
],
"resultState": "CHECKED_SUCCESS_WITH_NOTES"
}
],
Updated about 1 year ago