Reltio Setup

Check streaming settings in Reltio

  1. Get physical configuration

    [GET] {{serviceURL}}/reltio/tenants/{{tenantID}}

    For example: https://dev.reltio.com/reltio/tenants/mSPsWCYuJQkIcVw

  2. Search for streamingConfig in the response. The streamingEnabled and streamingAPIEnabled attributes denotate if streaming is enabled or the tenant. The JMSEventsFilteringFields and RelationEventsFilteringFields attributes display the configuration of the event that is going to be published by Reltio in the AWS SQS. If any of the attributes on bold below don't match the values displayed below continue on Enable streaming step.

    Copy
    "streamingConfig": {
        "streamingEnabled": true,
        "streamingAPIEnabled": true,
        "analyzeOvChanges": false,
        "emptyStartEndRelationCrosswalks": false,
        "JMSEventsTimeToLive": 86400000,
        "JMSEventsFilteringFields": [
          "updatedTime",
          "updatedBy",
          "createdBy",
          "createdTime",
          "type",
          "uri",
          "attributes.",

                  "crosswalks",

                  "isFavorite",

                 "analyticsAttributes", 

                 "label",

                 "secondaryLabel",

                 "endDate",

                 "startObject",
                 "endObject",

         "isFavorite"
         "externalInfo",
          "state"
        ],
        "RelationEventsFilteringFields": [
          "updatedTime",
          "updatedBy",

                 "attributes",

                 "crosswalks",

                 "isFavorite",

                 "analyticsAttributes", 

                 "label",

                 "secondaryLabel",

                 "endDate",

                 "startObject",
                 "endObject",


          "createdBy",
          "createdTime",
          "type",
          "uri"
        ],
        "JMSIncludeMergeTime": false,
        "messaging": {
          "destinations": [
            <SQS Destinations and configurations. This configuration can be set using the Tenant Management app in the the Reltio UI Console >
          ]
        }
      }

    Above configuration is for entities, relations, merge, and dcr streaming. Sections specific to each object type are specified below:

    Common streaming attributes for entities, merge, and dcr:

    Copy
    JMSEventsFilteringFields.updatedTime
    JMSEventsFilteringFields.updatedBy
    JMSEventsFilteringFields.createdBy
    JMSEventsFilteringFields.type
    JMSEventsFilteringFields.uri
    Entities streaming attributes:
    JMSEventsFilteringFields.attributes.Country
    DCR streaming attributes:
    JMSEventsFilteringFields.externalInfo
    JMSEventsFilteringFields.state
    Relations streaming attributes:
    RelationEventsFilteringFields.*

Enable DCR and Customer (Entities\Relations\Merge) Streaming

Prerequisite

DCR and CUS SQS provided by prodOps. In the provisioning card connection info to these queues are given in the SQS Queues section.

Steps

  1. Configure streaming destination for Customer (Entities/Realtions/Merge) – (DELIVERY): Set up Reltio objects to stream and SQS to publish them. If startObject and endObject are missing under "JMSEventsFilteringFields" and "RelationEventsFilteringFields" at physical configuration in Reltio, then raise the Reltio ticket for the same..

  2. Configure streaming destination for DCR – (DELIVERY): Set up Reltio objects to stream and SQS to publish them.

  3. Create Reltio ZenDesk Ticket – (DELIVERY): A Reltio Desk Ticket is required for Reltio to setup the data attributes in the SQS messages and add the DCR event types.

Configure Streaming Destination for Customer (Entities/Relations/Merge)

To stream Entities/Relations/Merge records into a SQS queue a new Reltio queue needs to be configured in Reltio Tenant Management application. This step specify which SQS to use by Reltio and type of data to stream. (See Step 3 for example, on how to create a generic Reltio Ticket to apply attributes for streaming).

  1. Login to the Relio UI console.

  2. Go to Tenant Management Section.

  3. Click External queues on the toolbar on the left side.

  4. Click ADD QUEUE on the right side of the screen.

  5. In the Add queue screen enter the following information:

    • Use ARN: Uncheck this option.

    • Queue Name: *_cus iam_user-sqs_name provided in provisioning card from prodOps ("SQS Queues" section)

    • Key: *_cus iam_user-sqs_aws_access_key_id provided in provisioning card from prodOps ("SQS Queues" section)

    • Secret: Encoded *_cus iam_user-sqs_aws_secret_key provided in provisioning card from prodOps ("SQS Queues" section).

      To encode the AWS Access Secret Key, use url encoder in www.url-encode-decode.com. The encoder converts special characters, for example, character + changes to %2B, and / with %2F.

    • Region: AWS Region of the SQS (Region can be extracted from the sqs_queue_urls)

    • Format: JSON

    • Object Filter: Criteria to filter events with format objectFilter=<Expression>. Expression can be formed using Reltio helper operators (https://documentation.reltio.com/entitiesapi/entitiesfiltering.html?hl=filter) combined with AND/OR logical operators. For Example: objectFilter=equals(type,'configuration/entityTypes/HCO') or equals(type,'configuration/entityTypes/HCP')

    • Type Filter: Select the event types to subscribe.

    • Payload type: Snapshot

    • Event Payload fields: Select all from the drop down.

Multiple queues or destinations can be added for a tenant with output to the same SQS.

Example for the LEXI implementation:

Queue 1:

  • Object Filter: objectFilter=equals(type,'configuration/entityTypes/HCO') or equals(type,'configuration/entityTypes/HCP'). For country filter use listEquals function, for example: listEquals(attributes.Country, 'US','CA').

  • Type Filter: ENTITY_CREATED, ENTITY_CHANGED, ENTITY_REMOVED, ENTITY_LOST_MERGE.

Queue 2:

  • Object Filter: objectFilter=equals(type,'configuration/relationTypes/Activity').

  • Type Filter: RELATIONSHIP_CREATED, RELATIONSHIP_CHANGED, RELATIONSHIP_REMOVED.

Double check with LEXI for the list of relations needed or use objectFilter=not(equals(type,'configuration/relationTypes/HasAddress')) criteria to exclude HasAddress relations and location entities).

