@aws-sdk/client-customer-profiles 3.370.0 → 3.377.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +16 -0
  2. package/dist-cjs/CustomerProfiles.js +4 -0
  3. package/dist-cjs/commands/GetSimilarProfilesCommand.js +46 -0
  4. package/dist-cjs/commands/ListRuleBasedMatchesCommand.js +46 -0
  5. package/dist-cjs/commands/index.js +2 -0
  6. package/dist-cjs/models/models_0.js +14 -1
  7. package/dist-cjs/protocols/Aws_restJson1.js +158 -2
  8. package/dist-es/CustomerProfiles.js +4 -0
  9. package/dist-es/commands/GetSimilarProfilesCommand.js +42 -0
  10. package/dist-es/commands/ListRuleBasedMatchesCommand.js +42 -0
  11. package/dist-es/commands/index.js +2 -0
  12. package/dist-es/models/models_0.js +13 -0
  13. package/dist-es/protocols/Aws_restJson1.js +151 -0
  14. package/dist-types/CustomerProfiles.d.ts +14 -0
  15. package/dist-types/CustomerProfilesClient.d.ts +4 -2
  16. package/dist-types/commands/CreateDomainCommand.d.ts +70 -1
  17. package/dist-types/commands/GetDomainCommand.d.ts +35 -0
  18. package/dist-types/commands/GetSimilarProfilesCommand.d.ts +102 -0
  19. package/dist-types/commands/ListRuleBasedMatchesCommand.d.ts +93 -0
  20. package/dist-types/commands/UpdateDomainCommand.d.ts +70 -1
  21. package/dist-types/commands/index.d.ts +2 -0
  22. package/dist-types/models/models_0.d.ts +444 -0
  23. package/dist-types/protocols/Aws_restJson1.d.ts +18 -0
  24. package/dist-types/ts3.4/CustomerProfiles.d.ts +34 -0
  25. package/dist-types/ts3.4/CustomerProfilesClient.d.ts +12 -0
  26. package/dist-types/ts3.4/commands/GetSimilarProfilesCommand.d.ts +39 -0
  27. package/dist-types/ts3.4/commands/ListRuleBasedMatchesCommand.d.ts +42 -0
  28. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  29. package/dist-types/ts3.4/models/models_0.d.ts +76 -0
  30. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +24 -0
  31. package/package.json +2 -2
@@ -28,7 +28,7 @@ export interface UpdateDomainCommandOutput extends UpdateDomainResponse, __Metad
28
28
  * <p>After a domain is created, the name can’t be changed.</p>
29
29
  * <p>Use this API or <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html">CreateDomain</a> to
30
30
  * enable <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">identity
31
- * resolution</a>: set <code>Matching</code> to true. </p>
31
+ * resolution</a>: set <code>Matching</code> to true.</p>
32
32
  * <p>To prevent cross-service impersonation when you call this API, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html">Cross-service confused deputy prevention</a> for sample policies that you should
33
33
  * apply. </p>
34
34
  * <p>To add or remove tags on an existing Domain, see <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_TagResource.html">TagResource</a>/<a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UntagResource.html">UntagResource</a>.</p>
@@ -71,6 +71,40 @@ export interface UpdateDomainCommandOutput extends UpdateDomainResponse, __Metad
71
71
  * },
72
72
  * },
73
73
  * },
74
+ * RuleBasedMatching: { // RuleBasedMatchingRequest
75
+ * Enabled: true || false, // required
76
+ * MatchingRules: [ // MatchingRules
77
+ * { // MatchingRule
78
+ * Rule: [ // MatchingRuleAttributeList // required
79
+ * "STRING_VALUE",
80
+ * ],
81
+ * },
82
+ * ],
83
+ * MaxAllowedRuleLevelForMerging: Number("int"),
84
+ * MaxAllowedRuleLevelForMatching: Number("int"),
85
+ * AttributeTypesSelector: { // AttributeTypesSelector
86
+ * AttributeMatchingModel: "ONE_TO_ONE" || "MANY_TO_MANY", // required
87
+ * Address: [ // AddressList
88
+ * "STRING_VALUE",
89
+ * ],
90
+ * PhoneNumber: [ // PhoneNumberList
91
+ * "STRING_VALUE",
92
+ * ],
93
+ * EmailAddress: [ // EmailList
94
+ * "STRING_VALUE",
95
+ * ],
96
+ * },
97
+ * ConflictResolution: {
98
+ * ConflictResolvingModel: "RECENCY" || "SOURCE", // required
99
+ * SourceName: "STRING_VALUE",
100
+ * },
101
+ * ExportingConfig: {
102
+ * S3Exporting: {
103
+ * S3BucketName: "STRING_VALUE", // required
104
+ * S3KeyName: "STRING_VALUE",
105
+ * },
106
+ * },
107
+ * },
74
108
  * Tags: { // TagMap
75
109
  * "<keys>": "STRING_VALUE",
76
110
  * },
