@aws-sdk/client-customer-profiles 3.42.0 → 3.47.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 (48) hide show
  1. package/CHANGELOG.md +50 -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 +123 -31
  9. package/dist-cjs/protocols/Aws_restJson1.js +658 -2
  10. package/dist-cjs/runtimeConfig.browser.js +7 -2
  11. package/dist-cjs/runtimeConfig.js +9 -3
  12. package/dist-es/CustomerProfiles.js +45 -0
  13. package/dist-es/commands/GetAutoMergingPreviewCommand.js +39 -0
  14. package/dist-es/commands/GetIdentityResolutionJobCommand.js +39 -0
  15. package/dist-es/commands/ListIdentityResolutionJobsCommand.js +39 -0
  16. package/dist-es/commands/index.js +3 -0
  17. package/dist-es/endpoints.js +1 -0
  18. package/dist-es/models/models_0.js +90 -20
  19. package/dist-es/protocols/Aws_restJson1.js +689 -6
  20. package/dist-es/runtimeConfig.browser.js +12 -3
  21. package/dist-es/runtimeConfig.js +13 -6
  22. package/dist-types/CustomerProfiles.d.ts +50 -6
  23. package/dist-types/CustomerProfilesClient.d.ts +10 -3
  24. package/dist-types/commands/CreateDomainCommand.d.ts +2 -0
  25. package/dist-types/commands/GetAutoMergingPreviewCommand.d.ts +48 -0
  26. package/dist-types/commands/GetIdentityResolutionJobCommand.d.ts +37 -0
  27. package/dist-types/commands/GetMatchesCommand.d.ts +8 -4
  28. package/dist-types/commands/ListIdentityResolutionJobsCommand.d.ts +36 -0
  29. package/dist-types/commands/MergeProfilesCommand.d.ts +1 -2
  30. package/dist-types/commands/UpdateDomainCommand.d.ts +2 -0
  31. package/dist-types/commands/index.d.ts +3 -0
  32. package/dist-types/models/models_0.d.ts +616 -65
  33. package/dist-types/protocols/Aws_restJson1.d.ts +9 -0
  34. package/dist-types/runtimeConfig.browser.d.ts +3 -2
  35. package/dist-types/runtimeConfig.d.ts +4 -3
  36. package/dist-types/runtimeConfig.native.d.ts +1 -0
  37. package/dist-types/ts3.4/CustomerProfiles.d.ts +15 -0
  38. package/dist-types/ts3.4/CustomerProfilesClient.d.ts +8 -3
  39. package/dist-types/ts3.4/commands/GetAutoMergingPreviewCommand.d.ts +17 -0
  40. package/dist-types/ts3.4/commands/GetIdentityResolutionJobCommand.d.ts +17 -0
  41. package/dist-types/ts3.4/commands/ListIdentityResolutionJobsCommand.d.ts +17 -0
  42. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  43. package/dist-types/ts3.4/models/models_0.d.ts +271 -24
  44. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +9 -0
  45. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +3 -2
  46. package/dist-types/ts3.4/runtimeConfig.d.ts +4 -3
  47. package/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -0
  48. package/package.json +38 -45
@@ -7,12 +7,6 @@ export interface AccessDeniedException extends __SmithyException, $MetadataBeare
7
7
  $fault: "client";
8
8
  Message?: string;
9
9
  }
10
- export declare namespace AccessDeniedException {
11
- /**
12
- * @internal
13
- */
14
- const filterSensitiveLog: (obj: AccessDeniedException) => any;
15
- }
16
10
  export interface AddProfileKeyRequest {
17
11
  /**
18
12
  * <p>The unique identifier of a customer profile.</p>
@@ -61,12 +55,6 @@ export interface BadRequestException extends __SmithyException, $MetadataBearer
61
55
  $fault: "client";
62
56
  Message?: string;
63
57
  }
64
- export declare namespace BadRequestException {
65
- /**
66
- * @internal
67
- */
68
- const filterSensitiveLog: (obj: BadRequestException) => any;
69
- }
70
58
  /**
71
59
  * <p>An internal service error occurred.</p>
72
60
  */
@@ -75,12 +63,6 @@ export interface InternalServerException extends __SmithyException, $MetadataBea
75
63
  $fault: "server";
76
64
  Message?: string;
77
65
  }
78
- export declare namespace InternalServerException {
79
- /**
80
- * @internal
81
- */
82
- const filterSensitiveLog: (obj: InternalServerException) => any;
83
- }
84
66
  /**
85
67
  * <p>The requested resource does not exist, or access was denied.</p>
86
68
  */
@@ -89,12 +71,6 @@ export interface ResourceNotFoundException extends __SmithyException, $MetadataB
89
71
  $fault: "client";
90
72
  Message?: string;
91
73
  }
92
- export declare namespace ResourceNotFoundException {
93
- /**
94
- * @internal
95
- */
96
- const filterSensitiveLog: (obj: ResourceNotFoundException) => any;
97
- }
98
74
  /**
99
75
  * <p>You exceeded the maximum number of requests.</p>
100
76
  */
@@ -103,12 +79,6 @@ export interface ThrottlingException extends __SmithyException, $MetadataBearer
103
79
  $fault: "client";
