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