Skip to content

Commit a39cb12

Browse files
author
awstools
committed
feat(client-customer-profiles): This release introduces ListProfileHistoryRecords and GetProfileHistoryRecord APIs for comprehensive profile history tracking with complete audit trails of creation, updates, merges, deletions, and data ingestion events.
1 parent a6d4eb2 commit a39cb12

File tree

13 files changed

+17867
-16822
lines changed

13 files changed

+17867
-16822
lines changed

clients/client-customer-profiles/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,14 @@ GetMatches
517517

518518
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/customer-profiles/command/GetMatchesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-customer-profiles/Interface/GetMatchesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-customer-profiles/Interface/GetMatchesCommandOutput/)
519519

520+
</details>
521+
<details>
522+
<summary>
523+
GetProfileHistoryRecord
524+
</summary>
525+
526+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/customer-profiles/command/GetProfileHistoryRecordCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-customer-profiles/Interface/GetProfileHistoryRecordCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-customer-profiles/Interface/GetProfileHistoryRecordCommandOutput/)
527+
520528
</details>
521529
<details>
522530
<summary>
@@ -693,6 +701,14 @@ ListProfileAttributeValues
693701

694702
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/customer-profiles/command/ListProfileAttributeValuesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-customer-profiles/Interface/ListProfileAttributeValuesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-customer-profiles/Interface/ListProfileAttributeValuesCommandOutput/)
695703

704+
</details>
705+
<details>
706+
<summary>
707+
ListProfileHistoryRecords
708+
</summary>
709+
710+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/customer-profiles/command/ListProfileHistoryRecordsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-customer-profiles/Interface/ListProfileHistoryRecordsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-customer-profiles/Interface/ListProfileHistoryRecordsCommandOutput/)
711+
696712
</details>
697713
<details>
698714
<summary>