104
80
  Message?: string;
105
81
  }
106
- export declare namespace ThrottlingException {
107
- /**
108
- * @internal
109
- */
110
- const filterSensitiveLog: (obj: ThrottlingException) => any;
111
- }
112
82
  /**
113
83
  * <p>A generic address associated with the customer that is not mailing, shipping, or
114
84
  * billing.</p>
@@ -161,6 +131,85 @@ export declare namespace Address {
161
131
  */
162
132
  const filterSensitiveLog: (obj: Address) => any;
163
133
  }
134
+ export declare enum ConflictResolvingModel {
135
+ RECENCY = "RECENCY",
136
+ SOURCE = "SOURCE"
137
+ }
138
+ /**
139
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
140
+ */
141
+ export interface ConflictResolution {
142
+ /**
143
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
144
+ * <ul>
145
+ * <li>
146
+ * <p>
147
+ * <code>RECENCY</code>: Uses the data that was most recently updated.</p>
148
+ * </li>
149
+ * <li>
150
+ * <p>
151
+ * <code>SOURCE</code>: Uses the data from a specific source. For example, if a
152
+ * company has been aquired or two departments have merged, data from the specified
153
+ * source is used. If two duplicate profiles are from the same source, then
154
+ * <code>RECENCY</code> is used again.</p>
155
+ * </li>
156
+ * </ul>
157
+ */
158
+ ConflictResolvingModel: ConflictResolvingModel | string | undefined;
159
+ /**
160
+ * <p>The <code>ObjectType</code> name that is used to resolve profile merging conflicts when
161
+ * choosing <code>SOURCE</code> as the <code>ConflictResolvingModel</code>.</p>
162
+ */
163
+ SourceName?: string;
164
+ }
165
+ export declare namespace ConflictResolution {
166
+ /**
167
+ * @internal
168
+ */
169
+ const filterSensitiveLog: (obj: ConflictResolution) => any;
170
+ }
171
+ /**
172
+ * <p>The matching criteria to be used during the auto-merging process. </p>
173
+ */
174
+ export interface Consolidation {
175
+ /**
176
+ * <p>A list of matching criteria.</p>
177
+ */
178
+ MatchingAttributesList: string[][] | undefined;
179
+ }
180
+ export declare namespace Consolidation {
181
+ /**
182
+ * @internal
183
+ */
184
+ const filterSensitiveLog: (obj: Consolidation) => any;
185
+ }
186
+ /**
187
+ * <p>Configuration settings for how to perform the auto-merging of profiles.</p>
188
+ */
189
+ export interface AutoMerging {
190
+ /**
191
+ * <p>The flag that enables the auto-merging of duplicate profiles.</p>
192
+ */
193
+ Enabled: boolean | undefined;
194
+ /**
195
+ * <p>A list of matching attributes that represent matching criteria. If two profiles meet at
196
+ * least one of the requirements in the matching attributes list, they will be merged.</p>
197
+ */
198
+ Consolidation?: Consolidation;
199
+ /**
200
+ * <p>How the auto-merging process should resolve conflicts between different profiles. For
201
+ * example, if Profile A and Profile B have the same <code>FirstName</code> and
202
+ * <code>LastName</code> (and that is the matching criteria), which
203
+ * <code>EmailAddress</code> should be used? </p>
204
+ */
205
+ ConflictResolution?: ConflictResolution;
206
+ }
207
+ export declare namespace AutoMerging {
208
+ /**
209
+ * @internal
210
+ */
211
+ const filterSensitiveLog: (obj: AutoMerging) => any;
212
+ }
164
213
  export declare enum MarketoConnectorOperator {
165
214
  ADDITION = "ADDITION",
166
215
  BETWEEN = "BETWEEN",
@@ -294,6 +343,73 @@ export declare namespace ConnectorOperator {
294
343
  */
295
344
  const filterSensitiveLog: (obj: ConnectorOperator) => any;
296
345
  }
346
+ /**
347
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs write result files.</p>
348
+ */
349
+ export interface S3ExportingConfig {
350
+ /**
351
+ * <p>The name of the S3 bucket where Identity Resolution Jobs write result files.</p>
352
+ */
353
+ S3BucketName: string | undefined;
354
+ /**
355
+ * <p>The S3 key name of the location where Identity Resolution Jobs write result files.</p>
356
+ */
357
+ S3KeyName?: string;
358
+ }
359
+ export declare namespace S3ExportingConfig {
360
+ /**
361
+ * @internal
362
+ */
363
+ const filterSensitiveLog: (obj: S3ExportingConfig) => any;
364
+ }
365
+ /**
366
+ * <p>Configuration information about the S3 bucket where Identity Resolution Jobs writes result files. </p>
367
+ * <note>
368
+ * <p>You need to give Customer Profiles service principal write permission to your S3 bucket.
369
+ * Otherwise, you'll get an exception in the API response. For an example policy, see
370
+ * <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>
371
+ * </note>
372
+ */
373
+ export interface ExportingConfig {
374
+ /**
375
+ * <p>The S3 location where Identity Resolution Jobs write result files.</p>
376
+ */
377
+ S3Exporting?: S3ExportingConfig;
378
+ }
379
+ export declare namespace ExportingConfig {
380
+ /**
381
+ * @internal
382
+ */
383
+ const filterSensitiveLog: (obj: ExportingConfig) => any;
384
+ }
385
+ export declare enum JobScheduleDayOfTheWeek {
386
+ FRIDAY = "FRIDAY",
387
+ MONDAY = "MONDAY",
388
+ SATURDAY = "SATURDAY",
389
+ SUNDAY = "SUNDAY",
390
+ THURSDAY = "THURSDAY",
391
+ TUESDAY = "TUESDAY",
392
+ WEDNESDAY = "WEDNESDAY"
393
+ }
394
+ /**
395
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
396
+ */
397
+ export interface JobSchedule {
398
+ /**
399
+ * <p>The day when the Identity Resolution Job should run every week.</p>
400
+ */
401
+ DayOfTheWeek: JobScheduleDayOfTheWeek | string | undefined;
402
+ /**
403
+ * <p>The time when the Identity Resolution Job should run every week.</p>
404
+ */
405
+ Time: string | undefined;
406
+ }
407
+ export declare namespace JobSchedule {
408
+ /**
409
+ * @internal
410
+ */
411
+ const filterSensitiveLog: (obj: JobSchedule) => any;
412
+ }
297
413
  /**
298
414
  * <p>The flag that enables the matching process of duplicate profiles.</p>
299
415
  */
@@ -302,6 +418,19 @@ export interface MatchingRequest {
302
418
  * <p>The flag that enables the matching process of duplicate profiles.</p>
303
419
  */
304
420
  Enabled: boolean | undefined;
421
+ /**
422
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
423
+ */
424
+ JobSchedule?: JobSchedule;
425
+ /**
426
+ * <p>Configuration information about the auto-merging process.</p>
427
+ */
428
+ AutoMerging?: AutoMerging;
429
+ /**
430
+ * <p>Configuration information for exporting Identity Resolution results, for example, to an S3
431
+ * bucket.</p>
432
+ */
433
+ ExportingConfig?: ExportingConfig;
305
434
  }
306
435
  export declare namespace MatchingRequest {
307
436
  /**
@@ -332,10 +461,13 @@ export interface CreateDomainRequest {
332
461
  */
333
462
  DeadLetterQueueUrl?: string;
334
463
  /**
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
464
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
465
+ * 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
466
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
467
+ * <p>After the Identity Resolution Job completes, use the
337
468
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
338
- * API to return and review the results. </p>
469
+ * 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
470
+ * S3.</p>
339
471
  */
340
472
  Matching?: MatchingRequest;
341
473
  /**
@@ -359,6 +491,19 @@ export interface MatchingResponse {
359
491
  * <p>The flag that enables the matching process of duplicate profiles.</p>
360
492
  */
361
493
  Enabled?: boolean;
494
+ /**
495
+ * <p>The day and time when do you want to start the Identity Resolution Job every week.</p>
496
+ */
497
+ JobSchedule?: JobSchedule;
498
+ /**
499
+ * <p>Configuration information about the auto-merging process.</p>
500
+ */
501
+ AutoMerging?: AutoMerging;
502
+ /**
503
+ * <p>Configuration information for exporting Identity Resolution results, for example, to an S3
504
+ * bucket.</p>
505
+ */
506
+ ExportingConfig?: ExportingConfig;
362
507
  }
363
508
  export declare namespace MatchingResponse {
364
509
  /**
@@ -387,10 +532,13 @@ export interface CreateDomainResponse {
387
532
  */
388
533
  DeadLetterQueueUrl?: string;
389
534
  /**
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
535
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
536
+ * 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
537
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
538
+ * <p>After the Identity Resolution Job completes, use the
392
539
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
393
- * API to return and review the results. </p>
540
+ * 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
541
+ * S3.</p>
394
542
  */
395
543
  Matching?: MatchingResponse;
396
544
  /**
@@ -717,6 +865,51 @@ export declare namespace DeleteProfileObjectTypeResponse {
717
865
  */
718
866
  const filterSensitiveLog: (obj: DeleteProfileObjectTypeResponse) => any;
719
867
  }
868
+ export interface GetAutoMergingPreviewRequest {
869
+ /**
870
+ * <p>The unique name of the domain.</p>
871
+ */
872
+ DomainName: string | undefined;
873
+ /**
874
+ * <p>A list of matching attributes that represent matching criteria.</p>
875
+ */
876
+ Consolidation: Consolidation | undefined;
877
+ /**
878
+ * <p>How the auto-merging process should resolve conflicts between different profiles.</p>
879
+ */
880
+ ConflictResolution: ConflictResolution | undefined;
881
+ }
882
+ export declare namespace GetAutoMergingPreviewRequest {
883
+ /**
884
+ * @internal
885
+ */
886
+ const filterSensitiveLog: (obj: GetAutoMergingPreviewRequest) => any;
887
+ }
888
+ export interface GetAutoMergingPreviewResponse {
889
+ /**
890
+ * <p>The unique name of the domain.</p>
891
+ */
892
+ DomainName: string | undefined;
893
+ /**
894
+ * <p>The number of match groups in the domain that have been reviewed in this preview dry
895
+ * run.</p>
896
+ */
897
+ NumberOfMatchesInSample?: number;
898
+ /**
899
+ * <p>The number of profiles found in this preview dry run.</p>
900
+ */
901
+ NumberOfProfilesInSample?: number;
902
+ /**
903
+ * <p>The number of profiles that would be merged if this wasn't a preview dry run.</p>
904
+ */
905
+ NumberOfProfilesWillBeMerged?: number;
906
+ }
907
+ export declare namespace GetAutoMergingPreviewResponse {
908
+ /**
909
+ * @internal
910
+ */
911
+ const filterSensitiveLog: (obj: GetAutoMergingPreviewResponse) => any;
912
+ }
720
913
  export interface GetDomainRequest {
721
914
  /**
722
915
  * <p>The unique name of the domain.</p>
@@ -783,10 +976,13 @@ export interface GetDomainResponse {
783
976
  */
784
977
  Stats?: DomainStats;
785
978
  /**
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
979
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
980
+ * 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
981
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
982
+ * <p>After the Identity Resolution Job completes, use the
788
983
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
789
- * API to return and review the results. </p>
984
+ * 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
985
+ * S3.</p>
790
986
  */
791
987
  Matching?: MatchingResponse;
792
988
  /**
@@ -810,6 +1006,175 @@ export declare namespace GetDomainResponse {
810
1006
  */
811
1007
  const filterSensitiveLog: (obj: GetDomainResponse) => any;
812
1008
  }
1009
+ export interface GetIdentityResolutionJobRequest {
1010
+ /**
1011
+ * <p>The unique name of the domain.</p>
1012
+ */
1013
+ DomainName: string | undefined;
1014
+ /**
1015
+ * <p>The unique identifier of the Identity Resolution Job.</p>
1016
+ */
1017
+ JobId: string | undefined;
1018
+ }
1019
+ export declare namespace GetIdentityResolutionJobRequest {
1020
+ /**
1021
+ * @internal
1022
+ */
1023
+ const filterSensitiveLog: (obj: GetIdentityResolutionJobRequest) => any;
1024
+ }
1025
+ /**
1026
+ * <p>The S3 location where Identity Resolution Jobs write result files.</p>
1027
+ */
1028
+ export interface S3ExportingLocation {
1029
+ /**
1030
+ * <p>The name of the S3 bucket name where Identity Resolution Jobs write result files.</p>
1031
+ */
1032
+ S3BucketName?: string;
1033
+ /**
1034
+ * <p>The S3 key name of the location where Identity Resolution Jobs write result files.</p>
1035
+ */
1036
+ S3KeyName?: string;
1037
+ }
1038
+ export declare namespace S3ExportingLocation {
1039
+ /**
1040
+ * @internal
1041
+ */
1042
+ const filterSensitiveLog: (obj: S3ExportingLocation) => any;
1043
+ }
1044
+ /**
1045
+ * <p>The S3 location where Identity Resolution Jobs write result files.</p>
1046
+ */
1047
+ export interface ExportingLocation {
1048
+ /**
1049
+ * <p>Information about the S3 location where Identity Resolution Jobs write result files.</p>
1050
+ */
1051
+ S3Exporting?: S3ExportingLocation;
1052
+ }
1053
+ export declare namespace ExportingLocation {
1054
+ /**
1055
+ * @internal
1056
+ */
1057
+ const filterSensitiveLog: (obj: ExportingLocation) => any;
1058
+ }
1059
+ /**
1060
+ * <p>Statistics about the Identity Resolution Job.</p>
1061
+ */
1062
+ export interface JobStats {
1063
+ /**
1064
+ * <p>The number of profiles reviewed.</p>
1065
+ */
1066
+ NumberOfProfilesReviewed?: number;
1067
+ /**
1068
+ * <p>The number of matches found.</p>
1069
+ */
1070
+ NumberOfMatchesFound?: number;
1071
+ /**
1072
+ * <p>The number of merges completed.</p>
1073
+ */
1074
+ NumberOfMergesDone?: number;
1075
+ }
1076
+ export declare namespace JobStats {
1077
+ /**
1078
+ * @internal
1079
+ */
1080
+ const filterSensitiveLog: (obj: JobStats) => any;
1081
+ }
1082
+ export declare enum IdentityResolutionJobStatus {
1083
+ COMPLETED = "COMPLETED",
1084
+ FAILED = "FAILED",
1085
+ FIND_MATCHING = "FIND_MATCHING",
1086
+ MERGING = "MERGING",
1087
+ PARTIAL_SUCCESS = "PARTIAL_SUCCESS",
1088
+ PENDING = "PENDING",
1089
+ PREPROCESSING = "PREPROCESSING"
1090
+ }
1091
+ export interface GetIdentityResolutionJobResponse {
1092
+ /**
1093
+ * <p>The unique name of the domain.</p>
1094
+ */
1095
+ DomainName?: string;
1096
+ /**
1097
+ * <p>The unique identifier of the Identity Resolution Job.</p>
1098
+ */
1099
+ JobId?: string;
1100
+ /**
1101
+ * <p>The status of the Identity Resolution Job.</p>
1102
+ * <ul>
1103
+ * <li>
1104
+ * <p>
1105
+ * <code>PENDING</code>: The Identity Resolution Job is scheduled but has not started yet. If you turn
1106
+ * off the Identity Resolution feature in your domain, jobs in the <code>PENDING</code> state are
1107
+ * deleted.</p>
1108
+ * </li>
1109
+ * <li>
1110
+ * <p>
1111
+ * <code>PREPROCESSING</code>: The Identity Resolution Job is loading your data.</p>
1112
+ * </li>
1113
+ * <li>
1114
+ * <p>
1115
+ * <code>FIND_MATCHING</code>: The Identity Resolution Job is using the machine learning model to
1116
+ * identify profiles that belong to the same matching group.</p>
1117
+ * </li>
1118
+ * <li>
1119
+ * <p>
1120
+ * <code>MERGING</code>: The Identity Resolution Job is merging duplicate profiles.</p>
1121
+ * </li>
1122
+ * <li>
1123
+ * <p>
1124
+ * <code>COMPLETED</code>: The Identity Resolution Job completed successfully.</p>
1125
+ * </li>
1126
+ * <li>
1127
+ * <p>
1128
+ * <code>PARTIAL_SUCCESS</code>: There's a system error and not all of the data is
1129
+ * merged. The Identity Resolution Job writes a message indicating the source of the problem.</p>
1130
+ * </li>
1131
+ * <li>
1132
+ * <p>
1133
+ * <code>FAILED</code>: The Identity Resolution Job did not merge any data. It writes a message
1134
+ * indicating the source of the problem.</p>
1135
+ * </li>
1136
+ * </ul>
1137
+ */
1138
+ Status?: IdentityResolutionJobStatus | string;
1139
+ /**
1140
+ * <p>The error messages that are generated when the Identity Resolution Job runs.</p>
1141
+ */
1142
+ Message?: string;
1143
+ /**
1144
+ * <p>The timestamp of when the Identity Resolution Job was started or will be started.</p>
1145
+ */
1146
+ JobStartTime?: Date;
1147
+ /**
1148
+ * <p>The timestamp of when the Identity Resolution Job was completed.</p>
1149
+ */
1150
+ JobEndTime?: Date;
1151
+ /**
1152
+ * <p>The timestamp of when the Identity Resolution Job was most recently edited.</p>
1153
+ */
1154
+ LastUpdatedAt?: Date;
1155
+ /**
1156
+ * <p>The timestamp of when the Identity Resolution Job will expire.</p>
1157
+ */
1158
+ JobExpirationTime?: Date;
1159
+ /**
1160
+ * <p>Configuration settings for how to perform the auto-merging of profiles.</p>
1161
+ */
1162
+ AutoMerging?: AutoMerging;
1163
+ /**
1164
+ * <p>The S3 location where the Identity Resolution Job writes result files.</p>
1165
+ */
1166
+ ExportingLocation?: ExportingLocation;
1167
+ /**
1168
+ * <p>Statistics about the Identity Resolution Job.</p>
1169
+ */
1170
+ JobStats?: JobStats;
1171
+ }
1172
+ export declare namespace GetIdentityResolutionJobResponse {
1173
+ /**
1174
+ * @internal
1175
+ */
1176
+ const filterSensitiveLog: (obj: GetIdentityResolutionJobResponse) => any;
1177
+ }
813
1178
  export interface GetIntegrationRequest {
814
1179
  /**
815
1180
  * <p>The unique name of the domain.</p>
@@ -838,7 +1203,7 @@ export interface GetIntegrationResponse {
838
1203
  /**
839
1204
  * <p>The name of the profile object type.</p>
840
1205
  */
841
- ObjectTypeName: string | undefined;
1206
+ ObjectTypeName?: string;
842
1207
  /**
843
1208
  * <p>The timestamp of when the domain was created.</p>
844
1209
  */
@@ -853,6 +1218,14 @@ export interface GetIntegrationResponse {
853
1218
  Tags?: {
854
1219
  [key: string]: string;
855
1220
  };
1221
+ /**
1222
+ * <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.
1223
+ * It supports the following event types: <code>SegmentIdentify</code>, <code>ShopifyCreateCustomers</code>, <code>ShopifyUpdateCustomers</code>, <code>ShopifyCreateDraftOrders</code>,
1224
+ * <code>ShopifyUpdateDraftOrders</code>, <code>ShopifyCreateOrders</code>, and <code>ShopifyUpdatedOrders</code>.</p>
1225
+ */
1226
+ ObjectTypeNames?: {
1227
+ [key: string]: string;
1228
+ };
856
1229
  }
857
1230
  export declare namespace GetIntegrationResponse {
858
1231
  /**
@@ -893,6 +1266,11 @@ export interface MatchItem {
893
1266
  * <p>A list of identifiers for profiles that match.</p>
894
1267
  */
895
1268
  ProfileIds?: string[];
1269
+ /**
1270
+ * <p>A number between 0 and 1 that represents the confidence level of assigning profiles to a
1271
+ * matching group. A score of 1 likely indicates an exact match.</p>
1272
+ */
1273
+ ConfidenceScore?: number;
896
1274
  }
897
1275
  export declare namespace MatchItem {
898
1276
  /**
@@ -977,6 +1355,7 @@ export declare enum StandardIdentifier {
977
1355
  CASE = "CASE",
978
1356
  LOOKUP_ONLY = "LOOKUP_ONLY",
979
1357
  NEW_ONLY = "NEW_ONLY",
1358
+ ORDER = "ORDER",
980
1359
  PROFILE = "PROFILE",
981
1360
  SECONDARY = "SECONDARY",
982
1361
  UNIQUE = "UNIQUE"
@@ -988,13 +1367,13 @@ export declare enum StandardIdentifier {
988
1367
  export interface ObjectTypeKey {
989
1368
  /**
990
1369
  * <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>
1370
+ * UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be
1371
+ * used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be
1372
+ * used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to
1373
+ * search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is
1374
+ * only used to match a profile but is not persisted to be used for searching of the profile.
1375
+ * A NEW_ONLY key is only used if the profile does not already exist before the object is
1376
+ * ingested, otherwise it is only used for matching objects to profiles.</p>
998
1377
  */
999
1378
  StandardIdentifiers?: (StandardIdentifier | string)[];
1000
1379
  /**
@@ -1038,6 +1417,11 @@ export interface GetProfileObjectTypeResponse {
1038
1417
  * is found, then the service creates a new standard profile.</p>
1039
1418
  */
1040
1419
  AllowProfileCreation?: boolean;
1420
+ /**
1421
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set
1422
+ * up.</p>
1423
+ */
1424
+ SourceLastUpdatedTimestampFormat?: string;
1041
1425
  /**
1042
1426
  * <p>A map of the name and ObjectType field.</p>
1043
1427
  */
@@ -1104,6 +1488,11 @@ export interface GetProfileObjectTypeTemplateResponse {
1104
1488
  * is found, then the service creates a new standard profile.</p>
1105
1489
  */
1106
1490
  AllowProfileCreation?: boolean;
1491
+ /**
1492
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set
1493
+ * up.</p>
1494
+ */
1495
+ SourceLastUpdatedTimestampFormat?: string;
1107
1496
  /**
1108
1497
  * <p>A map of the name and ObjectType field.</p>
1109
1498
  */
@@ -1158,7 +1547,7 @@ export interface ListIntegrationItem {
1158
1547
  /**
1159
1548
  * <p>The name of the profile object type.</p>
1160
1549
  */
1161
- ObjectTypeName: string | undefined;
1550
+ ObjectTypeName?: string;
1162
1551
  /**
1163
1552
  * <p>The timestamp of when the domain was created.</p>
1164
1553
  */
@@ -1173,6 +1562,14 @@ export interface ListIntegrationItem {
1173
1562
  Tags?: {
1174
1563
  [key: string]: string;
1175
1564
  };
1565
+ /**
1566
+ * <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.
1567
+ * It supports the following event types: <code>SegmentIdentify</code>, <code>ShopifyCreateCustomers</code>, <code>ShopifyUpdateCustomers</code>, <code>ShopifyCreateDraftOrders</code>,
1568
+ * <code>ShopifyUpdateDraftOrders</code>, <code>ShopifyCreateOrders</code>, and <code>ShopifyUpdatedOrders</code>.</p>
1569
+ */
1570
+ ObjectTypeNames?: {
1571
+ [key: string]: string;
1572
+ };
1176
1573
  }
1177
1574
  export declare namespace ListIntegrationItem {
1178
1575
  /**
@@ -1257,6 +1654,121 @@ export declare namespace ListDomainsResponse {
1257
1654
  */
1258
1655
  const filterSensitiveLog: (obj: ListDomainsResponse) => any;
1259
1656
  }
1657
+ export interface ListIdentityResolutionJobsRequest {
1658
+ /**
1659
+ * <p>The unique name of the domain.</p>
1660
+ */
1661
+ DomainName: string | undefined;
1662
+ /**
1663
+ * <p>The token for the next set of results. Use the value returned in the previous
1664
+ * response in the next request to retrieve the next set of results.</p>
1665
+ */
1666
+ NextToken?: string;
1667
+ /**
1668
+ * <p>The maximum number of results to return per page.</p>
1669
+ */
1670
+ MaxResults?: number;
1671
+ }
1672
+ export declare namespace ListIdentityResolutionJobsRequest {
1673
+ /**
1674
+ * @internal
1675
+ */
1676
+ const filterSensitiveLog: (obj: ListIdentityResolutionJobsRequest) => any;
1677
+ }
1678
+ /**
1679
+ * <p>Information about the Identity Resolution Job.</p>
1680
+ */
1681
+ export interface IdentityResolutionJob {
1682
+ /**
1683
+ * <p>The unique name of the domain.</p>
1684
+ */
1685
+ DomainName?: string;
1686
+ /**
1687
+ * <p>The unique identifier of the Identity Resolution Job.</p>
1688
+ */
1689
+ JobId?: string;
1690
+ /**
1691
+ * <p>The status of the Identity Resolution Job.</p>
1692
+ * <ul>
1693
+ * <li>
1694
+ * <p>
1695
+ * <code>PENDING</code>: The Identity Resolution Job is scheduled but has not started yet. If you turn
1696
+ * off the Identity Resolution feature in your domain, jobs in the <code>PENDING</code> state are
1697
+ * deleted.</p>
1698
+ * </li>
1699
+ * <li>
1700
+ * <p>
1701
+ * <code>PREPROCESSING</code>: The Identity Resolution Job is loading your data.</p>
1702
+ * </li>
1703
+ * <li>
1704
+ * <p>
1705
+ * <code>FIND_MATCHING</code>: The Identity Resolution Job is using the machine learning model to
1706
+ * identify profiles that belong to the same matching group.</p>
1707
+ * </li>
1708
+ * <li>
1709
+ * <p>
1710
+ * <code>MERGING</code>: The Identity Resolution Job is merging duplicate profiles.</p>
1711
+ * </li>
1712
+ * <li>
1713
+ * <p>
1714
+ * <code>COMPLETED</code>: The Identity Resolution Job completed successfully.</p>
1715
+ * </li>
1716
+ * <li>
1717
+ * <p>
1718
+ * <code>PARTIAL_SUCCESS</code>: There's a system error and not all of the data is
1719
+ * merged. The Identity Resolution Job writes a message indicating the source of the problem.</p>
1720
+ * </li>
1721
+ * <li>
1722
+ * <p>
1723
+ * <code>FAILED</code>: The Identity Resolution Job did not merge any data. It writes a message
1724
+ * indicating the source of the problem.</p>
1725
+ * </li>
1726
+ * </ul>
1727
+ */
1728
+ Status?: IdentityResolutionJobStatus | string;
1729
+ /**
1730
+ * <p>The timestamp of when the job was started or will be started.</p>
1731
+ */
1732
+ JobStartTime?: Date;
1733
+ /**
1734
+ * <p>The timestamp of when the job was completed.</p>
1735
+ */
1736
+ JobEndTime?: Date;
1737
+ /**
1738
+ * <p>Statistics about an Identity Resolution Job.</p>
1739
+ */
1740
+ JobStats?: JobStats;
1741
+ /**
1742
+ * <p>The S3 location where the Identity Resolution Job writes result files.</p>
1743
+ */
1744
+ ExportingLocation?: ExportingLocation;
1745
+ /**
1746
+ * <p>The error messages that are generated when the Identity Resolution Job runs.</p>
1747
+ */
1748
+ Message?: string;
1749
+ }
1750
+ export declare namespace IdentityResolutionJob {
1751
+ /**
1752
+ * @internal
1753
+ */
1754
+ const filterSensitiveLog: (obj: IdentityResolutionJob) => any;
1755
+ }
1756
+ export interface ListIdentityResolutionJobsResponse {
1757
+ /**
1758
+ * <p>A list of Identity Resolution Jobs.</p>
1759
+ */
1760
+ IdentityResolutionJobsList?: IdentityResolutionJob[];
1761
+ /**
1762
+ * <p>If there are additional results, this is the token for the next set of results.</p>
1763
+ */
1764
+ NextToken?: string;
1765
+ }
1766
+ export declare namespace ListIdentityResolutionJobsResponse {
1767
+ /**
1768
+ * @internal
1769
+ */
1770
+ const filterSensitiveLog: (obj: ListIdentityResolutionJobsResponse) => any;
1771
+ }
1260
1772
  export interface ListIntegrationsRequest {
1261
1773
  /**
1262
1774
  * <p>The unique name of the domain.</p>
@@ -1294,13 +1806,16 @@ export declare namespace ListIntegrationsResponse {
1294
1806
  const filterSensitiveLog: (obj: ListIntegrationsResponse) => any;
1295
1807
  }
1296
1808
  /**
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>
1809
+ * <p>The filter applied to ListProfileObjects response to include profile objects with the
1810
+ * specified index values. This filter is only supported for ObjectTypeName _asset, _case and
1811
+ * _order.</p>
1299
1812
  */
1300
1813
  export interface ObjectFilter {
1301
1814
  /**
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>
1815
+ * <p>A searchable identifier of a standard profile object. The predefined keys you can use to
1816
+ * search for _asset include: _assetId, _assetName, _serialNumber. The predefined keys you can
1817
+ * use to search for _case include: _caseId. The predefined keys you can use to search for
1818
+ * _order include: _orderId.</p>
1304
1819
  */
1305
1820
  KeyName: string | undefined;
1306
1821
  /**
@@ -1336,8 +1851,8 @@ export interface ListProfileObjectsRequest {
1336
1851
  */
1337
1852
  ProfileId: string | undefined;
1338
1853
  /**
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>
1854
+ * <p>Applies a filter to the response to include profile objects with the specified index
1855
+ * values. This filter is only supported for ObjectTypeName _asset, _case and _order.</p>
1341
1856
  */
1342
1857
  ObjectFilter?: ObjectFilter;
1343
1858
  }
@@ -2052,7 +2567,7 @@ export interface PutIntegrationRequest {
2052
2567
  /**
2053
2568
  * <p>The name of the profile object type.</p>
2054
2569
  */
2055
- ObjectTypeName: string | undefined;
2570
+ ObjectTypeName?: string;
2056
2571
  /**
2057
2572
  * <p>The tags used to organize, track, or control access for this resource.</p>
2058
2573
  */
@@ -2064,6 +2579,14 @@ export interface PutIntegrationRequest {
2064
2579
  * source.</p>
2065
2580
  */
2066
2581
  FlowDefinition?: FlowDefinition;
2582
+ /**
2583
+ * <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.
2584
+ * It supports the following event types: <code>SegmentIdentify</code>, <code>ShopifyCreateCustomers</code>, <code>ShopifyUpdateCustomers</code>, <code>ShopifyCreateDraftOrders</code>,
2585
+ * <code>ShopifyUpdateDraftOrders</code>, <code>ShopifyCreateOrders</code>, and <code>ShopifyUpdatedOrders</code>.</p>
2586
+ */
2587
+ ObjectTypeNames?: {
2588
+ [key: string]: string;
2589
+ };
2067
2590
  }
2068
2591
  export declare namespace PutIntegrationRequest {
2069
2592
  /**
@@ -2083,7 +2606,7 @@ export interface PutIntegrationResponse {
2083
2606
  /**
2084
2607
  * <p>The name of the profile object type.</p>
2085
2608
  */
2086
- ObjectTypeName: string | undefined;
2609
+ ObjectTypeName?: string;
2087
2610
  /**
2088
2611
  * <p>The timestamp of when the domain was created.</p>
2089
2612
  */
@@ -2098,6 +2621,14 @@ export interface PutIntegrationResponse {
2098
2621
  Tags?: {
2099
2622
  [key: string]: string;
2100
2623
  };
2624
+ /**
2625
+ * <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.
2626
+ * It supports the following event types: <code>SegmentIdentify</code>, <code>ShopifyCreateCustomers</code>, <code>ShopifyUpdateCustomers</code>, <code>ShopifyCreateDraftOrders</code>,
2627
+ * <code>ShopifyUpdateDraftOrders</code>, <code>ShopifyCreateOrders</code>, and <code>ShopifyUpdatedOrders</code>.</p>
2628
+ */
2629
+ ObjectTypeNames?: {
2630
+ [key: string]: string;
2631
+ };
2101
2632
  }
2102
2633
  export declare namespace PutIntegrationResponse {
2103
2634
  /**
@@ -2171,6 +2702,11 @@ export interface PutProfileObjectTypeRequest {
2171
2702
  * is found, then the service creates a new standard profile.</p>
2172
2703
  */
2173
2704
  AllowProfileCreation?: boolean;
2705
+ /**
2706
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set up.
2707
+ * </p>
2708
+ */
2709
+ SourceLastUpdatedTimestampFormat?: string;
2174
2710
  /**
2175
2711
  * <p>A map of the name and ObjectType field.</p>
2176
2712
  */
@@ -2226,6 +2762,12 @@ export interface PutProfileObjectTypeResponse {
2226
2762
  * is found, then the service creates a new standard profile.</p>
2227
2763
  */
2228
2764
  AllowProfileCreation?: boolean;
2765
+ /**
2766
+ * <p>The format of your <code>sourceLastUpdatedTimestamp</code> that was previously set up in
2767
+ * 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
2768
+ * field, you must set up <code>sourceLastUpdatedTimestampFormat</code>.</p>
2769
+ */
2770
+ SourceLastUpdatedTimestampFormat?: string;
2229
2771
  /**
2230
2772
  * <p>A map of the name and ObjectType field.</p>
2231
2773
  */
@@ -2273,9 +2815,12 @@ export interface SearchProfilesRequest {
2273
2815
  */
2274
2816
  DomainName: string | undefined;
2275
2817
  /**
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>
2818
+ * <p>A searchable identifier of a customer profile. The predefined keys you can use
2819
+ * to search include: _account, _profileId, _assetId, _caseId, _orderId, _fullName, _phone,
2820
+ * _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId,
2821
+ * _salesforceAssetId, _zendeskUserId, _zendeskExternalId, _zendeskTicketId,
2822
+ * _serviceNowSystemId, _serviceNowIncidentId, _segmentUserId, _shopifyCustomerId,
2823
+ * _shopifyOrderId.</p>
2279
2824
  */
2280
2825
  KeyName: string | undefined;
2281
2826
  /**
@@ -2484,10 +3029,13 @@ export interface UpdateDomainRequest {
2484
3029
  */
2485
3030
  DeadLetterQueueUrl?: string;
2486
3031
  /**
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
3032
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
3033
+ * 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
3034
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
3035
+ * <p>After the Identity Resolution Job completes, use the
2489
3036
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
2490
- * API to return and review the results. </p>
3037
+ * 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
3038
+ * S3.</p>
2491
3039
  */
2492
3040
  Matching?: MatchingRequest;
2493
3041
  /**
@@ -2524,10 +3072,13 @@ export interface UpdateDomainResponse {
2524
3072
  */
2525
3073
  DeadLetterQueueUrl?: string;
2526
3074
  /**
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
3075
+ * <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly
3076
+ * 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
3077
+ * Saturday at 12AM UTC to detect duplicate profiles in your domains. </p>
3078
+ * <p>After the Identity Resolution Job completes, use the
2529
3079
  * <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a>
2530
- * API to return and review the results. </p>
3080
+ * 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
3081
+ * S3.</p>
2531
3082
  */
2532
3083
  Matching?: MatchingResponse;
2533
3084
  /**