@@ -110,6 +144,41 @@ export interface UpdateDomainCommandOutput extends UpdateDomainResponse, __Metad
110
144
  * // },
111
145
  * // },
112
146
  * // },
147
+ * // RuleBasedMatching: { // RuleBasedMatchingResponse
148
+ * // Enabled: true || false,
149
+ * // MatchingRules: [ // MatchingRules
150
+ * // { // MatchingRule
151
+ * // Rule: [ // MatchingRuleAttributeList // required
152
+ * // "STRING_VALUE",
153
+ * // ],
154
+ * // },
155
+ * // ],
156
+ * // Status: "PENDING" || "IN_PROGRESS" || "ACTIVE",
157
+ * // MaxAllowedRuleLevelForMerging: Number("int"),
158
+ * // MaxAllowedRuleLevelForMatching: Number("int"),
159
+ * // AttributeTypesSelector: { // AttributeTypesSelector
160
+ * // AttributeMatchingModel: "ONE_TO_ONE" || "MANY_TO_MANY", // required
161
+ * // Address: [ // AddressList
162
+ * // "STRING_VALUE",
163
+ * // ],
164
+ * // PhoneNumber: [ // PhoneNumberList
165
+ * // "STRING_VALUE",
166
+ * // ],
167
+ * // EmailAddress: [ // EmailList
168
+ * // "STRING_VALUE",
169
+ * // ],
170
+ * // },
171
+ * // ConflictResolution: {
172
+ * // ConflictResolvingModel: "RECENCY" || "SOURCE", // required
173
+ * // SourceName: "STRING_VALUE",
174
+ * // },
175
+ * // ExportingConfig: {
176
+ * // S3Exporting: {
177
+ * // S3BucketName: "STRING_VALUE", // required
178
+ * // S3KeyName: "STRING_VALUE",
179
+ * // },
180
+ * // },
181
+ * // },
113
182
  * // CreatedAt: new Date("TIMESTAMP"), // required
114
183
  * // LastUpdatedAt: new Date("TIMESTAMP"), // required
115
184
  * // Tags: { // TagMap
@@ -23,6 +23,7 @@ export * from "./GetIntegrationCommand";
23
23
  export * from "./GetMatchesCommand";
24
24
  export * from "./GetProfileObjectTypeCommand";
25
25
  export * from "./GetProfileObjectTypeTemplateCommand";
26
+ export * from "./GetSimilarProfilesCommand";
26
27
  export * from "./GetWorkflowCommand";
27
28
  export * from "./GetWorkflowStepsCommand";
28
29
  export * from "./ListAccountIntegrationsCommand";
@@ -35,6 +36,7 @@ export * from "./ListIntegrationsCommand";
35
36
  export * from "./ListProfileObjectTypeTemplatesCommand";
36
37
  export * from "./ListProfileObjectTypesCommand";
37
38
  export * from "./ListProfileObjectsCommand";
39
+ export * from "./ListRuleBasedMatchesCommand";
38
40
  export * from "./ListTagsForResourceCommand";
39
41
  export * from "./ListWorkflowsCommand";
40
42
  export * from "./MergeProfilesCommand";
@@ -824,6 +824,105 @@ export interface AttributeDetails {
824
824
  */
825
825
  Expression: string | undefined;
826
826
  }