Troubleshooting

When saving the external queue in Reltio, Reltio shows an error if configuration is wrong. See below some of the errors and possible causes:

Configure Streaming Destination for DCR

To stream DCR records into a SQS queue a new Reltio queue needs to be configured in Reltio Tenant Management application. This step specifies which SQS to use by Reltio and type of data to stream. The type filter doesn't show the DCR events (CHANGE_REQUEST_CREATE, CHANGE_REQUEST_CHANGE, and CHANGE_REQUEST_DELETED), so a Reltio ticket needs to be created for this (See Step 3 for example, of how to create a generic Reltio Ticket).

  1. Login to The Reltio UI console.

  2. Go to Tenant Management Section.

  3. Click External queues on the toolbar on the left side.

  4. Click ADD QUEUE on the right side of the screen.

  5. In the Add queue screen enter the following information:

    • Use ARN: Uncheck this option.

    • Queue Name: *_dcr iam_user-sqs_name provided in provisioning card from prodOps ("SQS Queues" section).

    • Key: *_dcr iam_user-sqs_aws_access_key_id provided in provisioning card from prodOps ("SQS Queues" section).

    • Secret: Encoded *_dcr iam_user-sqs_aws_secret_key provided in provisioning card from prodOps ("SQS Queues" section).

      To encode the AWS Access Secret Key, use url encoder in https://www.url-encode-decode.com/. The encoder can convert special characters, for example, character + is changed to %2B, and / with %2F.

    • Region: AWS Region of the SQS (Region can be extracted from the sqs_queue_urls).

    • Format: JSON

Queue:

  • Type Filter: CHANGE_REQUEST_CREATED, CHANGE_REQUEST_CHANGED, CHANGE_REQUEST_REMOVED

  • Payload type: Snapshot

  • Event Payload fields: Select all from the drop down.

Troubleshooting

When saving the external queue in Reltio, Reltio shows an error if configuration is wrong. See below some of the errors and possible causes:

Create Reltio Zendesk Ticket

A new Reltio ticket required to enable streaming and setup queue type filter for DCR queue to receive Reltio events. This section gives details about the information needed to create the Reltio ticket.

Template

TicketType: Request a technical Task

Subject: XXX(Team)—YY(Region)-ZZZ( Product)-Client Name (Client)- Lan ID (Submitter) - Enable streaming in <Reltio Tenant ID>

Description:

Enable streaming if not enabled and set the following configuration in the streaming:

For entities and merge and DCR:

Copy
"JMSEventsFilteringFields": [
"updatedTime",
"updatedBy",
"createdBy",
"createdTime",
"type",
"uri",
"attributes.",
"crosswalks",
"isFavorite",
"analyticsAttributes",
"label",
"secondaryLabel",
"endDate",
"state",
"externalInfo"
],
For relations:
"RelationEventsFilteringFields": [
"updatedTime",
"updatedBy",
"createdBy",
"createdTime",
"attributes",
"crosswalks",
"isFavorite",
"analyticsAttributes",
"label",
"secondaryLabel",
"endDate",
"startObject",
"endObject",
"type",
"uri"
]

Example

TicketType: Request a technical Task

Subject: Eng MDM - jdoe Product - Enable streaming in 0JItgeQask3TXYz

Description:

Enable streaming if not enabled and set the following configuration in the streaming:

Copy
"JMSEventsFilteringFields": [
"updatedTime",
"updatedBy",
"createdBy",
"createdTime",
"type",
"uri",
"attributes.",
"crosswalks",
"isFavorite",
"analyticsAttributes",
"label",
"secondaryLabel",
"endDate",
"state",
"externalInfo"
],
For relations:
"RelationEventsFilteringFields": [
"updatedTime",
"updatedBy",
"createdBy",
"createdTime",
"attributes",
"crosswalks",
"isFavorite",
"analyticsAttributes",
"label",
"secondaryLabel",
"endDate",
"startObject",
"endObject",
"type",
"uri"
]