@aws-sdk/client-customer-profiles 3.41.0 → 3.46.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 (40) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist-cjs/CustomerProfiles.js +45 -0
  3. package/dist-cjs/commands/GetAutoMergingPreviewCommand.js +36 -0
  4. package/dist-cjs/commands/GetIdentityResolutionJobCommand.js +36 -0
  5. package/dist-cjs/commands/ListIdentityResolutionJobsCommand.js +36 -0
  6. package/dist-cjs/commands/index.js +3 -0
  7. package/dist-cjs/endpoints.js +1 -0
  8. package/dist-cjs/models/models_0.js +125 -3
  9. package/dist-cjs/protocols/Aws_restJson1.js +658 -2
  10. package/dist-cjs/runtimeConfig.js +0 -2
  11. package/dist-es/CustomerProfiles.js +45 -0
  12. package/dist-es/commands/GetAutoMergingPreviewCommand.js +39 -0
  13. package/dist-es/commands/GetIdentityResolutionJobCommand.js +39 -0
  14. package/dist-es/commands/ListIdentityResolutionJobsCommand.js +39 -0
  15. package/dist-es/commands/index.js +3 -0
  16. package/dist-es/endpoints.js +1 -0
  17. package/dist-es/models/models_0.js +90 -0
  18. package/dist-es/protocols/Aws_restJson1.js +689 -6
  19. package/dist-es/runtimeConfig.js +0 -2
  20. package/dist-types/CustomerProfiles.d.ts +50 -6
  21. package/dist-types/CustomerProfilesClient.d.ts +5 -2
  22. package/dist-types/commands/CreateDomainCommand.d.ts +2 -0
  23. package/dist-types/commands/GetAutoMergingPreviewCommand.d.ts +48 -0
  24. package/dist-types/commands/GetIdentityResolutionJobCommand.d.ts +37 -0
  25. package/dist-types/commands/GetMatchesCommand.d.ts +8 -4
  26. package/dist-types/commands/ListIdentityResolutionJobsCommand.d.ts +36 -0
  27. package/dist-types/commands/MergeProfilesCommand.d.ts +1 -2
  28. package/dist-types/commands/UpdateDomainCommand.d.ts +2 -0
  29. package/dist-types/commands/index.d.ts +3 -0
  30. package/dist-types/models/models_0.d.ts +616 -35
  31. package/dist-types/protocols/Aws_restJson1.d.ts +9 -0
  32. package/dist-types/ts3.4/CustomerProfiles.d.ts +15 -0
  33. package/dist-types/ts3.4/CustomerProfilesClient.d.ts +5 -2
  34. package/dist-types/ts3.4/commands/GetAutoMergingPreviewCommand.d.ts +17 -0
  35. package/dist-types/ts3.4/commands/GetIdentityResolutionJobCommand.d.ts +17 -0
  36. package/dist-types/ts3.4/commands/ListIdentityResolutionJobsCommand.d.ts +17 -0
  37. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  38. package/dist-types/ts3.4/models/models_0.d.ts +271 -4
  39. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +9 -0
  40. package/package.json +36 -43
@@ -161,6 +161,85 @@ export declare namespace Address {
161
161
  */
162
162
  const filterSensitiveLog: (obj: Address) => any;
163
163
  }