827
+ /**
828
+ * @public
829
+ * @enum
830
+ */
831
+ export declare const AttributeMatchingModel: {
832
+ readonly MANY_TO_MANY: "MANY_TO_MANY";
833
+ readonly ONE_TO_ONE: "ONE_TO_ONE";
834
+ };
835
+ /**
836
+ * @public
837
+ */
838
+ export type AttributeMatchingModel = (typeof AttributeMatchingModel)[keyof typeof AttributeMatchingModel];
839
+ /**
840
+ * @public
841
+ * <p>Configuration information about the <code>AttributeTypesSelector </code>where the
842
+ * rule-based identity resolution uses to match profiles. You can choose how profiles are
843
+ * compared across attribute types and which attribute to use for matching from each type.
844
+ * There are three attribute types you can configure:</p>
845
+ * <ul>
846
+ * <li>
847
+ * <p>Email type</p>
848
+ * <ul>
849
+ * <li>
850
+ * <p>You can choose from <code>Email</code>, <code>BusinessEmail</code>, and
851
+ * <code>PersonalEmail</code>
852
+ * </p>
853
+ * </li>
854
+ * </ul>
855
+ * </li>
856
+ * <li>
857
+ * <p>Phone number type</p>
858
+ * <ul>
859
+ * <li>
860
+ * <p>You can choose from <code>Phone</code>, <code>HomePhone</code>, and
861
+ * <code>MobilePhone</code>
862
+ * </p>
863
+ * </li>
864
+ * </ul>
865
+ * </li>
866
+ * <li>
867
+ * <p>Address type</p>
868
+ * <ul>
869
+ * <li>
870
+ * <p>You can choose from <code>Address</code>, <code>BusinessAddress</code>,
871
+ * <code>MaillingAddress</code>, and <code>ShippingAddress</code>
872
+ * </p>
873
+ * </li>
874
+ * </ul>
875
+ * </li>
876
+ * </ul>
877
+ * <p>You can either choose <code>ONE_TO_ONE</code> or <code>MANY_TO_MANY</code> as the
878
+ * <code>AttributeMatchingModel</code>. When choosing <code>MANY_TO_MANY</code>, the system
879
+ * can match attribute across the sub-types of an attribute type. For example, if the value of
880
+ * the <code>Email</code> field of Profile A and the value of <code>BusinessEmail</code> field
881
+ * of Profile B matches, the two profiles are matched on the Email type. When choosing
882
+ * <code>ONE_TO_ONE</code> the system can only match if the sub-types are exact matches.
883
+ * For example, only when the value of the <code>Email</code> field of Profile A and the value
884
+ * of the <code>Email</code> field of Profile B matches, the two profiles are matched on the
885
+ * Email type.</p>
886
+ */
887
+ export interface AttributeTypesSelector {
888
+ /**
889
+ * <p>Configures the <code>AttributeMatchingModel</code>, you can either choose <code>ONE_TO_ONE</code> or
890
+ * <code>MANY_TO_MANY</code>.</p>
891
+ */
892
+ AttributeMatchingModel: AttributeMatchingModel | string | undefined;
893
+ /**
894
+ * <p>The <code>Address</code> type. You can choose from <code>Address</code>,
895
+ * <code>BusinessAddress</code>, <code>MaillingAddress</code>, and
896
+ * <code>ShippingAddress</code>.</p>
897
+ * <p>You only can use the Address type in the <code>MatchingRule</code>. For example, if you
898
+ * want to match profile based on <code>BusinessAddress.City</code> or
899
+ * <code>MaillingAddress.City</code>, you need to choose the <code>BusinessAddress</code>
900
+ * and the <code>MaillingAddress</code> to represent the Address type and specify the
901
+ * <code>Address.City</code> on the matching rule.</p>
902
+ */
903
+ Address?: string[];
904
+ /**
905
+ * <p>The <code>PhoneNumber</code> type. You can choose from <code>PhoneNumber</code>,
906
+ * <code>HomePhoneNumber</code>, and <code>MobilePhoneNumber</code>.</p>
907
+ * <p>You only can use the <code>PhoneNumber</code> type in the <code>MatchingRule</code>. For
908
+ * example, if you want to match a profile based on <code>Phone</code> or
909
+ * <code>HomePhone</code>, you need to choose the <code>Phone</code> and the
910
+ * <code>HomePhone</code> to represent the <code>PhoneNumber</code> type and only specify
911
+ * the <code>PhoneNumber</code> on the matching rule.</p>
912
+ */
913
+ PhoneNumber?: string[];
914
+ /**
915
+ * <p>The <code>Email</code> type. You can choose from <code>EmailAddress</code>,
916
+ * <code>BusinessEmailAddress</code> and <code>PersonalEmailAddress</code>.</p>
917
+ * <p>You only can use the <code>EmailAddress</code> type in the <code>MatchingRule</code>.
918
+ * For example, if you want to match profile based on <code>PersonalEmailAddress</code> or
919
+ * <code>BusinessEmailAddress</code>, you need to choose the
920
+ * <code>PersonalEmailAddress</code> and the <code>BusinessEmailAddress</code> to represent
921
+ * the <code>EmailAddress</code> type and only specify the <code>EmailAddress</code> on the
922
+ * matching rule.</p>
923
+ */
924
+ EmailAddress?: string[];
925
+ }
827
926
  /**
828
927
  * @public
829
928
  * @enum
@@ -1204,6 +1303,115 @@ export interface MatchingRequest {
1204
1303
  */
