Unify and manage your data

Interaction Types

Define types of interactions that are recognized by a tenant configuration.

The Interaction Types section of Configuration API is responsible for defining types of interactions that are recognized by a tenant configuration. An interaction is generally any kind of transaction-like event that has a date and time associated with it. These could be purchases, prescriptions, claims, call center activity, etc.

Object Structure

A collection of Interaction Types can be defined for a tenant configuration. Each Interaction Type has the following properties:

Table 1. Properties
Property Description Type
URI Path that is used to reach the interaction type. Format: configuration/interactionTypes/{TypeName} Required. String, URI
id Internal, system-generated ID. Used internally to get the difference between two versions of configurations when a configuration is updated. Required for the response JSON. String
label Readable name of the Interaction Type. Required. String
description Description for the Interaction type. String
extendsTypeURI URI of an Interaction Type which is extended by this type. String, URI
hasMembersIndicates that this interaction type has entity members defined. Set to true when memberTypes are configured for the interaction type.Boolean
memberTypes A collection of possible member types for this interaction type. Examples: Participant, Organizer. Each member type supports the following properties:
  • URI: String
  • name: String
  • id: String
  • label: String
  • objectTypeURI: Array of URIs of entity types and roles that can be members of the type.
  • minOccurs: Integer, equal or greater than 0. Identifies how many members can be of this member type. Default is 0.
  • attributeMapping: Object, optional. Maps one interaction attribute to one entity attribute so that Reltio resolves members automatically when you create an interaction. Supports the following sub-properties:
    • interactionAttribute: String, URI. The interaction attribute whose value is used to find matching entities.
    • entityAttribute: String, URI. The entity attribute whose value is compared with the interaction attribute value to find matching entities.
Complex
attributes Attributes that are defined as standard for this type. Attributes can be of simple, nested and reference type. For details, refer to Attributes configuration.
Note: Not every interaction object will have all attributes defined in its interaction type. Also, an interaction object can have some attributes that are not defined in the configuration-custom attributes.
JSON object of Attributes Configuration
ignoreUniqueness If true, Data Access API and compaction will not perform uniqueness resolution (de-duplication) for interactions of this type. If false, regular uniqueness resolution is performed. Default is false. Boolean

Attribute Mapping Validation

An attribute mapping links an interaction attribute to an entity attribute. Reltio resolves interaction members from the mapped attribute values, in addition to any members you specify by entity URI or crosswalk.

When you save the tenant configuration, Reltio validates each attributeMapping and rejects the configuration if any mapping fails to meet the following requirements.
ValidationRequirement
Attribute existenceBoth interactionAttribute and entityAttribute exist in the tenant configuration.
Type matchBoth attributes use the same attribute type.
SegmentationThe entity attribute named in entityAttribute is enabled for segmentation.
Member type uniquenessEach member type URI appears only once within an interaction type.
Mapping cardinalityEach member type defines only one attributeMapping. To resolve members from a second interaction attribute, define another member type with its own unique URI.

Interaction Type: Meeting

Example of a Meeting Interaction Type configuration:

{
	"URI": "configuration/interactionTypes/Meeting",
	"id": "31",
	"label": "Meeting",
	"attributes": [{
		"URI": "configuration/interactionTypes/Meeting/attributes/Place",
		"name": "Place",
		"id": "32",
		"label": "Place",
		"type": "String"
	}, {
		"URI": "configuration/interactionTypes/Meeting/attributes/Notes",
		"name": "Notes",
		"id": "33",
		"label": "Notes",
		"type": "String"
	}],
	"memberTypes": [{
		"URI": "configuration/interactionTypes/Meeting/memberTypes/participants",
		"name": "participants",
		"id": "34",
		"label": "participants",
		"objectTypeURI": ["configuration/entityTypes/Individual"],
		"minOccurs": 1
	}, {
		"URI": "configuration/interactionTypes/Meeting/organizers",
		"name": "organizers",
		"label": "organizers",
		"id": "35",
		"objectTypeURI": ["configuration/entityTypes/Individual"],
		"label": "organizers",
		"minOccurs": 1
	}]
}
Note: Currently, "id" parameters are not supported by the Configuration API.

Interaction Type: Prescription

Example of a Prescription Interaction Type configuration:

"interactionTypes": [{
		"URI": "configuration/interactionTypes/Prescription",
		"label": "Prescription",
		"ignoreUniqueness": true,
		"memberTypes": [{
			"URI": "configuration/interactionTypes/Prescription/memberTypes/Beneficiary",
			"label": "Beneficiary",
			"name": "Beneficiary",
			"objectTypeURI": "configuration/entityTypes/Beneficiary"
		}, {
			"URI": "configuration/interactionTypes/Prescription/memberTypes/Product",
			"label": "Product",
			"name": "Product",
			"objectTypeURI": "configuration/entityTypes/Product",
			"minOccurs": 2
		}]
	}

Interaction Type: ExhibitionEvent (with attributeMapping)

The following example configures an ExhibitionEvent interaction type with attributeMapping on the HCO member type. When you create an interaction, Reltio matches each value of the EXHBT_NAME attribute against the Name attribute of the HCO entity type. Reltio adds each matching entity as an HCO member. Each value must match exactly one entity. If a value matches no entity or more than one entity, Reltio doesn't create the interaction and returns an error..
{
  "URI": "configuration/interactionTypes/ExhibitionEvent",
  "label": "Exhibition Event",
  "hasMembers": true,
  "attributes": [{
    "URI": "configuration/interactionTypes/ExhibitionEvent/attributes/EXHBT_NAME",
    "name": "EXHBT_NAME",
    "label": "EXHBT_NAME",
    "type": "String"
  }],
  "memberTypes": [{
    "URI": "configuration/interactionTypes/ExhibitionEvent/memberTypes/HCO",
    "name": "HCO",
    "label": "HCO",
    "objectTypeURI": ["configuration/entityTypes/HCO"],
    "attributeMapping": {
      "interactionAttribute": "configuration/interactionTypes/ExhibitionEvent/attributes/EXHBT_NAME",
      "entityAttribute": "configuration/entityTypes/HCO/attributes/Name"
    }
  }]
}

Member Resolution

When you create an interaction, Reltio resolves the members and stores the resolved entity's crosswalk with each member. After a merge, the member stays associated with the correct entity. After an unmerge, Reltio can restore the member's association with its original entity.

Reltio doesn't update the members of an existing interaction again when the value of the mapped entity attribute changes.