1import { ApifyClient } from 'apify-client';
2
3
4
5const client = new ApifyClient({
6 token: '<YOUR_API_TOKEN>',
7});
8
9
10const input = {
11 "snapshotId": "import-review-001",
12 "matchingPolicy": "exact-keys",
13 "noMatchPolicy": "evidence-only",
14 "candidates": [
15 {
16 "rowId": "0001",
17 "contactKey": "opaque-alpha",
18 "audienceId": "audience-A"
19 },
20 {
21 "rowId": "0002",
22 "contactKey": "opaque-beta",
23 "audienceId": "audience-B"
24 },
25 {
26 "rowId": "0003",
27 "contactKey": "opaque-gamma",
28 "audienceId": "audience-A"
29 },
30 {
31 "rowId": "0003",
32 "contactKey": "opaque-delta",
33 "audienceId": "audience-B"
34 },
35 {
36 "rowId": "0005",
37 "contactKey": "opaque-gamma",
38 "audienceId": "audience-A"
39 }
40 ],
41 "candidatesCsv": "",
42 "candidatesColumns": {
43 "rowId": "rowId",
44 "contactKey": "contactKey",
45 "audienceId": "audienceId"
46 },
47 "suppressions": [
48 {
49 "recordId": "supp-001",
50 "contactKey": "opaque-alpha",
51 "scope": "global",
52 "audienceId": "",
53 "reason": "Caller supplied unsubscribe evidence",
54 "source": "CRM export row 12"
55 },
56 {
57 "recordId": "supp-001",
58 "contactKey": "opaque-alpha",
59 "scope": "audience",
60 "audienceId": "audience-A",
61 "reason": "Audience exclusion evidence",
62 "source": "Audience export row 7"
63 },
64 {
65 "recordId": "supp-003",
66 "contactKey": "opaque-beta",
67 "scope": "audience",
68 "audienceId": "audience-A",
69 "reason": "Audience-specific exclusion",
70 "source": "Audience export row 8"
71 }
72 ],
73 "suppressionsCsv": "",
74 "suppressionsColumns": {
75 "recordId": "recordId",
76 "contactKey": "contactKey",
77 "scope": "scope",
78 "audienceId": "audienceId",
79 "reason": "reason",
80 "source": "source"
81 },
82 "coverage": [
83 {
84 "coverageId": "cov-global",
85 "scope": "global",
86 "audienceId": "",
87 "status": "complete",
88 "source": "Operator declares entire global suppression export"
89 },
90 {
91 "coverageId": "cov-A",
92 "scope": "audience",
93 "audienceId": "audience-A",
94 "status": "complete",
95 "source": "Operator declares entire audience-A suppression export"
96 },
97 {
98 "coverageId": "cov-B",
99 "scope": "audience",
100 "audienceId": "audience-B",
101 "status": "partial",
102 "source": "Only one of two audience-B suppression sources exported"
103 }
104 ],
105 "coverageCsv": "",
106 "coverageColumns": {
107 "coverageId": "coverageId",
108 "scope": "scope",
109 "audienceId": "audienceId",
110 "status": "status",
111 "source": "source"
112 }
113};
114
115
116const run = await client.actor("h_murdock/suppression-import-conflicts").call(input);
117
118
119console.log('Results from dataset');
120console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
121const { items } = await client.dataset(run.defaultDatasetId).listItems();
122items.forEach((item) => {
123 console.dir(item);
124});
125
126