1205
1304
  ExportingConfig?: ExportingConfig;
1206
1305
  }
1306
+ /**
1307
+ * @public
1308
+ * <p>Specifies how does the rule-based matching process should match profiles. You can choose
1309
+ * from the following attributes to build the matching Rule:</p>
1310
+ * <ul>
1311
+ * <li>
1312
+ * <p>AccountNumber</p>
1313
+ * </li>
1314
+ * <li>
1315
+ * <p>Address.Address</p>
1316
+ * </li>
1317
+ * <li>
1318
+ * <p>Address.City</p>
1319
+ * </li>
1320
+ * <li>
1321
+ * <p>Address.Country</p>
1322
+ * </li>
1323
+ * <li>
1324
+ * <p>Address.County</p>
1325
+ * </li>
1326
+ * <li>
1327
+ * <p>Address.PostalCode</p>
1328
+ * </li>
1329
+ * <li>
1330
+ * <p>Address.State</p>
1331
+ * </li>
1332
+ * <li>
1333
+ * <p>Address.Province</p>
1334
+ * </li>
1335
+ * <li>
1336
+ * <p>BirthDate</p>
1337
+ * </li>
1338
+ * <li>
1339
+ * <p>BusinessName</p>
1340
+ * </li>
1341
+ * <li>
1342
+ * <p>EmailAddress</p>
1343
+ * </li>
1344
+ * <li>
1345
+ * <p>FirstName</p>
1346
+ * </li>
1347
+ * <li>
1348
+ * <p>Gender</p>
1349
+ * </li>
1350
+ * <li>
1351
+ * <p>LastName</p>
1352
+ * </li>
1353
+ * <li>
1354
+ * <p>MiddleName</p>
1355
+ * </li>
1356
+ * <li>
1357
+ * <p>PhoneNumber</p>
1358
+ * </li>
1359
+ * <li>
1360
+ * <p>Any customized profile attributes that start with the <code>Attributes</code>
1361
+ * </p>
1362
+ * </li>
1363
+ * </ul>
1364
+ */
1365
+ export interface MatchingRule {
1366
+ /**
1367
+ * <p>A single rule level of the <code>MatchRules</code>. Configures how the rule-based
1368
+ * matching process should match profiles.</p>
1369
+ */
1370
+ Rule: string[] | undefined;
1371
+ }
1372
+ /**
1373
+ * @public
1374
+ * <p>The request to enable the rule-based matching.</p>
1375
+ */
1376
+ export interface RuleBasedMatchingRequest {
1377
+ /**
1378
+ * <p>The flag that enables the rule-based matching process of duplicate profiles.</p>
1379
+ */
1380
+ Enabled: boolean | undefined;
1381
+ /**
1382
+ * <p>Configures how the rule-based matching process should match profiles. You can have up to 15
1383
+ * <code>MatchingRule</code> in the <code>MatchingRules</code>.</p>
1384
+ */
1385
+ MatchingRules?: MatchingRule[];
1386
+ /**
1387
+ * <p>
1388
+ * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html">MatchingRule</a>
1389
+ * </p>
1390
+ */
1391
+ MaxAllowedRuleLevelForMerging?: number;
1392
+ /**
1393
+ * <p>Indicates the maximum allowed rule level.</p>
1394
+ */
1395
+ MaxAllowedRuleLevelForMatching?: number;
1396
+ /**
1397
+ * <p>Configures information about the <code>AttributeTypesSelector</code> where the
1398
+ * rule-based identity resolution uses to match profiles.</p>
1399
+ */
1400
+ AttributeTypesSelector?: AttributeTypesSelector;
1401
+ /**
1402
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
1403
+ */
1404
+ ConflictResolution?: ConflictResolution;
1405
+ /**
1406
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
1407
+ * <note>
1408
+ * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
1409
+ * Otherwise, you'll get an exception in the API response. For an example policy, see
1410
+ * <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service">Amazon Connect Customer Profiles cross-service confused deputy prevention</a>. </p>
1411
+ * </note>
1412
+ */
1413
+ ExportingConfig?: ExportingConfig;
1414
+ }
1207
1415
  /**
1208
1416
  * @public
1209
1417
  */