clients/client-customer-profiles/src/CustomerProfiles.ts

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,11 @@ import {
179179
GetIntegrationCommandOutput,
180180
} from "./commands/GetIntegrationCommand";
181181
import { GetMatchesCommand, GetMatchesCommandInput, GetMatchesCommandOutput } from "./commands/GetMatchesCommand";
182+
import {
183+
GetProfileHistoryRecordCommand,
184+
GetProfileHistoryRecordCommandInput,
185+
GetProfileHistoryRecordCommandOutput,
186+
} from "./commands/GetProfileHistoryRecordCommand";
182187
import {
183188
GetProfileObjectTypeCommand,
184189
GetProfileObjectTypeCommandInput,
@@ -281,6 +286,11 @@ import {
281286
ListProfileAttributeValuesCommandInput,
282287
ListProfileAttributeValuesCommandOutput,
283288
} from "./commands/ListProfileAttributeValuesCommand";
289+
import {
290+
ListProfileHistoryRecordsCommand,
291+
ListProfileHistoryRecordsCommandInput,
292+
ListProfileHistoryRecordsCommandOutput,
293+
} from "./commands/ListProfileHistoryRecordsCommand";
284294
import {
285295
ListProfileObjectsCommand,
286296
ListProfileObjectsCommandInput,
@@ -427,6 +437,7 @@ const commands = {
427437
GetIdentityResolutionJobCommand,
428438
GetIntegrationCommand,
429439
GetMatchesCommand,
440+
GetProfileHistoryRecordCommand,
430441
GetProfileObjectTypeCommand,
431442
GetProfileObjectTypeTemplateCommand,
432443
GetSegmentDefinitionCommand,
@@ -449,6 +460,7 @@ const commands = {
449460
ListIntegrationsCommand,
450461
ListObjectTypeAttributesCommand,
451462
ListProfileAttributeValuesCommand,
463+
ListProfileHistoryRecordsCommand,
452464
ListProfileObjectsCommand,
453465
ListProfileObjectTypesCommand,
454466
ListProfileObjectTypeTemplatesCommand,
@@ -1040,6 +1052,23 @@ export interface CustomerProfiles {
10401052
cb: (err: any, data?: GetMatchesCommandOutput) => void
10411053
): void;
10421054

1055+
/**
1056+
* @see {@link GetProfileHistoryRecordCommand}
1057+
*/
1058+
getProfileHistoryRecord(
1059+
args: GetProfileHistoryRecordCommandInput,
1060+
options?: __HttpHandlerOptions
1061+
): Promise<GetProfileHistoryRecordCommandOutput>;
1062+
getProfileHistoryRecord(
1063+
args: GetProfileHistoryRecordCommandInput,
1064+
cb: (err: any, data?: GetProfileHistoryRecordCommandOutput) => void
1065+
): void;
1066+
getProfileHistoryRecord(
1067+
args: GetProfileHistoryRecordCommandInput,
1068+
options: __HttpHandlerOptions,
1069+
cb: (err: any, data?: GetProfileHistoryRecordCommandOutput) => void
1070+
): void;
1071+
10431072
/**
10441073
* @see {@link GetProfileObjectTypeCommand}
10451074
*/
@@ -1397,6 +1426,23 @@ export interface CustomerProfiles {
13971426
cb: (err: any, data?: ListProfileAttributeValuesCommandOutput) => void
13981427
): void;
13991428

1429+
/**
1430+
* @see {@link ListProfileHistoryRecordsCommand}
1431+
*/
1432+
listProfileHistoryRecords(
1433+
args: ListProfileHistoryRecordsCommandInput,
1434+
options?: __HttpHandlerOptions
1435+
): Promise<ListProfileHistoryRecordsCommandOutput>;
1436+
listProfileHistoryRecords(
1437+
args: ListProfileHistoryRecordsCommandInput,
1438+
cb: (err: any, data?: ListProfileHistoryRecordsCommandOutput) => void
1439+
): void;
1440+
listProfileHistoryRecords(
1441+
args: ListProfileHistoryRecordsCommandInput,
1442+
options: __HttpHandlerOptions,
1443+
cb: (err: any, data?: ListProfileHistoryRecordsCommandOutput) => void
1444+
): void;
1445+
14001446
/**
14011447
* @see {@link ListProfileObjectsCommand}
14021448
*/

clients/client-customer-profiles/src/CustomerProfilesClient.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,10 @@ import {
135135
} from "./commands/GetIdentityResolutionJobCommand";
136136
import { GetIntegrationCommandInput, GetIntegrationCommandOutput } from "./commands/GetIntegrationCommand";
137137
import { GetMatchesCommandInput, GetMatchesCommandOutput } from "./commands/GetMatchesCommand";
138+
import {
139+
GetProfileHistoryRecordCommandInput,
140+
GetProfileHistoryRecordCommandOutput,
141+
} from "./commands/GetProfileHistoryRecordCommand";
138142
import {
139143
GetProfileObjectTypeCommandInput,
140144
GetProfileObjectTypeCommandOutput,
@@ -187,6 +191,10 @@ import {
187191
ListProfileAttributeValuesCommandInput,
188192
ListProfileAttributeValuesCommandOutput,
189193
} from "./commands/ListProfileAttributeValuesCommand";
194+
import {
195+
ListProfileHistoryRecordsCommandInput,
196+
ListProfileHistoryRecordsCommandOutput,
197+
} from "./commands/ListProfileHistoryRecordsCommand";
190198
import { ListProfileObjectsCommandInput, ListProfileObjectsCommandOutput } from "./commands/ListProfileObjectsCommand";
191199
import {
192200
ListProfileObjectTypesCommandInput,
@@ -282,6 +290,7 @@ export type ServiceInputTypes =
282290
| GetIdentityResolutionJobCommandInput
283291
| GetIntegrationCommandInput
284292
| GetMatchesCommandInput
293+
| GetProfileHistoryRecordCommandInput
285294
| GetProfileObjectTypeCommandInput
286295
| GetProfileObjectTypeTemplateCommandInput
287296
| GetSegmentDefinitionCommandInput
@@ -304,6 +313,7 @@ export type ServiceInputTypes =
304313
| ListIntegrationsCommandInput
305314
| ListObjectTypeAttributesCommandInput
306315
| ListProfileAttributeValuesCommandInput
316+
| ListProfileHistoryRecordsCommandInput
307317
| ListProfileObjectTypeTemplatesCommandInput
308318
| ListProfileObjectTypesCommandInput
309319
| ListProfileObjectsCommandInput
@@ -368,6 +378,7 @@ export type ServiceOutputTypes =
368378
| GetIdentityResolutionJobCommandOutput
369379
| GetIntegrationCommandOutput
370380
| GetMatchesCommandOutput
381+
| GetProfileHistoryRecordCommandOutput
371382
| GetProfileObjectTypeCommandOutput
372383
| GetProfileObjectTypeTemplateCommandOutput
373384
| GetSegmentDefinitionCommandOutput
@@ -390,6 +401,7 @@ export type ServiceOutputTypes =
390401
| ListIntegrationsCommandOutput
391402
| ListObjectTypeAttributesCommandOutput
392403
| ListProfileAttributeValuesCommandOutput
404+
| ListProfileHistoryRecordsCommandOutput
393405
| ListProfileObjectTypeTemplatesCommandOutput
394406
| ListProfileObjectTypesCommandOutput
395407
| ListProfileObjectsCommandOutput
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { CustomerProfilesClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CustomerProfilesClient";
8+
import { commonParams } from "../endpoint/EndpointParameters";
9+
import {
10+
GetProfileHistoryRecordRequest,
11+
GetProfileHistoryRecordResponse,
12+
GetProfileHistoryRecordResponseFilterSensitiveLog,
13+
} from "../models/models_0";
14+
import { de_GetProfileHistoryRecordCommand, se_GetProfileHistoryRecordCommand } from "../protocols/Aws_restJson1";
15+
16+
/**
17+
* @public
18+
*/
19+
export type { __MetadataBearer };
20+
export { $Command };
21+
/**
22+
* @public
23+
*
24+
* The input for {@link GetProfileHistoryRecordCommand}.
25+
*/
26+
export interface GetProfileHistoryRecordCommandInput extends GetProfileHistoryRecordRequest {}
27+
/**
28+
* @public
29+
*
30+
* The output of {@link GetProfileHistoryRecordCommand}.
31+
*/
32+
export interface GetProfileHistoryRecordCommandOutput extends GetProfileHistoryRecordResponse, __MetadataBearer {}
33+
34+
/**
35+
* <p>Returns a history record for a specific profile, for a specific domain.</p>
36+
* @example
37+
* Use a bare-bones client and the command you need to make an API call.
38+
* ```javascript
39+
* import { CustomerProfilesClient, GetProfileHistoryRecordCommand } from "@aws-sdk/client-customer-profiles"; // ES Modules import
40+
* // const { CustomerProfilesClient, GetProfileHistoryRecordCommand } = require("@aws-sdk/client-customer-profiles"); // CommonJS import
41+
* // import type { CustomerProfilesClientConfig } from "@aws-sdk/client-customer-profiles";
42+
* const config = {}; // type is CustomerProfilesClientConfig
43+
* const client = new CustomerProfilesClient(config);
44+
* const input = { // GetProfileHistoryRecordRequest
45+
* DomainName: "STRING_VALUE", // required
46+
* ProfileId: "STRING_VALUE", // required
47+
* Id: "STRING_VALUE", // required
48+
* };
49+
* const command = new GetProfileHistoryRecordCommand(input);
50+
* const response = await client.send(command);
51+
* // { // GetProfileHistoryRecordResponse
52+
* // Id: "STRING_VALUE", // required
53+
* // ObjectTypeName: "STRING_VALUE", // required
54+
* // CreatedAt: new Date("TIMESTAMP"), // required
55+
* // LastUpdatedAt: new Date("TIMESTAMP"),
56+
* // ActionType: "ADDED_PROFILE_KEY" || "DELETED_PROFILE_KEY" || "CREATED" || "UPDATED" || "INGESTED" || "DELETED_BY_CUSTOMER" || "EXPIRED" || "MERGED" || "DELETED_BY_MERGE", // required
57+
* // ProfileObjectUniqueKey: "STRING_VALUE",
58+
* // Content: "STRING_VALUE",
59+
* // PerformedBy: "STRING_VALUE",
60+
* // };
61+
*
62+
* ```
63+
*
64+
* @param GetProfileHistoryRecordCommandInput - {@link GetProfileHistoryRecordCommandInput}
65+
* @returns {@link GetProfileHistoryRecordCommandOutput}
66+
* @see {@link GetProfileHistoryRecordCommandInput} for command's `input` shape.
67+
* @see {@link GetProfileHistoryRecordCommandOutput} for command's `response` shape.
68+
* @see {@link CustomerProfilesClientResolvedConfig | config} for CustomerProfilesClient's `config` shape.
69+
*
70+
* @throws {@link AccessDeniedException} (client fault)
71+
* <p>You do not have sufficient access to perform this action.</p>
72+
*
73+
* @throws {@link BadRequestException} (client fault)
74+
* <p>The input you provided is invalid.</p>
75+
*
76+
* @throws {@link InternalServerException} (server fault)
77+
* <p>An internal service error occurred.</p>
78+
*
79+
* @throws {@link ResourceNotFoundException} (client fault)
80+
* <p>The requested resource does not exist, or access was denied.</p>
81+
*
82+
* @throws {@link ThrottlingException} (client fault)
83+
* <p>You exceeded the maximum number of requests.</p>
84+
*
85+
* @throws {@link CustomerProfilesServiceException}
86+
* <p>Base exception class for all service exceptions from CustomerProfiles service.</p>
87+
*
88+
*
89+
* @public
90+
*/
91+
export class GetProfileHistoryRecordCommand extends $Command
92+
.classBuilder<
93+
GetProfileHistoryRecordCommandInput,
94+
GetProfileHistoryRecordCommandOutput,
95+
CustomerProfilesClientResolvedConfig,
96+
ServiceInputTypes,
97+
ServiceOutputTypes
98+
>()
99+
.ep(commonParams)
100+
.m(function (this: any, Command: any, cs: any, config: CustomerProfilesClientResolvedConfig, o: any) {
101+
return [
102+
getSerdePlugin(config, this.serialize, this.deserialize),
103+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
104+
];
105+
})
106+
.s("CustomerProfiles_20200815", "GetProfileHistoryRecord", {})
107+
.n("CustomerProfilesClient", "GetProfileHistoryRecordCommand")
108+
.f(void 0, GetProfileHistoryRecordResponseFilterSensitiveLog)
109+
.ser(se_GetProfileHistoryRecordCommand)
110+
.de(de_GetProfileHistoryRecordCommand)
111+
.build() {
112+
/** @internal type navigation helper, not in runtime. */
113+
protected declare static __types: {
114+
api: {
115+
input: GetProfileHistoryRecordRequest;
116+
output: GetProfileHistoryRecordResponse;
117+
};
118+
sdk: {
119+
input: GetProfileHistoryRecordCommandInput;
120+
output: GetProfileHistoryRecordCommandOutput;
121+
};
122+
};
123+
}

0 commit comments

Comments
 (0)