164
+ export declare enum ConflictResolvingModel {
165
+ RECENCY = "RECENCY",
166
+ SOURCE = "SOURCE"
167
+ }
168
+ /**
169
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
170
+ */
171
+ export interface ConflictResolution {
172
+ /**
173
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
174
+ * <ul>
175
+ * <li>
176
+ * <p>
177
+ * <code>RECENCY</code>: Uses the data that was most recently updated.</p>
178
+ * </li>
179
+ * <li>
180
+ * <p>
181
+ * <code>SOURCE</code>: Uses the data from a specific source. For example, if a
182
+ * company has been aquired or two departments have merged, data from the specified
183
+ * source is used. If two duplicate profiles are from the same source, then
184
+ * <code>RECENCY</code> is used again.</p>
185
+ * </li>
186
+ * </ul>
187
+ */
188
+ ConflictResolvingModel: ConflictResolvingModel | string | undefined;
189
+ /**
190
+ * <p>The <code>ObjectType</code> name that is used to resolve profile merging conflicts when
191
+ * choosing <code>SOURCE</code> as the <code>ConflictResolvingModel</code>.</p>
192
+ */
193
+ SourceName?: string;
194
+ }
195
+ export declare namespace ConflictResolution {
196
+ /**
197
+ * @internal
198
+ */
199
+ const filterSensitiveLog: (obj: ConflictResolution) => any;
200
+ }
201
+ /**
202
+ * <p>The matching criteria to be used during the auto-merging process. </p>
203
+ */
204
+ export interface Consolidation {
205
+ /**
206
+ * <p>A list of matching criteria.</p>
207
+ */
208
+ MatchingAttributesList: string[][] | undefined;
209
+ }
210
+ export declare namespace Consolidation {
211
+ /**
212
+ * @internal
213
+ */
214
+ const filterSensitiveLog: (obj: Consolidation) => any;
215
+ }
216
+ /**
217
+ * <p>Configuration settings for how to perform the auto-merging of profiles.</p>
218
+ */
219
+ export interface AutoMerging {
220
+ /**
221
+ * <p>The flag that enables the auto-merging of duplicate profiles.</p>
222
+ */
223
+ Enabled: boolean | undefined;
224
+ /**
225
+ * <p>A list of matching attributes that represent matching criteria. If two profiles meet at
226
+ * least one of the requirements in the matching attributes list, they will be merged.</p>
227
+ */
228
+ Consolidation?: Consolidation;
229
+ /**
230
+ * <p>How the auto-merging process should resolve conflicts between different profiles. For
231
+ * example, if Profile A and Profile B have the same <code>FirstName</code> and
232
+ * <code>LastName</code> (and that is the matching criteria), which
233
+ * <code>EmailAddress</code> should be used? </p>
234
+ */
235
+ ConflictResolution?: ConflictResolution;
236
+ }
237
+ export declare namespace AutoMerging {
238
+ /**
239
+ * @internal
240
+ */
241
+ const filterSensitiveLog: (obj: AutoMerging) => any;
242
+ }
164
243
  export declare enum MarketoConnectorOperator {
165
244
  ADDITION = "ADDITION",
166
245
  BETWEEN = "BETWEEN",
@@ -294,6 +373,73 @@ export declare namespace ConnectorOperator {
294
373
  */
295
374
  const filterSensitiveLog: (obj: ConnectorOperator) => any;
296
375
  }
376
+ /**
377
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs write result files.</p>
378
+ */
379
+ export interface S3ExportingConfig {
380
+ /**
381
+ * <p>The name of the S3 bucket where Identity Resolution Jobs write result files.</p>
382
+ */
383
+ S3BucketName: string | undefined;
384
+ /**
385
+ * <p>The S3 key name of the location where Identity Resolution Jobs write result files.</p>
386
+ */
387
+ S3KeyName?: string;
388
+ }
389
+ export declare namespace S3ExportingConfig {
390
+ /**
391
+ * @internal
392
+ */
393
+ const filterSensitiveLog: (obj: S3ExportingConfig) => any;
394
+ }
395
+ /**
396
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
397
+ * <note>
398
+ * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
399
+ * Otherwise, you'll get an exception in the API response. For an example policy, see
400
+ * <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>
401
+ * </note>
402
+ */
403
+ export interface ExportingConfig {
404
+ /**
405
+ * <p>The S3 location where Identity Resolution Jobs write result files.</p>
406
+ */
407
+ S3Exporting?: S3ExportingConfig;
408
+ }
409
+ export declare namespace ExportingConfig {
410
+ /**
411
+ * @internal
412
+ */
413
+ const filterSensitiveLog: (obj: ExportingConfig) => any;
414
+ }
415
+ export declare enum JobScheduleDayOfTheWeek {
416
+ FRIDAY = "FRIDAY",
417
+ MONDAY = "MONDAY",
418
+ SATURDAY = "SATURDAY",
419
+ SUNDAY = "SUNDAY",
420
+ THURSDAY = "THURSDAY",
421
+ TUESDAY = "TUESDAY",
422
+ WEDNESDAY = "WEDNESDAY"
423
+ }
424
+ /**
425
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
426
+ */
427
+ export interface JobSchedule {
428
+ /**
429
+ * <p>The day when the Identity Resolution Job should run every week.</p>
430
+ */
431
+ DayOfTheWeek: JobScheduleDayOfTheWeek | string | undefined;
432
+ /**
433
+ * <p>The time when the Identity Resolution Job should run every week.</p>
434
+ */
435
+ Time: string | undefined;
436
+ }
437
+ export declare namespace JobSchedule {
438
+ /**
439
+ * @internal
440
+ */
441
+ const filterSensitiveLog: (obj: JobSchedule) => any;
442
+ }
297
443
  /**
298
444
  * <p>The flag that enables the matching process of duplicate profiles.</p>
299
445
  */
@@ -302,6 +448,19 @@ export interface MatchingRequest {
302
448
  * <p>The flag that enables the matching process of duplicate profiles.</p>
303
449
  */
304
450
  Enabled: boolean | undefined;
451
+ /**
452
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
453
+ */
454
+ JobSchedule?: JobSchedule;
455
+ /**
456
+ * <p>Configuration information about the auto-merging process.</p>
457
+ */
458
+ AutoMerging?: AutoMerging;
459
+ /**
460
+ * <p>Configuration information for exporting Identity Resolution results, for example, to an S3
461
+ * bucket.</p>
462
+ */
463
+ ExportingConfig?: ExportingConfig;
305
464
  }
306
465
  export declare namespace MatchingRequest {
307
466
  /**
@@ -332,10 +491,13 @@ export interface CreateDomainRequest {
332
491
  */
333
492
  DeadLetterQueueUrl?: string;
334
493
  /**
335
- * <p>The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains.
336
- * After that batch process completes, use the
494
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
495
+ * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
496
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
497
+ * <p>After the Identity Resolution Job completes, use the
337
498
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
338
- * API to return and review the results. </p>
499
+ * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
500
+ * S3.</p>
339
501
  */
340
502
  Matching?: MatchingRequest;
341
503
  /**
@@ -359,6 +521,19 @@ export interface MatchingResponse {
359
521
  * <p>The flag that enables the matching process of duplicate profiles.</p>
360
522
  */
361
523
  Enabled?: boolean;
524
+ /**
525
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
526
+ */
527
+ JobSchedule?: JobSchedule;
528
+ /**
529
+ * <p>Configuration information about the auto-merging process.</p>
530
+ */
531
+ AutoMerging?: AutoMerging;
532
+ /**
533
+ * <p>Configuration information for exporting Identity Resolution results, for example, to an S3
534
+ * bucket.</p>
535
+ */
536
+ ExportingConfig?: ExportingConfig;
362
537
  }
363
538
  export declare namespace MatchingResponse {
364
539
  /**
@@ -387,10 +562,13 @@ export interface CreateDomainResponse {
387
562
  */
388
563
  DeadLetterQueueUrl?: string;
389
564
  /**
390
- * <p>The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains.
391
- * After that batch process completes, use the
565
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
566
+ * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
567
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
568
+ * <p>After the Identity Resolution Job completes, use the
392
569
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
393
- * API to return and review the results. </p>
570
+ * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
571
+ * S3.</p>
394
572
  */
395
573
  Matching?: MatchingResponse;
396
574
  /**
@@ -717,6 +895,51 @@ export declare namespace DeleteProfileObjectTypeResponse {
717
895
  */
718
896
  const filterSensitiveLog: (obj: DeleteProfileObjectTypeResponse) => any;
719
897
  }
898
+ export interface GetAutoMergingPreviewRequest {
899
+ /**
900
+ * <p>The unique name of the domain.</p>
901
+ */
902
+ DomainName: string | undefined;
903
+ /**
904
+ * <p>A list of matching attributes that represent matching criteria.</p>
905
+ */
906
+ Consolidation: Consolidation | undefined;
907
+ /**
908
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
909
+ */
910
+ ConflictResolution: ConflictResolution | undefined;
911
+ }
912
+ export declare namespace GetAutoMergingPreviewRequest {
913
+ /**
914
+ * @internal
915
+ */
916
+ const filterSensitiveLog: (obj: GetAutoMergingPreviewRequest) => any;
917
+ }
918
+ export interface GetAutoMergingPreviewResponse {
919
+ /**
920
+ * <p>The unique name of the domain.</p>
921
+ */
922
+ DomainName: string | undefined;
923
+ /**
924
+ * <p>The number of match groups in the domain that have been reviewed in this preview dry
925
+ * run.</p>
926
+ */
927
+ NumberOfMatchesInSample?: number;
928
+ /**
929
+ * <p>The number of profiles found in this preview dry run.</p>
930
+ */
931
+ NumberOfProfilesInSample?: number;
932
+ /**
933
+ * <p>The number of profiles that would be merged if this wasn't a preview dry run.</p>
934
+ */
935
+ NumberOfProfilesWillBeMerged?: number;
936
+ }
937
+ export declare namespace GetAutoMergingPreviewResponse {
938
+ /**
939
+ * @internal
940
+ */
941
+ const filterSensitiveLog: (obj: GetAutoMergingPreviewResponse) => any;
942
+ }
720
943
  export interface GetDomainRequest {
721
944
  /**
722
945
  * <p>The unique name of the domain.</p>
@@ -783,10 +1006,13 @@ export interface GetDomainResponse {
783
1006
  */
784
1007
  Stats?: DomainStats;
785
1008
  /**
786
- * <p>The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains.
787
- * After that batch process completes, use the
1009
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
1010
+ * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
1011
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
1012
+ * <p>After the Identity Resolution Job completes, use the
788
1013
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
789
- * API to return and review the results. </p>
1014
+ * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
1015
+ * S3.</p>
790
1016
  */
791
1017
  Matching?: MatchingResponse;
792
1018
  /**
@@ -810,6 +1036,175 @@ export declare namespace GetDomainResponse {
810
1036
  */
811
1037
  const filterSensitiveLog: (obj: GetDomainResponse) => any;
812
1038
  }
1039
+ export interface GetIdentityResolutionJobRequest {
1040
+ /**
1041
+ * <p>The unique name of the domain.</p>
1042
+ */
1043
+ DomainName: string | undefined;
1044
+ /**
1045
+ * <p>The unique identifier of the Identity Resolution Job.</p>
1046
+ */
1047
+ JobId: string | undefined;
1048
+ }
1049
+ export declare namespace GetIdentityResolutionJobRequest {
1050
+ /**
1051
+ * @internal
1052
+ */
1053
+ const filterSensitiveLog: (obj: GetIdentityResolutionJobRequest) => any;
1054
+ }
1055
+ /**
1056
+ * <p>The S3 location where Identity Resolution Jobs write result files.</p>
1057
+ */
1058
+ export interface S3ExportingLocation {
1059
+ /**
1060
+ * <p>The name of the S3 bucket name where Identity Resolution Jobs write result files.</p>
1061
+ */
1062
+ S3BucketName?: string;
1063
+ /**
1064
+ * <p>The S3 key name of the location where Identity Resolution Jobs write result files.</p>
1065
+ */
1066
+ S3KeyName?: string;
1067
+ }
1068
+ export declare namespace S3ExportingLocation {
1069
+ /**
1070
+ * @internal
1071
+ */
1072
+ const filterSensitiveLog: (obj: S3ExportingLocation) => any;
1073
+ }
1074
+ /**
1075
+ * <p>The S3 location where Identity Resolution Jobs write result files.</p>
1076
+ */
1077
+ export interface ExportingLocation {
1078
+ /**
1079
+ * <p>Information about the S3 location where Identity Resolution Jobs write result files.</p>
1080
+ */
1081
+ S3Exporting?: S3ExportingLocation;
1082
+ }
1083
+ export declare namespace ExportingLocation {
1084
+ /**
1085
+ * @internal
1086
+ */
1087
+ const filterSensitiveLog: (obj: ExportingLocation) => any;
1088
+ }
1089
+ /**
1090
+ * <p>Statistics about the Identity Resolution Job.</p>
1091
+ */
1092
+ export interface JobStats {
1093
+ /**
1094
+ * <p>The number of profiles reviewed.</p>
1095
+ */
1096
+ NumberOfProfilesReviewed?: number;
1097
+ /**
1098
+ * <p>The number of matches found.</p>
1099
+ */
1100
+ NumberOfMatchesFound?: number;
1101
+ /**
1102
+ * <p>The number of merges completed.</p>
1103
+ */
1104
+ NumberOfMergesDone?: number;
1105
+ }
1106
+ export declare namespace JobStats {
1107
+ /**
1108
+ * @internal
1109
+ */
1110
+ const filterSensitiveLog: (obj: JobStats) => any;
1111
+ }
1112
+ export declare enum IdentityResolutionJobStatus {
1113
+ COMPLETED = "COMPLETED",
1114
+ FAILED = "FAILED",
1115
+ FIND_MATCHING = "FIND_MATCHING",
1116
+ MERGING = "MERGING",
1117
+ PARTIAL_SUCCESS = "PARTIAL_SUCCESS",
1118
+ PENDING = "PENDING",
1119
+ PREPROCESSING = "PREPROCESSING"
1120
+ }
1121
+ export interface GetIdentityResolutionJobResponse {
1122
+ /**
1123
+ * <p>The unique name of the domain.</p>
1124
+ */
1125
+ DomainName?: string;
1126
+ /**
1127
+ * <p>The unique identifier of the Identity Resolution Job.</p>
1128
+ */
1129
+ JobId?: string;
1130
+ /**
1131
+ * <p>The status of the Identity Resolution Job.</p>
1132
+ * <ul>
1133
+ * <li>
1134
+ * <p>
1135
+ * <code>PENDING</code>: The Identity Resolution Job is scheduled but has not started yet. If you turn
1136
+ * off the Identity Resolution feature in your domain, jobs in the <code>PENDING</code> state are
1137
+ * deleted.</p>
1138
+ * </li>
1139
+ * <li>
1140
+ * <p>
1141
+ * <code>PREPROCESSING</code>: The Identity Resolution Job is loading your data.</p>
1142
+ * </li>
1143
+ * <li>
1144
+ * <p>
1145
+ * <code>FIND_MATCHING</code>: The Identity Resolution Job is using the machine learning model to
1146
+ * identify profiles that belong to the same matching group.</p>
1147
+ * </li>
1148
+ * <li>
1149
+ * <p>
1150
+ * <code>MERGING</code>: The Identity Resolution Job is merging duplicate profiles.</p>
1151
+ * </li>
1152
+ * <li>
1153
+ * <p>
1154
+ * <code>COMPLETED</code>: The Identity Resolution Job completed successfully.</p>
1155
+ * </li>
1156
+ * <li>
1157
+ * <p>
1158
+ * <code>PARTIAL_SUCCESS</code>: There's a system error and not all of the data is
1159
+ * merged. The Identity Resolution Job writes a message indicating the source of the problem.</p>
1160
+ * </li>
1161
+ * <li>
1162
+ * <p>
1163
+ * <code>FAILED</code>: The Identity Resolution Job did not merge any data. It writes a message
1164
+ * indicating the source of the problem.</p>
1165
+ * </li>
1166
+ * </ul>
1167
+ */
1168
+ Status?: IdentityResolutionJobStatus | string;
1169
+ /**
1170
+ * <p>The error messages that are generated when the Identity Resolution Job runs.</p>
1171
+ */
1172
+ Message?: string;
1173
+ /**
1174
+ * <p>The timestamp of when the Identity Resolution Job was started or will be started.</p>
1175
+ */
1176
+ JobStartTime?: Date;
1177
+ /**
1178
+ * <p>The timestamp of when the Identity Resolution Job was completed.</p>
1179
+ */
1180
+ JobEndTime?: Date;
1181
+ /**
1182
+ * <p>The timestamp of when the Identity Resolution Job was most recently edited.</p>
1183
+ */
1184
+ LastUpdatedAt?: Date;
1185
+ /**
1186
+ * <p>The timestamp of when the Identity Resolution Job will expire.</p>
1187
+ */
1188
+ JobExpirationTime?: Date;
1189
+ /**
1190
+ * <p>Configuration settings for how to perform the auto-merging of profiles.</p>
1191
+ */
1192
+ AutoMerging?: AutoMerging;
1193
+ /**
1194
+ * <p>The S3 location where the Identity Resolution Job writes result files.</p>
1195
+ */
1196
+ ExportingLocation?: ExportingLocation;
1197
+ /**
1198
+ * <p>Statistics about the Identity Resolution Job.</p>
1199
+ */
1200
+ JobStats?: JobStats;
1201
+ }
1202
+ export declare namespace GetIdentityResolutionJobResponse {
1203
+ /**
1204
+ * @internal
1205
+ */
1206
+ const filterSensitiveLog: (obj: GetIdentityResolutionJobResponse) => any;
1207
+ }
813
1208
  export interface GetIntegrationRequest {
814
1209
  /**
815
1210
  * <p>The unique name of the domain.</p>
@@ -838,7 +1233,7 @@ export interface GetIntegrationResponse {
838
1233
  /**
839
1234
  * <p>The name of the profile object type.</p>
840
1235
  */
841
- ObjectTypeName: string | undefined;
1236
+ ObjectTypeName?: string;
842
1237
  /**
843
1238
  * <p>The timestamp of when the domain was created.</p>
844
1239
  */
@@ -853,6 +1248,14 @@ export interface GetIntegrationResponse {
853
1248
  Tags?: {
854
1249
  [key: string]: string;
855
1250
  };
1251
+ /**
1252
+ * <p>A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an <code>ObjectTypeName</code> (template) used to ingest the event.
1253
+ * It supports the following event types: <code>SegmentIdentify</code>, <code>ShopifyCreateCustomers</code>, <code>ShopifyUpdateCustomers</code>, <code>ShopifyCreateDraftOrders</code>,
1254
+ * <code>ShopifyUpdateDraftOrders</code>, <code>ShopifyCreateOrders</code>, and <code>ShopifyUpdatedOrders</code>.</p>
1255
+ */
1256
+ ObjectTypeNames?: {
1257
+ [key: string]: string;
1258
+ };
856
1259
  }
857
1260
  export declare namespace GetIntegrationResponse {
858
1261
  /**
@@ -893,6 +1296,11 @@ export interface MatchItem {
893
1296
  * <p>A list of identifiers for profiles that match.</p>
894
1297
  */
895
1298
  ProfileIds?: string[];
1299
+ /**
1300
+ * <p>A number between 0 and 1 that represents the confidence level of assigning profiles to a
1301
+ * matching group. A score of 1 likely indicates an exact match.</p>
1302
+ */
1303
+ ConfidenceScore?: number;
896
1304
  }
897
1305
  export declare namespace MatchItem {
898
1306
  /**
@@ -977,6 +1385,7 @@ export declare enum StandardIdentifier {
977
1385
  CASE = "CASE",
978
1386
  LOOKUP_ONLY = "LOOKUP_ONLY",
979
1387
  NEW_ONLY = "NEW_ONLY",
1388
+ ORDER = "ORDER",
980
1389
  PROFILE = "PROFILE",
981
1390
  SECONDARY = "SECONDARY",
982
1391
  UNIQUE = "UNIQUE"
@@ -988,13 +1397,13 @@ export declare enum StandardIdentifier {
988
1397
  export interface ObjectTypeKey {
989
1398
  /**
990
1399
  * <p>The types of keys that a ProfileObject can have. Each ProfileObject can have only 1
991
- * UNIQUE key but multiple PROFILE keys. PROFILE, ASSET or CASE means that this key can be used to tie an
992
- * object to a PROFILE, ASSET or CASE respectively. UNIQUE means that it can be used to uniquely identify an object.
993
- * If a key a is marked as SECONDARY, it will be used to search for profiles after all other
994
- * PROFILE keys have been searched. A LOOKUP_ONLY key is only used to match a profile but is
995
- * not persisted to be used for searching of the profile. A NEW_ONLY key is only used if the
996
- * profile does not already exist before the object is ingested, otherwise it is only used for
997
- * matching objects to profiles.</p>
1400
+ * UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be
1401
+ * used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be
1402
+ * used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to
1403
+ * search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is
1404
+ * only used to match a profile but is not persisted to be used for searching of the profile.
1405
+ * A NEW_ONLY key is only used if the profile does not already exist before the object is
1406
+ * ingested, otherwise it is only used for matching objects to profiles.</p>
998
1407
  */
999
1408
  StandardIdentifiers?: (StandardIdentifier | string)[];
1000
1409
  /**
@@ -1038,6 +1447,11 @@ export interface GetProfileObjectTypeResponse {
1038
1447
  * is found, then the service creates a new standard profile.</p>
1039
1448
  */
1040
1449
  AllowProfileCreation?: boolean;
1450
+ /**
1451
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set
1452
+ * up.</p>
1453
+ */
1454
+ SourceLastUpdatedTimestampFormat?: string;
1041
1455
  /**
1042
1456
  * <p>A map of the name and ObjectType field.</p>
1043
1457
  */
@@ -1104,6 +1518,11 @@ export interface GetProfileObjectTypeTemplateResponse {
1104
1518
  * is found, then the service creates a new standard profile.</p>
1105
1519
  */
1106
1520
  AllowProfileCreation?: boolean;
1521
+ /**
1522
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set
1523
+ * up.</p>
1524
+ */
1525
+ SourceLastUpdatedTimestampFormat?: string;
1107
1526
  /**
1108
1527
  * <p>A map of the name and ObjectType field.</p>
1109
1528
  */
@@ -1158,7 +1577,7 @@ export interface ListIntegrationItem {
1158
1577
  /**
1159
1578
  * <p>The name of the profile object type.</p>
1160
1579
  */
1161
- ObjectTypeName: string | undefined;
1580
+ ObjectTypeName?: string;
1162
1581
  /**
1163
1582
  * <p>The timestamp of when the domain was created.</p>
1164
1583
  */
@@ -1173,6 +1592,14 @@ export interface ListIntegrationItem {
1173
1592
  Tags?: {
1174
1593
  [key: string]: string;
1175
1594
  };
1595
+ /**
1596
+ * <p>A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an <code>ObjectTypeName</code> (template) used to ingest the event.
1597
+ * It supports the following event types: <code>SegmentIdentify</code>, <code>ShopifyCreateCustomers</code>, <code>ShopifyUpdateCustomers</code>, <code>ShopifyCreateDraftOrders</code>,
1598
+ * <code>ShopifyUpdateDraftOrders</code>, <code>ShopifyCreateOrders</code>, and <code>ShopifyUpdatedOrders</code>.</p>
1599
+ */
1600
+ ObjectTypeNames?: {
1601
+ [key: string]: string;
1602
+ };
1176
1603
  }
1177
1604
  export declare namespace ListIntegrationItem {
1178
1605
  /**
@@ -1257,6 +1684,121 @@ export declare namespace ListDomainsResponse {
1257
1684
  */
1258
1685
  const filterSensitiveLog: (obj: ListDomainsResponse) => any;
1259
1686
  }
1687
+ export interface ListIdentityResolutionJobsRequest {
1688
+ /**
1689
+ * <p>The unique name of the domain.</p>
1690
+ */
1691
+ DomainName: string | undefined;
1692
+ /**
1693
+ * <p>The token for the next set of results. Use the value returned in the previous
1694
+ * response in the next request to retrieve the next set of results.</p>
1695
+ */
1696
+ NextToken?: string;
1697
+ /**
1698
+ * <p>The maximum number of results to return per page.</p>
1699
+ */
1700
+ MaxResults?: number;
1701
+ }
1702
+ export declare namespace ListIdentityResolutionJobsRequest {
1703
+ /**
1704
+ * @internal
1705
+ */
1706
+ const filterSensitiveLog: (obj: ListIdentityResolutionJobsRequest) => any;
1707
+ }
1708
+ /**
1709
+ * <p>Information about the Identity Resolution Job.</p>
1710
+ */
1711
+ export interface IdentityResolutionJob {
1712
+ /**
1713
+ * <p>The unique name of the domain.</p>
1714
+ */
1715
+ DomainName?: string;
1716
+ /**
1717
+ * <p>The unique identifier of the Identity Resolution Job.</p>
1718
+ */
1719
+ JobId?: string;
1720
+ /**
1721
+ * <p>The status of the Identity Resolution Job.</p>
1722
+ * <ul>
1723
+ * <li>
1724
+ * <p>
1725
+ * <code>PENDING</code>: The Identity Resolution Job is scheduled but has not started yet. If you turn
1726
+ * off the Identity Resolution feature in your domain, jobs in the <code>PENDING</code> state are
1727
+ * deleted.</p>
1728
+ * </li>
1729
+ * <li>
1730
+ * <p>
1731
+ * <code>PREPROCESSING</code>: The Identity Resolution Job is loading your data.</p>
1732
+ * </li>
1733
+ * <li>
1734
+ * <p>
1735
+ * <code>FIND_MATCHING</code>: The Identity Resolution Job is using the machine learning model to
1736
+ * identify profiles that belong to the same matching group.</p>
1737
+ * </li>
1738
+ * <li>
1739
+ * <p>
1740
+ * <code>MERGING</code>: The Identity Resolution Job is merging duplicate profiles.</p>
1741
+ * </li>
1742
+ * <li>
1743
+ * <p>
1744
+ * <code>COMPLETED</code>: The Identity Resolution Job completed successfully.</p>
1745
+ * </li>
1746
+ * <li>
1747
+ * <p>
1748
+ * <code>PARTIAL_SUCCESS</code>: There's a system error and not all of the data is
1749
+ * merged. The Identity Resolution Job writes a message indicating the source of the problem.</p>
1750
+ * </li>
1751
+ * <li>
1752
+ * <p>
1753
+ * <code>FAILED</code>: The Identity Resolution Job did not merge any data. It writes a message
1754
+ * indicating the source of the problem.</p>
1755
+ * </li>
1756
+ * </ul>
1757
+ */
1758
+ Status?: IdentityResolutionJobStatus | string;
1759
+ /**
1760
+ * <p>The timestamp of when the job was started or will be started.</p>
1761
+ */
1762
+ JobStartTime?: Date;
1763
+ /**
1764
+ * <p>The timestamp of when the job was completed.</p>
1765
+ */
1766
+ JobEndTime?: Date;
1767
+ /**
1768
+ * <p>Statistics about an Identity Resolution Job.</p>
1769
+ */
1770
+ JobStats?: JobStats;
1771
+ /**
1772
+ * <p>The S3 location where the Identity Resolution Job writes result files.</p>
1773
+ */
1774
+ ExportingLocation?: ExportingLocation;
1775
+ /**
1776
+ * <p>The error messages that are generated when the Identity Resolution Job runs.</p>
1777
+ */
1778
+ Message?: string;
1779
+ }
1780
+ export declare namespace IdentityResolutionJob {
1781
+ /**
1782
+ * @internal
1783
+ */
1784
+ const filterSensitiveLog: (obj: IdentityResolutionJob) => any;
1785
+ }
1786
+ export interface ListIdentityResolutionJobsResponse {
1787
+ /**
1788
+ * <p>A list of Identity Resolution Jobs.</p>
1789
+ */
1790
+ IdentityResolutionJobsList?: IdentityResolutionJob[];
1791
+ /**
1792
+ * <p>If there are additional results, this is the token for the next set of results.</p>
1793
+ */
1794
+ NextToken?: string;
1795
+ }
1796
+ export declare namespace ListIdentityResolutionJobsResponse {
1797
+ /**
1798
+ * @internal
1799
+ */
1800
+ const filterSensitiveLog: (obj: ListIdentityResolutionJobsResponse) => any;
1801
+ }
1260
1802
  export interface ListIntegrationsRequest {
1261
1803
  /**
1262
1804
  * <p>The unique name of the domain.</p>
@@ -1294,13 +1836,16 @@ export declare namespace ListIntegrationsResponse {
1294
1836
  const filterSensitiveLog: (obj: ListIntegrationsResponse) => any;
1295
1837
  }
1296
1838
  /**
1297
- * <p>The filter applied to ListProfileObjects response to include profile objects with the specified index values.
1298
- * This filter is only supported for ObjectTypeName _asset and _case.</p>
1839
+ * <p>The filter applied to ListProfileObjects response to include profile objects with the
1840
+ * specified index values. This filter is only supported for ObjectTypeName _asset, _case and
1841
+ * _order.</p>
1299
1842
  */
1300
1843
  export interface ObjectFilter {
1301
1844
  /**
1302
- * <p>A searchable identifier of a standard profile object. The predefined keys you can use to search for _asset include: _assetId, _assetName, _serialNumber.
1303
- * The predefined keys you can use to search for _case include: _caseId.</p>
1845
+ * <p>A searchable identifier of a standard profile object. The predefined keys you can use to
1846
+ * search for _asset include: _assetId, _assetName, _serialNumber. The predefined keys you can
1847
+ * use to search for _case include: _caseId. The predefined keys you can use to search for
1848
+ * _order include: _orderId.</p>
1304
1849
  */
1305
1850
  KeyName: string | undefined;
1306
1851
  /**
@@ -1336,8 +1881,8 @@ export interface ListProfileObjectsRequest {
1336
1881
  */
1337
1882
  ProfileId: string | undefined;
1338
1883
  /**
1339
- * <p>Applies a filter to the response to include profile objects with the specified index values.
1340
- * This filter is only supported for ObjectTypeName _asset and _case.</p>
1884
+ * <p>Applies a filter to the response to include profile objects with the specified index
1885
+ * values. This filter is only supported for ObjectTypeName _asset, _case and _order.</p>
1341
1886
  */
1342
1887
  ObjectFilter?: ObjectFilter;
1343
1888
  }
@@ -2052,7 +2597,7 @@ export interface PutIntegrationRequest {
2052
2597
  /**
2053
2598
  * <p>The name of the profile object type.</p>
2054
2599
  */
2055
- ObjectTypeName: string | undefined;
2600
+ ObjectTypeName?: string;
2056
2601
  /**
2057
2602
  * <p>The tags used to organize, track, or control access for this resource.</p>
2058
2603
  */
@@ -2064,6 +2609,14 @@ export interface PutIntegrationRequest {
2064
2609
  * source.</p>
2065
2610
  */
2066
2611
  FlowDefinition?: FlowDefinition;
2612
+ /**
2613
+ * <p>A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an <code>ObjectTypeName</code> (template) used to ingest the event.
2614
+ * It supports the following event types: <code>SegmentIdentify</code>, <code>ShopifyCreateCustomers</code>, <code>ShopifyUpdateCustomers</code>, <code>ShopifyCreateDraftOrders</code>,
2615
+ * <code>ShopifyUpdateDraftOrders</code>, <code>ShopifyCreateOrders</code>, and <code>ShopifyUpdatedOrders</code>.</p>
2616
+ */
2617
+ ObjectTypeNames?: {
2618
+ [key: string]: string;
2619
+ };
2067
2620
  }
2068
2621
  export declare namespace PutIntegrationRequest {
2069
2622
  /**
@@ -2083,7 +2636,7 @@ export interface PutIntegrationResponse {
2083
2636
  /**
2084
2637
  * <p>The name of the profile object type.</p>
2085
2638
  */
2086
- ObjectTypeName: string | undefined;
2639
+ ObjectTypeName?: string;
2087
2640
  /**
2088
2641
  * <p>The timestamp of when the domain was created.</p>
2089
2642
  */
@@ -2098,6 +2651,14 @@ export interface PutIntegrationResponse {
2098
2651
  Tags?: {
2099
2652
  [key: string]: string;
2100
2653
  };
2654
+ /**
2655
+ * <p>A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an <code>ObjectTypeName</code> (template) used to ingest the event.
2656
+ * It supports the following event types: <code>SegmentIdentify</code>, <code>ShopifyCreateCustomers</code>, <code>ShopifyUpdateCustomers</code>, <code>ShopifyCreateDraftOrders</code>,
2657
+ * <code>ShopifyUpdateDraftOrders</code>, <code>ShopifyCreateOrders</code>, and <code>ShopifyUpdatedOrders</code>.</p>
2658
+ */
2659
+ ObjectTypeNames?: {
2660
+ [key: string]: string;
2661
+ };
2101
2662
  }
2102
2663
  export declare namespace PutIntegrationResponse {
2103
2664
  /**
@@ -2171,6 +2732,11 @@ export interface PutProfileObjectTypeRequest {
2171
2732
  * is found, then the service creates a new standard profile.</p>
2172
2733
  */
2173
2734
  AllowProfileCreation?: boolean;
2735
+ /**
2736
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set up.
2737
+ * </p>
2738
+ */
2739
+ SourceLastUpdatedTimestampFormat?: string;
2174
2740
  /**
2175
2741
  * <p>A map of the name and ObjectType field.</p>
2176
2742
  */
@@ -2226,6 +2792,12 @@ export interface PutProfileObjectTypeResponse {
2226
2792
  * is found, then the service creates a new standard profile.</p>
2227
2793
  */
2228
2794
  AllowProfileCreation?: boolean;
2795
+ /**
2796
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set up in
2797
+ * fields that were parsed using <a href="https://docs.oracle.com/javase/10/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a>. If you have <code>sourceLastUpdatedTimestamp</code> in your
2798
+ * field, you must set up <code>sourceLastUpdatedTimestampFormat</code>.</p>
2799
+ */
2800
+ SourceLastUpdatedTimestampFormat?: string;
2229
2801
  /**
2230
2802
  * <p>A map of the name and ObjectType field.</p>
2231
2803
  */
@@ -2273,9 +2845,12 @@ export interface SearchProfilesRequest {
2273
2845
  */
2274
2846
  DomainName: string | undefined;
2275
2847
  /**
2276
- * <p>A searchable identifier of a customer profile. The predefined keys you can use to search include: _account, _profileId,
2277
- * _fullName, _phone, _email, _ctrContactId, _marketoLeadId, _salesforceAccountId,
2278
- * _salesforceContactId, _zendeskUserId, _zendeskExternalId, _serviceNowSystemId.</p>
2848
+ * <p>A searchable identifier of a customer profile. The predefined keys you can use
2849
+ * to search include: _account, _profileId, _assetId, _caseId, _orderId, _fullName, _phone,
2850
+ * _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId,
2851
+ * _salesforceAssetId, _zendeskUserId, _zendeskExternalId, _zendeskTicketId,
2852
+ * _serviceNowSystemId, _serviceNowIncidentId, _segmentUserId, _shopifyCustomerId,
2853
+ * _shopifyOrderId.</p>
2279
2854
  */
2280
2855
  KeyName: string | undefined;
2281
2856
  /**
@@ -2484,10 +3059,13 @@ export interface UpdateDomainRequest {
2484
3059
  */
2485
3060
  DeadLetterQueueUrl?: string;
2486
3061
  /**
2487
- * <p>The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains.
2488
- * After that batch process completes, use the
3062
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
3063
+ * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
3064
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
3065
+ * <p>After the Identity Resolution Job completes, use the
2489
3066
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
2490
- * API to return and review the results. </p>
3067
+ * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
3068
+ * S3.</p>
2491
3069
  */
2492
3070
  Matching?: MatchingRequest;
2493
3071
  /**
@@ -2524,10 +3102,13 @@ export interface UpdateDomainResponse {
2524
3102
  */
2525
3103
  DeadLetterQueueUrl?: string;
2526
3104
  /**
2527
- * <p>The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process every Saturday at 12AM UTC to detect duplicate profiles in your domains.
2528
- * After that batch process completes, use the
3105
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
3106
+ * batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every
3107
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
3108
+ * <p>After the Identity Resolution Job completes, use the
2529
3109
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
2530
- * API to return and review the results. </p>
3110
+ * API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from
3111
+ * S3.</p>
2531
3112
  */
2532
3113
  Matching?: MatchingResponse;
2533
3114
  /**