@@ -1239,6 +1447,14 @@ export interface CreateDomainRequest {
1239
1447
  * S3.</p>
1240
1448
  */
1241
1449
  Matching?: MatchingRequest;
1450
+ /**
1451
+ * <p>The process of matching duplicate profiles using the Rule-Based matching. If <code>RuleBasedMatching</code> = true,
1452
+ * Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration
1453
+ * in the <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code> and <code>GetSimilarProfiles</code> API to return and
1454
+ * review the results. Also, if you have configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you can
1455
+ * download the results from S3.</p>
1456
+ */
1457
+ RuleBasedMatching?: RuleBasedMatchingRequest;
1242
1458
  /**
1243
1459
  * <p>The tags used to organize, track, or control access for this resource.</p>
1244
1460
  */
@@ -1267,6 +1483,89 @@ export interface MatchingResponse {
1267
1483
  */
1268
1484
  ExportingConfig?: ExportingConfig;
1269
1485
  }
1486
+ /**
1487
+ * @public
1488
+ * @enum
1489
+ */
1490
+ export declare const RuleBasedMatchingStatus: {
1491
+ readonly ACTIVE: "ACTIVE";
1492
+ readonly IN_PROGRESS: "IN_PROGRESS";
1493
+ readonly PENDING: "PENDING";
1494
+ };
1495
+ /**
1496
+ * @public
1497
+ */
1498
+ export type RuleBasedMatchingStatus = (typeof RuleBasedMatchingStatus)[keyof typeof RuleBasedMatchingStatus];
1499
+ /**
1500
+ * @public
1501
+ * <p>The response of the Rule-based matching request.</p>
1502
+ */
1503
+ export interface RuleBasedMatchingResponse {
1504
+ /**
1505
+ * <p>The flag that enables the rule-based matching process of duplicate profiles.</p>
1506
+ */
1507
+ Enabled?: boolean;
1508
+ /**
1509
+ * <p>Configures how the rule-based matching process should match profiles. You can have up to 15
1510
+ * <code>MatchingRule</code> in the <code>MatchingRules</code>.</p>
1511
+ */
1512
+ MatchingRules?: MatchingRule[];
1513
+ /**
1514
+ * <p>PENDING</p>
1515
+ * <ul>
1516
+ * <li>
1517
+ * <p>The first status after configuration a rule-based matching rule. If it is an
1518
+ * existing domain, the rule-based Identity Resolution waits one hour before creating the matching
1519
+ * rule. If it is a new domain, the system will skip the <code>PENDING</code>
1520
+ * stage.</p>
1521
+ * </li>
1522
+ * </ul>
1523
+ * <p>IN_PROGRESS</p>
1524
+ * <ul>
1525
+ * <li>
1526
+ * <p>The system is creating the rule-based matching rule. Under this status, the system
1527
+ * is evaluating the existing data and you can no longer change the Rule-based matching
1528
+ * configuration.</p>
1529
+ * </li>
1530
+ * </ul>
1531
+ * <p>ACTIVE</p>
1532
+ * <ul>
1533
+ * <li>
1534
+ * <p>The rule is ready to use. You can change the rule a day after the status is in
1535
+ * <code>ACTIVE</code>.</p>
1536
+ * </li>
1537
+ * </ul>
1538
+ */
1539
+ Status?: RuleBasedMatchingStatus | string;
1540
+ /**
1541
+ * <p>
1542
+ * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MatchingRule.html">MatchingRule</a>
1543
+ * </p>
1544
+ */
1545
+ MaxAllowedRuleLevelForMerging?: number;
1546
+ /**
1547
+ * <p>Indicates the maximum allowed rule level.</p>
1548
+ */
1549
+ MaxAllowedRuleLevelForMatching?: number;
1550
+ /**
1551
+ * <p>Configures information about the <code>AttributeTypesSelector</code> where the
1552
+ * rule-based identity resolution uses to match profiles.</p>
1553
+ */
1554
+ AttributeTypesSelector?: AttributeTypesSelector;
1555
+ /**
1556
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
1557
+ */
1558
+ ConflictResolution?: ConflictResolution;
1559
+ /**
1560
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
1561
+ * <note>
1562
+ * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
1563
+ * Otherwise, you'll get an exception in the API response. For an example policy, see
1564
+ * <a href="https://docs.aws.amazon.com/connect/latest/adminguide/cross-service-confused-deputy-prevention.html#customer-profiles-cross-service">Amazon Connect Customer Profiles cross-service confused deputy prevention</a>. </p>
1565
+ * </note>
1566
+ */
1567
+ ExportingConfig?: ExportingConfig;
1568
+ }
1270
1569
  /**
1271
1570
  * @public
1272
1571
  */
@@ -1300,6 +1599,14 @@ export interface CreateDomainResponse {
1300
1599
  * S3.</p>
1301
1600
  */
1302
1601
  Matching?: MatchingResponse;
1602
+ /**
1603
+ * <p>The process of matching duplicate profiles using the Rule-Based matching. If <code>RuleBasedMatching</code> = true,
1604
+ * Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration
1605
+ * in the <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code> and <code>GetSimilarProfiles</code> API to return and
1606
+ * review the results. Also, if you have configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you can
1607
+ * download the results from S3.</p>
1608
+ */
1609
+ RuleBasedMatching?: RuleBasedMatchingResponse;
1303
1610
  /**
1304
1611
  * <p>The timestamp of when the domain was created.</p>
1305
1612
  */
@@ -1957,6 +2264,14 @@ export interface GetDomainResponse {
1957
2264
  * S3.</p>
1958
2265
  */
1959
2266
  Matching?: MatchingResponse;
2267
+ /**
2268
+ * <p>The process of matching duplicate profiles using the Rule-Based matching. If <code>RuleBasedMatching</code> = true,
2269
+ * Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration
2270
+ * in the <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code> and <code>GetSimilarProfiles</code> API to return and
2271
+ * review the results. Also, if you have configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you can
2272
+ * download the results from S3.</p>
2273
+ */
2274
+ RuleBasedMatching?: RuleBasedMatchingResponse;
1960
2275
  /**
1961
2276
  * <p>The timestamp of when the domain was created.</p>
1962
2277
  */
@@ -2533,6 +2848,83 @@ export interface GetProfileObjectTypeTemplateResponse {
2533
2848
  */
2534
2849
  Keys?: Record<string, ObjectTypeKey[]>;
2535
2850
  }
2851
+ /**
2852
+ * @public
2853
+ * @enum
2854
+ */
2855
+ export declare const MatchType: {
2856
+ readonly ML_BASED_MATCHING: "ML_BASED_MATCHING";
2857
+ readonly RULE_BASED_MATCHING: "RULE_BASED_MATCHING";
2858
+ };
2859
+ /**
2860
+ * @public
2861
+ */
2862
+ export type MatchType = (typeof MatchType)[keyof typeof MatchType];
2863
+ /**
2864
+ * @public
2865
+ */
2866
+ export interface GetSimilarProfilesRequest {
2867
+ /**
2868
+ * <p>The pagination token from the previous <code>GetSimilarProfiles</code> API call.</p>
2869
+ */
2870
+ NextToken?: string;
2871
+ /**
2872
+ * <p>The maximum number of objects returned per page.</p>
2873
+ */
2874
+ MaxResults?: number;
2875
+ /**
2876
+ * <p>The unique name of the domain.</p>
2877
+ */
2878
+ DomainName: string | undefined;
2879
+ /**
2880
+ * <p>Specify the type of matching to get similar profiles for.</p>
2881
+ */
2882
+ MatchType: MatchType | string | undefined;
2883
+ /**
2884
+ * <p>The string indicating the search key to be used.</p>
2885
+ */
2886
+ SearchKey: string | undefined;
2887
+ /**
2888
+ * <p>The string based on <code>SearchKey</code> to be searched for similar profiles.</p>
2889
+ */
2890
+ SearchValue: string | undefined;
2891
+ }
2892
+ /**
2893
+ * @public
2894
+ */
2895
+ export interface GetSimilarProfilesResponse {
2896
+ /**
2897
+ * <p>Set of <code>profileId</code>s that belong to the same matching group.</p>
2898
+ */
2899
+ ProfileIds?: string[];
2900
+ /**
2901
+ * <p>The string <code>matchId</code> that the similar profiles belong to.</p>
2902
+ */
2903
+ MatchId?: string;
2904
+ /**
2905
+ * <p>Specify the type of matching to get similar profiles for.</p>
2906
+ */
2907
+ MatchType?: MatchType | string;
2908
+ /**
2909
+ * <p>The integer rule level that the profiles matched on.</p>
2910
+ */
2911
+ RuleLevel?: number;
2912
+ /**
2913
+ * <p>It only has value when the <code>MatchType</code> is <code>ML_BASED_MATCHING</code>.A
2914
+ * number between 0 and 1, where a higher score means higher similarity. Examining match
2915
+ * confidence scores lets you distinguish between groups of similar records in which the
2916
+ * system is highly confident (which you may decide to merge), groups of similar records about
2917
+ * which the system is uncertain (which you may decide to have reviewed by a human), and
2918
+ * groups of similar records that the system deems to be unlikely (which you may decide to
2919
+ * reject). Given confidence scores vary as per the data input, it should not be used as an
2920
+ * absolute measure of matching quality.</p>
2921
+ */
2922
+ ConfidenceScore?: number;
2923
+ /**
2924
+ * <p>The pagination token from the previous <code>GetSimilarProfiles</code> API call.</p>
2925
+ */
2926
+ NextToken?: string;
2927
+ }
2536
2928
  /**
2537
2929
  * @public
2538
2930
  */
@@ -3249,6 +3641,38 @@ export interface ListProfileObjectTypeTemplatesResponse {
3249
3641
  */
3250
3642
  NextToken?: string;
3251
3643
  }
3644
+ /**
3645
+ * @public
3646
+ */
3647
+ export interface ListRuleBasedMatchesRequest {
3648
+ /**
3649
+ * <p>The pagination token from the previous <code>ListRuleBasedMatches</code> API
3650
+ * call.</p>
3651
+ */
3652
+ NextToken?: string;
3653
+ /**
3654
+ * <p>The maximum number of <code>MatchIds</code> returned per page.</p>
3655
+ */
3656
+ MaxResults?: number;
3657
+ /**
3658
+ * <p>The unique name of the domain.</p>
3659
+ */
3660
+ DomainName: string | undefined;
3661
+ }
3662
+ /**
3663
+ * @public
3664
+ */
3665
+ export interface ListRuleBasedMatchesResponse {
3666
+ /**
3667
+ * <p>The list of <code>MatchIds</code> for the given domain.</p>
3668
+ */
3669
+ MatchIds?: string[];
3670
+ /**
3671
+ * <p>The pagination token from the previous <code>ListRuleBasedMatches</code> API
3672
+ * call.</p>
3673
+ */
3674
+ NextToken?: string;
3675
+ }
3252
3676
  /**
3253
3677
  * @public
3254
3678
  */
@@ -4058,6 +4482,16 @@ export interface UpdateDomainRequest {
4058
4482
  * S3.</p>
4059
4483
  */
4060
4484
  Matching?: MatchingRequest;
4485
+ /**
4486
+ * <p>The process of matching duplicate profiles using the rule-Based matching. If
4487
+ * <code>RuleBasedMatching</code> = true, Amazon Connect Customer Profiles will start
4488
+ * to match and merge your profiles according to your configuration in the
4489
+ * <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code>
4490
+ * and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have
4491
+ * configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you
4492
+ * can download the results from S3.</p>
4493
+ */
4494
+ RuleBasedMatching?: RuleBasedMatchingRequest;
4061
4495
  /**
4062
4496
  * <p>The tags used to organize, track, or control access for this resource.</p>
4063
4497
  */
@@ -4096,6 +4530,16 @@ export interface UpdateDomainResponse {
4096
4530
  * S3.</p>
4097
4531
  */
4098
4532
  Matching?: MatchingResponse;
4533
+ /**
4534
+ * <p>The process of matching duplicate profiles using the rule-Based matching. If
4535
+ * <code>RuleBasedMatching</code> = true, Amazon Connect Customer Profiles will start
4536
+ * to match and merge your profiles according to your configuration in the
4537
+ * <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code>
4538
+ * and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have
4539
+ * configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you
4540
+ * can download the results from S3.</p>
4541
+ */
4542
+ RuleBasedMatching?: RuleBasedMatchingResponse;
4099
4543
  /**
4100
4544
  * <p>The timestamp of when the domain was created.</p>
4101
4545
  */
@@ -25,6 +25,7 @@ import { GetIntegrationCommandInput, GetIntegrationCommandOutput } from "../comm
25
25
  import { GetMatchesCommandInput, GetMatchesCommandOutput } from "../commands/GetMatchesCommand";
26
26
  import { GetProfileObjectTypeCommandInput, GetProfileObjectTypeCommandOutput } from "../commands/GetProfileObjectTypeCommand";
27
27
  import { GetProfileObjectTypeTemplateCommandInput, GetProfileObjectTypeTemplateCommandOutput } from "../commands/GetProfileObjectTypeTemplateCommand";
28
+ import { GetSimilarProfilesCommandInput, GetSimilarProfilesCommandOutput } from "../commands/GetSimilarProfilesCommand";
28
29
  import { GetWorkflowCommandInput, GetWorkflowCommandOutput } from "../commands/GetWorkflowCommand";
29
30
  import { GetWorkflowStepsCommandInput, GetWorkflowStepsCommandOutput } from "../commands/GetWorkflowStepsCommand";
30
31
  import { ListAccountIntegrationsCommandInput, ListAccountIntegrationsCommandOutput } from "../commands/ListAccountIntegrationsCommand";
@@ -37,6 +38,7 @@ import { ListIntegrationsCommandInput, ListIntegrationsCommandOutput } from "../
37
38
  import { ListProfileObjectsCommandInput, ListProfileObjectsCommandOutput } from "../commands/ListProfileObjectsCommand";
38
39
  import { ListProfileObjectTypesCommandInput, ListProfileObjectTypesCommandOutput } from "../commands/ListProfileObjectTypesCommand";
39
40
  import { ListProfileObjectTypeTemplatesCommandInput, ListProfileObjectTypeTemplatesCommandOutput } from "../commands/ListProfileObjectTypeTemplatesCommand";
41
+ import { ListRuleBasedMatchesCommandInput, ListRuleBasedMatchesCommandOutput } from "../commands/ListRuleBasedMatchesCommand";
40
42
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "../commands/ListTagsForResourceCommand";
41
43
  import { ListWorkflowsCommandInput, ListWorkflowsCommandOutput } from "../commands/ListWorkflowsCommand";
42
44
  import { MergeProfilesCommandInput, MergeProfilesCommandOutput } from "../commands/MergeProfilesCommand";
@@ -149,6 +151,10 @@ export declare const se_GetProfileObjectTypeCommand: (input: GetProfileObjectTyp
149
151
  * serializeAws_restJson1GetProfileObjectTypeTemplateCommand
150
152
  */
151
153
  export declare const se_GetProfileObjectTypeTemplateCommand: (input: GetProfileObjectTypeTemplateCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
154
+ /**
155
+ * serializeAws_restJson1GetSimilarProfilesCommand
156
+ */
157
+ export declare const se_GetSimilarProfilesCommand: (input: GetSimilarProfilesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
152
158
  /**
153
159
  * serializeAws_restJson1GetWorkflowCommand
154
160
  */
@@ -197,6 +203,10 @@ export declare const se_ListProfileObjectTypesCommand: (input: ListProfileObject
197
203
  * serializeAws_restJson1ListProfileObjectTypeTemplatesCommand
198
204
  */
199
205
  export declare const se_ListProfileObjectTypeTemplatesCommand: (input: ListProfileObjectTypeTemplatesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
206
+ /**
207
+ * serializeAws_restJson1ListRuleBasedMatchesCommand
208
+ */
209
+ export declare const se_ListRuleBasedMatchesCommand: (input: ListRuleBasedMatchesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
200
210
  /**
201
211
  * serializeAws_restJson1ListTagsForResourceCommand
202
212
  */
@@ -345,6 +355,10 @@ export declare const de_GetProfileObjectTypeCommand: (output: __HttpResponse, co
345
355
  * deserializeAws_restJson1GetProfileObjectTypeTemplateCommand
346
356
  */
347
357
  export declare const de_GetProfileObjectTypeTemplateCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetProfileObjectTypeTemplateCommandOutput>;
358
+ /**
359
+ * deserializeAws_restJson1GetSimilarProfilesCommand
360
+ */
361
+ export declare const de_GetSimilarProfilesCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetSimilarProfilesCommandOutput>;
348
362
  /**
349
363
  * deserializeAws_restJson1GetWorkflowCommand
350
364
  */
@@ -393,6 +407,10 @@ export declare const de_ListProfileObjectTypesCommand: (output: __HttpResponse,
393
407
  * deserializeAws_restJson1ListProfileObjectTypeTemplatesCommand
394
408
  */
395
409
  export declare const de_ListProfileObjectTypeTemplatesCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListProfileObjectTypeTemplatesCommandOutput>;
410
+ /**
411
+ * deserializeAws_restJson1ListRuleBasedMatchesCommand
412
+ */
413
+ export declare const de_ListRuleBasedMatchesCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListRuleBasedMatchesCommandOutput>;
396
414
  /**
397
415
  * deserializeAws_restJson1ListTagsForResourceCommand
398
416
  */