@rawdash/connector-mailchimp 0.0.1
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.
- package/README.md +131 -0
- package/dist/index.d.ts +601 -0
- package/dist/index.js +652 -0
- package/dist/index.js.map +1 -0
- package/package.json +43 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,601 @@
|
|
|
1
|
+
import { BaseConnector, ConnectorContext, SyncOptions, StorageHandle, SyncResult, ConnectorDoc } from '@rawdash/core';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
declare const configFields: z.ZodObject<{
|
|
5
|
+
apiKey: z.ZodObject<{
|
|
6
|
+
$secret: z.ZodString;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
resources: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
9
|
+
campaigns: "campaigns";
|
|
10
|
+
lists: "lists";
|
|
11
|
+
automations: "automations";
|
|
12
|
+
campaign_stats: "campaign_stats";
|
|
13
|
+
}>>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
declare const doc: ConnectorDoc;
|
|
16
|
+
interface MailchimpSettings {
|
|
17
|
+
resources?: readonly MailchimpResource[];
|
|
18
|
+
}
|
|
19
|
+
declare const mailchimpCredentials: {
|
|
20
|
+
apiKey: {
|
|
21
|
+
description: string;
|
|
22
|
+
auth: "required";
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
type MailchimpCredentials = typeof mailchimpCredentials;
|
|
26
|
+
declare const PHASE_ORDER: readonly ["campaigns", "lists", "automations", "campaign_stats"];
|
|
27
|
+
type MailchimpPhase = (typeof PHASE_ORDER)[number];
|
|
28
|
+
type MailchimpResource = MailchimpPhase;
|
|
29
|
+
declare const mailchimpResources: {
|
|
30
|
+
readonly mailchimp_campaign: {
|
|
31
|
+
readonly shape: "entity";
|
|
32
|
+
readonly description: "Campaigns (regular, plaintext, A/B, RSS, etc.) with status, type, subject line, sender, audience, send time, and total emails sent.";
|
|
33
|
+
readonly endpoint: "GET /campaigns";
|
|
34
|
+
readonly fields: [{
|
|
35
|
+
readonly name: "status";
|
|
36
|
+
readonly description: "Campaign status (save, paused, schedule, sending, sent).";
|
|
37
|
+
}, {
|
|
38
|
+
readonly name: "type";
|
|
39
|
+
readonly description: "Campaign type (regular, plaintext, absplit, rss, etc.).";
|
|
40
|
+
}, {
|
|
41
|
+
readonly name: "subjectLine";
|
|
42
|
+
readonly description: "Email subject line.";
|
|
43
|
+
}, {
|
|
44
|
+
readonly name: "title";
|
|
45
|
+
readonly description: "Internal campaign title.";
|
|
46
|
+
}, {
|
|
47
|
+
readonly name: "fromName";
|
|
48
|
+
readonly description: "Sender display name.";
|
|
49
|
+
}, {
|
|
50
|
+
readonly name: "replyTo";
|
|
51
|
+
readonly description: "Reply-to email address.";
|
|
52
|
+
}, {
|
|
53
|
+
readonly name: "listId";
|
|
54
|
+
readonly description: "Audience (list) id the campaign targets.";
|
|
55
|
+
}, {
|
|
56
|
+
readonly name: "listName";
|
|
57
|
+
readonly description: "Audience (list) display name.";
|
|
58
|
+
}, {
|
|
59
|
+
readonly name: "createTime";
|
|
60
|
+
readonly description: "When the campaign was created (Unix ms).";
|
|
61
|
+
}, {
|
|
62
|
+
readonly name: "sendTime";
|
|
63
|
+
readonly description: "When the campaign was sent (Unix ms).";
|
|
64
|
+
}, {
|
|
65
|
+
readonly name: "emailsSent";
|
|
66
|
+
readonly description: "Total emails sent.";
|
|
67
|
+
}];
|
|
68
|
+
readonly responses: {
|
|
69
|
+
readonly campaigns: z.ZodArray<z.ZodObject<{
|
|
70
|
+
id: z.ZodString;
|
|
71
|
+
status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
72
|
+
type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
73
|
+
create_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
74
|
+
send_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
75
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
76
|
+
recipients: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
77
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
78
|
+
list_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
79
|
+
}, z.core.$strip>>>;
|
|
80
|
+
settings: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
81
|
+
subject_line: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
82
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
83
|
+
from_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
84
|
+
reply_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
85
|
+
}, z.core.$strip>>>;
|
|
86
|
+
}, z.core.$strip>>;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
readonly mailchimp_list: {
|
|
90
|
+
readonly shape: "entity";
|
|
91
|
+
readonly description: "Audiences (lists) with member counts, engagement rates, and lifetime campaign count.";
|
|
92
|
+
readonly endpoint: "GET /lists";
|
|
93
|
+
readonly fields: [{
|
|
94
|
+
readonly name: "name";
|
|
95
|
+
readonly description: "Audience name.";
|
|
96
|
+
}, {
|
|
97
|
+
readonly name: "memberCount";
|
|
98
|
+
readonly description: "Number of subscribed members.";
|
|
99
|
+
}, {
|
|
100
|
+
readonly name: "unsubscribeCount";
|
|
101
|
+
readonly description: "Number of unsubscribed members.";
|
|
102
|
+
}, {
|
|
103
|
+
readonly name: "cleanedCount";
|
|
104
|
+
readonly description: "Number of cleaned addresses.";
|
|
105
|
+
}, {
|
|
106
|
+
readonly name: "openRate";
|
|
107
|
+
readonly description: "Lifetime open rate as a fraction (0 to 1).";
|
|
108
|
+
}, {
|
|
109
|
+
readonly name: "clickRate";
|
|
110
|
+
readonly description: "Lifetime click rate as a fraction (0 to 1).";
|
|
111
|
+
}, {
|
|
112
|
+
readonly name: "campaignCount";
|
|
113
|
+
readonly description: "Number of campaigns sent to the audience.";
|
|
114
|
+
}, {
|
|
115
|
+
readonly name: "listRating";
|
|
116
|
+
readonly description: "Mailchimp star rating (0 to 5).";
|
|
117
|
+
}, {
|
|
118
|
+
readonly name: "createdAt";
|
|
119
|
+
readonly description: "When the audience was created (Unix ms).";
|
|
120
|
+
}];
|
|
121
|
+
readonly responses: {
|
|
122
|
+
readonly lists: z.ZodArray<z.ZodObject<{
|
|
123
|
+
id: z.ZodString;
|
|
124
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
125
|
+
date_created: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
126
|
+
list_rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
127
|
+
stats: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
128
|
+
member_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
129
|
+
unsubscribe_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
130
|
+
cleaned_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
131
|
+
open_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
132
|
+
click_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
133
|
+
campaign_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
134
|
+
}, z.core.$strip>>>;
|
|
135
|
+
}, z.core.$strip>>;
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
readonly mailchimp_automation: {
|
|
139
|
+
readonly shape: "entity";
|
|
140
|
+
readonly description: "Automations (classic email workflows) with status, title, sender, audience, and lifetime emails sent.";
|
|
141
|
+
readonly endpoint: "GET /automations";
|
|
142
|
+
readonly fields: [{
|
|
143
|
+
readonly name: "status";
|
|
144
|
+
readonly description: "Automation status (save, paused, sending).";
|
|
145
|
+
}, {
|
|
146
|
+
readonly name: "title";
|
|
147
|
+
readonly description: "Automation title.";
|
|
148
|
+
}, {
|
|
149
|
+
readonly name: "fromName";
|
|
150
|
+
readonly description: "Sender display name.";
|
|
151
|
+
}, {
|
|
152
|
+
readonly name: "replyTo";
|
|
153
|
+
readonly description: "Reply-to email address.";
|
|
154
|
+
}, {
|
|
155
|
+
readonly name: "listId";
|
|
156
|
+
readonly description: "Audience (list) id the automation targets.";
|
|
157
|
+
}, {
|
|
158
|
+
readonly name: "listName";
|
|
159
|
+
readonly description: "Audience (list) display name.";
|
|
160
|
+
}, {
|
|
161
|
+
readonly name: "emailsSent";
|
|
162
|
+
readonly description: "Total emails sent over the workflow lifetime.";
|
|
163
|
+
}, {
|
|
164
|
+
readonly name: "createTime";
|
|
165
|
+
readonly description: "When the automation was created (Unix ms).";
|
|
166
|
+
}, {
|
|
167
|
+
readonly name: "startTime";
|
|
168
|
+
readonly description: "When the automation was started (Unix ms).";
|
|
169
|
+
}];
|
|
170
|
+
readonly responses: {
|
|
171
|
+
readonly automations: z.ZodArray<z.ZodObject<{
|
|
172
|
+
id: z.ZodString;
|
|
173
|
+
create_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
174
|
+
start_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
175
|
+
status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
176
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
177
|
+
recipients: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
178
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
179
|
+
list_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
180
|
+
}, z.core.$strip>>>;
|
|
181
|
+
settings: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
182
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
183
|
+
from_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
184
|
+
reply_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
185
|
+
}, z.core.$strip>>>;
|
|
186
|
+
}, z.core.$strip>>;
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
readonly mailchimp_campaign_stats: {
|
|
190
|
+
readonly shape: "metric";
|
|
191
|
+
readonly description: "Per-campaign engagement stats (sent, opens, clicks, bounces, unsubscribes) timestamped at the campaign send time.";
|
|
192
|
+
readonly endpoint: "GET /reports";
|
|
193
|
+
readonly unit: "emails";
|
|
194
|
+
readonly notes: "One sample per campaign; value is the sent count, and every other counter is exposed in attributes. The scope is cleared and rewritten on every sync because the /reports endpoint has no `since` filter.";
|
|
195
|
+
readonly dimensions: [{
|
|
196
|
+
readonly name: "campaignId";
|
|
197
|
+
readonly description: "Campaign id.";
|
|
198
|
+
}, {
|
|
199
|
+
readonly name: "campaignTitle";
|
|
200
|
+
readonly description: "Campaign internal title.";
|
|
201
|
+
}, {
|
|
202
|
+
readonly name: "campaignType";
|
|
203
|
+
readonly description: "Campaign type.";
|
|
204
|
+
}, {
|
|
205
|
+
readonly name: "listId";
|
|
206
|
+
readonly description: "Audience (list) id.";
|
|
207
|
+
}, {
|
|
208
|
+
readonly name: "opensTotal";
|
|
209
|
+
readonly description: "Total opens.";
|
|
210
|
+
}, {
|
|
211
|
+
readonly name: "uniqueOpens";
|
|
212
|
+
readonly description: "Unique opens.";
|
|
213
|
+
}, {
|
|
214
|
+
readonly name: "openRate";
|
|
215
|
+
readonly description: "Open rate as a fraction (0 to 1).";
|
|
216
|
+
}, {
|
|
217
|
+
readonly name: "clicksTotal";
|
|
218
|
+
readonly description: "Total clicks.";
|
|
219
|
+
}, {
|
|
220
|
+
readonly name: "uniqueClicks";
|
|
221
|
+
readonly description: "Unique clicks.";
|
|
222
|
+
}, {
|
|
223
|
+
readonly name: "clickRate";
|
|
224
|
+
readonly description: "Click rate as a fraction (0 to 1).";
|
|
225
|
+
}, {
|
|
226
|
+
readonly name: "hardBounces";
|
|
227
|
+
readonly description: "Number of hard bounces.";
|
|
228
|
+
}, {
|
|
229
|
+
readonly name: "softBounces";
|
|
230
|
+
readonly description: "Number of soft bounces.";
|
|
231
|
+
}, {
|
|
232
|
+
readonly name: "unsubscribed";
|
|
233
|
+
readonly description: "Number of unsubscribes.";
|
|
234
|
+
}];
|
|
235
|
+
readonly responses: {
|
|
236
|
+
readonly campaign_stats: z.ZodArray<z.ZodObject<{
|
|
237
|
+
id: z.ZodString;
|
|
238
|
+
campaign_title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
239
|
+
type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
240
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
241
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
242
|
+
unsubscribed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
243
|
+
send_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
244
|
+
opens: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
245
|
+
opens_total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
246
|
+
unique_opens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
247
|
+
open_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
248
|
+
}, z.core.$strip>>>;
|
|
249
|
+
clicks: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
250
|
+
clicks_total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
251
|
+
unique_clicks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
252
|
+
click_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
253
|
+
}, z.core.$strip>>>;
|
|
254
|
+
bounces: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
255
|
+
hard_bounces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
256
|
+
soft_bounces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
257
|
+
syntax_errors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
258
|
+
}, z.core.$strip>>>;
|
|
259
|
+
}, z.core.$strip>>;
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
};
|
|
263
|
+
declare const id = "mailchimp";
|
|
264
|
+
declare class MailchimpConnector extends BaseConnector<MailchimpSettings, MailchimpCredentials> {
|
|
265
|
+
static readonly id = "mailchimp";
|
|
266
|
+
static readonly resources: {
|
|
267
|
+
readonly mailchimp_campaign: {
|
|
268
|
+
readonly shape: "entity";
|
|
269
|
+
readonly description: "Campaigns (regular, plaintext, A/B, RSS, etc.) with status, type, subject line, sender, audience, send time, and total emails sent.";
|
|
270
|
+
readonly endpoint: "GET /campaigns";
|
|
271
|
+
readonly fields: [{
|
|
272
|
+
readonly name: "status";
|
|
273
|
+
readonly description: "Campaign status (save, paused, schedule, sending, sent).";
|
|
274
|
+
}, {
|
|
275
|
+
readonly name: "type";
|
|
276
|
+
readonly description: "Campaign type (regular, plaintext, absplit, rss, etc.).";
|
|
277
|
+
}, {
|
|
278
|
+
readonly name: "subjectLine";
|
|
279
|
+
readonly description: "Email subject line.";
|
|
280
|
+
}, {
|
|
281
|
+
readonly name: "title";
|
|
282
|
+
readonly description: "Internal campaign title.";
|
|
283
|
+
}, {
|
|
284
|
+
readonly name: "fromName";
|
|
285
|
+
readonly description: "Sender display name.";
|
|
286
|
+
}, {
|
|
287
|
+
readonly name: "replyTo";
|
|
288
|
+
readonly description: "Reply-to email address.";
|
|
289
|
+
}, {
|
|
290
|
+
readonly name: "listId";
|
|
291
|
+
readonly description: "Audience (list) id the campaign targets.";
|
|
292
|
+
}, {
|
|
293
|
+
readonly name: "listName";
|
|
294
|
+
readonly description: "Audience (list) display name.";
|
|
295
|
+
}, {
|
|
296
|
+
readonly name: "createTime";
|
|
297
|
+
readonly description: "When the campaign was created (Unix ms).";
|
|
298
|
+
}, {
|
|
299
|
+
readonly name: "sendTime";
|
|
300
|
+
readonly description: "When the campaign was sent (Unix ms).";
|
|
301
|
+
}, {
|
|
302
|
+
readonly name: "emailsSent";
|
|
303
|
+
readonly description: "Total emails sent.";
|
|
304
|
+
}];
|
|
305
|
+
readonly responses: {
|
|
306
|
+
readonly campaigns: z.ZodArray<z.ZodObject<{
|
|
307
|
+
id: z.ZodString;
|
|
308
|
+
status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
309
|
+
type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
310
|
+
create_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
311
|
+
send_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
312
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
313
|
+
recipients: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
314
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
315
|
+
list_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
316
|
+
}, z.core.$strip>>>;
|
|
317
|
+
settings: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
318
|
+
subject_line: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
319
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
320
|
+
from_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
321
|
+
reply_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
322
|
+
}, z.core.$strip>>>;
|
|
323
|
+
}, z.core.$strip>>;
|
|
324
|
+
};
|
|
325
|
+
};
|
|
326
|
+
readonly mailchimp_list: {
|
|
327
|
+
readonly shape: "entity";
|
|
328
|
+
readonly description: "Audiences (lists) with member counts, engagement rates, and lifetime campaign count.";
|
|
329
|
+
readonly endpoint: "GET /lists";
|
|
330
|
+
readonly fields: [{
|
|
331
|
+
readonly name: "name";
|
|
332
|
+
readonly description: "Audience name.";
|
|
333
|
+
}, {
|
|
334
|
+
readonly name: "memberCount";
|
|
335
|
+
readonly description: "Number of subscribed members.";
|
|
336
|
+
}, {
|
|
337
|
+
readonly name: "unsubscribeCount";
|
|
338
|
+
readonly description: "Number of unsubscribed members.";
|
|
339
|
+
}, {
|
|
340
|
+
readonly name: "cleanedCount";
|
|
341
|
+
readonly description: "Number of cleaned addresses.";
|
|
342
|
+
}, {
|
|
343
|
+
readonly name: "openRate";
|
|
344
|
+
readonly description: "Lifetime open rate as a fraction (0 to 1).";
|
|
345
|
+
}, {
|
|
346
|
+
readonly name: "clickRate";
|
|
347
|
+
readonly description: "Lifetime click rate as a fraction (0 to 1).";
|
|
348
|
+
}, {
|
|
349
|
+
readonly name: "campaignCount";
|
|
350
|
+
readonly description: "Number of campaigns sent to the audience.";
|
|
351
|
+
}, {
|
|
352
|
+
readonly name: "listRating";
|
|
353
|
+
readonly description: "Mailchimp star rating (0 to 5).";
|
|
354
|
+
}, {
|
|
355
|
+
readonly name: "createdAt";
|
|
356
|
+
readonly description: "When the audience was created (Unix ms).";
|
|
357
|
+
}];
|
|
358
|
+
readonly responses: {
|
|
359
|
+
readonly lists: z.ZodArray<z.ZodObject<{
|
|
360
|
+
id: z.ZodString;
|
|
361
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
362
|
+
date_created: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
363
|
+
list_rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
364
|
+
stats: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
365
|
+
member_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
366
|
+
unsubscribe_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
367
|
+
cleaned_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
368
|
+
open_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
369
|
+
click_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
370
|
+
campaign_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
371
|
+
}, z.core.$strip>>>;
|
|
372
|
+
}, z.core.$strip>>;
|
|
373
|
+
};
|
|
374
|
+
};
|
|
375
|
+
readonly mailchimp_automation: {
|
|
376
|
+
readonly shape: "entity";
|
|
377
|
+
readonly description: "Automations (classic email workflows) with status, title, sender, audience, and lifetime emails sent.";
|
|
378
|
+
readonly endpoint: "GET /automations";
|
|
379
|
+
readonly fields: [{
|
|
380
|
+
readonly name: "status";
|
|
381
|
+
readonly description: "Automation status (save, paused, sending).";
|
|
382
|
+
}, {
|
|
383
|
+
readonly name: "title";
|
|
384
|
+
readonly description: "Automation title.";
|
|
385
|
+
}, {
|
|
386
|
+
readonly name: "fromName";
|
|
387
|
+
readonly description: "Sender display name.";
|
|
388
|
+
}, {
|
|
389
|
+
readonly name: "replyTo";
|
|
390
|
+
readonly description: "Reply-to email address.";
|
|
391
|
+
}, {
|
|
392
|
+
readonly name: "listId";
|
|
393
|
+
readonly description: "Audience (list) id the automation targets.";
|
|
394
|
+
}, {
|
|
395
|
+
readonly name: "listName";
|
|
396
|
+
readonly description: "Audience (list) display name.";
|
|
397
|
+
}, {
|
|
398
|
+
readonly name: "emailsSent";
|
|
399
|
+
readonly description: "Total emails sent over the workflow lifetime.";
|
|
400
|
+
}, {
|
|
401
|
+
readonly name: "createTime";
|
|
402
|
+
readonly description: "When the automation was created (Unix ms).";
|
|
403
|
+
}, {
|
|
404
|
+
readonly name: "startTime";
|
|
405
|
+
readonly description: "When the automation was started (Unix ms).";
|
|
406
|
+
}];
|
|
407
|
+
readonly responses: {
|
|
408
|
+
readonly automations: z.ZodArray<z.ZodObject<{
|
|
409
|
+
id: z.ZodString;
|
|
410
|
+
create_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
411
|
+
start_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
412
|
+
status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
413
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
414
|
+
recipients: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
415
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
416
|
+
list_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
417
|
+
}, z.core.$strip>>>;
|
|
418
|
+
settings: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
419
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
420
|
+
from_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
421
|
+
reply_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
422
|
+
}, z.core.$strip>>>;
|
|
423
|
+
}, z.core.$strip>>;
|
|
424
|
+
};
|
|
425
|
+
};
|
|
426
|
+
readonly mailchimp_campaign_stats: {
|
|
427
|
+
readonly shape: "metric";
|
|
428
|
+
readonly description: "Per-campaign engagement stats (sent, opens, clicks, bounces, unsubscribes) timestamped at the campaign send time.";
|
|
429
|
+
readonly endpoint: "GET /reports";
|
|
430
|
+
readonly unit: "emails";
|
|
431
|
+
readonly notes: "One sample per campaign; value is the sent count, and every other counter is exposed in attributes. The scope is cleared and rewritten on every sync because the /reports endpoint has no `since` filter.";
|
|
432
|
+
readonly dimensions: [{
|
|
433
|
+
readonly name: "campaignId";
|
|
434
|
+
readonly description: "Campaign id.";
|
|
435
|
+
}, {
|
|
436
|
+
readonly name: "campaignTitle";
|
|
437
|
+
readonly description: "Campaign internal title.";
|
|
438
|
+
}, {
|
|
439
|
+
readonly name: "campaignType";
|
|
440
|
+
readonly description: "Campaign type.";
|
|
441
|
+
}, {
|
|
442
|
+
readonly name: "listId";
|
|
443
|
+
readonly description: "Audience (list) id.";
|
|
444
|
+
}, {
|
|
445
|
+
readonly name: "opensTotal";
|
|
446
|
+
readonly description: "Total opens.";
|
|
447
|
+
}, {
|
|
448
|
+
readonly name: "uniqueOpens";
|
|
449
|
+
readonly description: "Unique opens.";
|
|
450
|
+
}, {
|
|
451
|
+
readonly name: "openRate";
|
|
452
|
+
readonly description: "Open rate as a fraction (0 to 1).";
|
|
453
|
+
}, {
|
|
454
|
+
readonly name: "clicksTotal";
|
|
455
|
+
readonly description: "Total clicks.";
|
|
456
|
+
}, {
|
|
457
|
+
readonly name: "uniqueClicks";
|
|
458
|
+
readonly description: "Unique clicks.";
|
|
459
|
+
}, {
|
|
460
|
+
readonly name: "clickRate";
|
|
461
|
+
readonly description: "Click rate as a fraction (0 to 1).";
|
|
462
|
+
}, {
|
|
463
|
+
readonly name: "hardBounces";
|
|
464
|
+
readonly description: "Number of hard bounces.";
|
|
465
|
+
}, {
|
|
466
|
+
readonly name: "softBounces";
|
|
467
|
+
readonly description: "Number of soft bounces.";
|
|
468
|
+
}, {
|
|
469
|
+
readonly name: "unsubscribed";
|
|
470
|
+
readonly description: "Number of unsubscribes.";
|
|
471
|
+
}];
|
|
472
|
+
readonly responses: {
|
|
473
|
+
readonly campaign_stats: z.ZodArray<z.ZodObject<{
|
|
474
|
+
id: z.ZodString;
|
|
475
|
+
campaign_title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
476
|
+
type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
477
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
478
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
479
|
+
unsubscribed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
480
|
+
send_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
481
|
+
opens: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
482
|
+
opens_total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
483
|
+
unique_opens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
484
|
+
open_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
485
|
+
}, z.core.$strip>>>;
|
|
486
|
+
clicks: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
487
|
+
clicks_total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
488
|
+
unique_clicks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
489
|
+
click_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
490
|
+
}, z.core.$strip>>>;
|
|
491
|
+
bounces: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
492
|
+
hard_bounces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
493
|
+
soft_bounces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
494
|
+
syntax_errors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
495
|
+
}, z.core.$strip>>>;
|
|
496
|
+
}, z.core.$strip>>;
|
|
497
|
+
};
|
|
498
|
+
};
|
|
499
|
+
};
|
|
500
|
+
static readonly schemas: {
|
|
501
|
+
readonly campaigns: z.ZodArray<z.ZodObject<{
|
|
502
|
+
id: z.ZodString;
|
|
503
|
+
status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
504
|
+
type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
505
|
+
create_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
506
|
+
send_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
507
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
508
|
+
recipients: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
509
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
510
|
+
list_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
511
|
+
}, z.core.$strip>>>;
|
|
512
|
+
settings: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
513
|
+
subject_line: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
514
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
515
|
+
from_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
516
|
+
reply_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
517
|
+
}, z.core.$strip>>>;
|
|
518
|
+
}, z.core.$strip>>;
|
|
519
|
+
} & {
|
|
520
|
+
readonly lists: z.ZodArray<z.ZodObject<{
|
|
521
|
+
id: z.ZodString;
|
|
522
|
+
name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
523
|
+
date_created: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
524
|
+
list_rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
525
|
+
stats: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
526
|
+
member_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
527
|
+
unsubscribe_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
528
|
+
cleaned_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
529
|
+
open_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
530
|
+
click_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
531
|
+
campaign_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
532
|
+
}, z.core.$strip>>>;
|
|
533
|
+
}, z.core.$strip>>;
|
|
534
|
+
} & {
|
|
535
|
+
readonly automations: z.ZodArray<z.ZodObject<{
|
|
536
|
+
id: z.ZodString;
|
|
537
|
+
create_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
538
|
+
start_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
539
|
+
status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
540
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
541
|
+
recipients: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
542
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
543
|
+
list_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
544
|
+
}, z.core.$strip>>>;
|
|
545
|
+
settings: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
546
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
547
|
+
from_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
548
|
+
reply_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
549
|
+
}, z.core.$strip>>>;
|
|
550
|
+
}, z.core.$strip>>;
|
|
551
|
+
} & {
|
|
552
|
+
readonly campaign_stats: z.ZodArray<z.ZodObject<{
|
|
553
|
+
id: z.ZodString;
|
|
554
|
+
campaign_title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
555
|
+
type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
556
|
+
list_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
557
|
+
emails_sent: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
558
|
+
unsubscribed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
559
|
+
send_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
560
|
+
opens: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
561
|
+
opens_total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
562
|
+
unique_opens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
563
|
+
open_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
564
|
+
}, z.core.$strip>>>;
|
|
565
|
+
clicks: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
566
|
+
clicks_total: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
567
|
+
unique_clicks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
568
|
+
click_rate: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
569
|
+
}, z.core.$strip>>>;
|
|
570
|
+
bounces: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
571
|
+
hard_bounces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
572
|
+
soft_bounces: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
573
|
+
syntax_errors: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
574
|
+
}, z.core.$strip>>>;
|
|
575
|
+
}, z.core.$strip>>;
|
|
576
|
+
} & Readonly<Record<string, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
|
|
577
|
+
static create(input: unknown, ctx?: ConnectorContext): MailchimpConnector;
|
|
578
|
+
readonly id = "mailchimp";
|
|
579
|
+
readonly credentials: {
|
|
580
|
+
apiKey: {
|
|
581
|
+
description: string;
|
|
582
|
+
auth: "required";
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
private get baseUrl();
|
|
586
|
+
private buildHeaders;
|
|
587
|
+
private fetchList;
|
|
588
|
+
private fetchCampaignsPage;
|
|
589
|
+
private writeCampaigns;
|
|
590
|
+
private fetchListsPage;
|
|
591
|
+
private writeLists;
|
|
592
|
+
private fetchAutomationsPage;
|
|
593
|
+
private writeAutomations;
|
|
594
|
+
private fetchReportsPage;
|
|
595
|
+
private writeCampaignStats;
|
|
596
|
+
private clearScopeOnFirstPage;
|
|
597
|
+
private writePhase;
|
|
598
|
+
sync(options: SyncOptions, storage: StorageHandle, signal?: AbortSignal): Promise<SyncResult>;
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
export { MailchimpConnector, type MailchimpResource, type MailchimpSettings, configFields, MailchimpConnector as default, doc, id, mailchimpResources as resources };
|