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:
| 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 |
hasMembers | Indicates 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:
| 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.
attributeMapping and rejects the configuration if any mapping fails to meet the following requirements. | Validation | Requirement |
|---|---|
| Attribute existence | Both interactionAttribute and entityAttribute exist in the tenant configuration. |
| Type match | Both attributes use the same attribute type. |
| Segmentation | The entity attribute named in entityAttribute is enabled for segmentation. |
| Member type uniqueness | Each member type URI appears only once within an interaction type. |
| Mapping cardinality | Each 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
}]
}
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)
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.