Why am I not seeing the potential match message in the SQS queue with my custom match rules?

Question

We have added potential link found to SQS Queue but we aren't able to see potential match messages in SQS queue. As per our configuration, it should be able to extract potential match message in SQS queue. I have attached the screenshot of same. We are able to see other messages like entity creation, entity changed , entity removed.

 

ay1.png

 

Answer

POTENTIAL_LINK_FOUND is not POTENTIAL_MATCH.  Your original defined problem in this ticket was that you were not seeing POTENTIAL_LINK_FOUND in the event queue. 

POTENTIAL_LINK_FOUNDandAUTO_LINK_FOUNDevent types notify an external program to consider taking action on the event. You can select these events, which were previously only available from the streaming APIs, from the Type filter. You can use match rules to publish these events to the queue, where your external program can receive the event, retrieve and examine profiles, and take appropriate action. 

Please review the documentation inhttps://docs.reltio.com/en/explore/get-a-crash-course/get-ready-to-turn-your-data-into-action/learn-about-multidomain-mdm/reltio-match-merge-and-survivorship/understanding-custom-rulesregarding whether custom match rules meet your requirement.

Please notice in the documentation the specific definition on the handler classes.

ThematchActionobject has four handler classes that can be called. The first two are the legacy handlers used by the ‘automatic’ and ‘suspect’ types. They are exposed for you to leverage if you wish. They are:

  • AutoMergeHandler(issues a directive to merge the profile pair)
  • SuspectMatchHandler(issues a directive to queue the profile pair for review, which means to make them available as potential matches in the Hub)
  • StreamingPotentialLinkActionHandler(publishes the event,POTENTIAL_LINK_FOUND)
  • StreamingAutoLinkActionHandler(publishes the event,AUTO_LINK_FOUND)

You should take the following steps to complete the enablement.

  • You need define the following custom match actions.  
   "matchActions": [
     {
         "name": "potential_relation",
         "mapping": [
             {
                 "class": "StreamingPotentialLinkActionHandler"
             },
             {
                 "class": "SuspectMatchHandler"
             }
         ]
     },
     {
         "name": "automatic_link",
         "mapping": [
             {
                 "class": "StreamingAutoLinkActionHandler"
             }
         ]
     }
 ],

 

  • Change the L3 match rule (to match your definition of a match rule). Rather than having "type": "suspect" as seen below.
 {
                 "uri": "configuration/entityTypes/HCO/matchGroups/Rule_11_MCMDM",
                 "label": "MCMDM|Rule 11. Not Exact (MCEntityType),Exact(Premise,Zip5),Fuzzy(AddressLine1),Equals(Address.VerificationStatus =Verified)",
                 "type": "suspect",
                 "scope": "ALL",
                 "useOvOnly": "true",
                 "rule": {
                     "matchTokenClasses": {


You should change type to "potential_relation" rather than suspect

      {
                 "uri": "configuration/entityTypes/HCO/matchGroups/Rule_11_MCMDM",
                 "label": "MCMDM|Rule 11. Not Exact (MCEntityType),Exact(Premise,Zip5),Fuzzy(AddressLine1),Equals(Address.VerificationStatus =Verified)",
                "type": "potential_relation",
                 "scope": "ALL",
                 "useOvOnly": "true",
                 "rule": {
                     "matchTokenClasses": {

 

  • Perform the verifyMatch API in POSTMAN with two entities that you believe should match one of your custom match rule <refer to https://docs.reltio.com/en/explore/get-going-with-apis-and-rocs-utilities/reltio-rest-apis/model-apis/potential-matches-api/verifying-matches).
curl --location --request POST 'https://<environment>.reltio.com/reltio/api/<tenantId>/entities/_verifyMatches?rules=<match rule>' \
--header 'Authorization: Bearer 33d1c1c3-5b64-4ac0-93bf-e05f18386ba9' \
--header 'Content-Type: application/json' \
--data-raw '{
"first": {
"uri": "entities/<entity one>"
},
"second":{"uri":"entities/<entity two>"}
}'

 

  • Verify that you can now see a valid match.

 

 

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.