millionsend 0.2.0 → 0.4.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.
- package/README.md +172 -17
- package/dist/http.d.ts +22 -2
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +33 -6
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/api-keys.d.ts +12 -0
- package/dist/resources/api-keys.d.ts.map +1 -0
- package/dist/resources/api-keys.js +26 -0
- package/dist/resources/api-keys.js.map +1 -0
- package/dist/resources/broadcasts.d.ts +1 -0
- package/dist/resources/broadcasts.d.ts.map +1 -1
- package/dist/resources/broadcasts.js +7 -1
- package/dist/resources/broadcasts.js.map +1 -1
- package/dist/resources/contact-properties.d.ts +15 -0
- package/dist/resources/contact-properties.d.ts.map +1 -0
- package/dist/resources/contact-properties.js +43 -0
- package/dist/resources/contact-properties.js.map +1 -0
- package/dist/resources/contacts.d.ts +22 -2
- package/dist/resources/contacts.d.ts.map +1 -1
- package/dist/resources/contacts.js +47 -1
- package/dist/resources/contacts.js.map +1 -1
- package/dist/resources/deliverability.d.ts +14 -0
- package/dist/resources/deliverability.d.ts.map +1 -0
- package/dist/resources/deliverability.js +15 -0
- package/dist/resources/deliverability.js.map +1 -0
- package/dist/resources/domains.d.ts +18 -0
- package/dist/resources/domains.d.ts.map +1 -0
- package/dist/resources/domains.js +54 -0
- package/dist/resources/domains.js.map +1 -0
- package/dist/resources/emails.d.ts +13 -9
- package/dist/resources/emails.d.ts.map +1 -1
- package/dist/resources/emails.js +36 -1
- package/dist/resources/emails.js.map +1 -1
- package/dist/resources/suppressions.d.ts +33 -0
- package/dist/resources/suppressions.d.ts.map +1 -0
- package/dist/resources/suppressions.js +68 -0
- package/dist/resources/suppressions.js.map +1 -0
- package/dist/resources/templates.d.ts +22 -0
- package/dist/resources/templates.d.ts.map +1 -0
- package/dist/resources/templates.js +61 -0
- package/dist/resources/templates.js.map +1 -0
- package/dist/resources/topics.d.ts +4 -5
- package/dist/resources/topics.d.ts.map +1 -1
- package/dist/resources/topics.js +9 -1
- package/dist/resources/topics.js.map +1 -1
- package/dist/resources/usage.d.ts +11 -0
- package/dist/resources/usage.d.ts.map +1 -0
- package/dist/resources/usage.js +12 -0
- package/dist/resources/usage.js.map +1 -0
- package/dist/resources/webhooks.d.ts +14 -0
- package/dist/resources/webhooks.d.ts.map +1 -0
- package/dist/resources/webhooks.js +36 -0
- package/dist/resources/webhooks.js.map +1 -0
- package/dist/types.d.ts +443 -12
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -8,6 +8,13 @@ export interface Tag {
|
|
|
8
8
|
name: string;
|
|
9
9
|
value: string;
|
|
10
10
|
}
|
|
11
|
+
/** `x-batch-validation` header value for POST /emails/batch and POST /contacts/batch. */
|
|
12
|
+
export type BatchValidation = "strict" | "permissive";
|
|
13
|
+
/** Permissive-mode batch failure: the request index of the item and why it was rejected. */
|
|
14
|
+
export interface BatchError {
|
|
15
|
+
index: number;
|
|
16
|
+
message: string;
|
|
17
|
+
}
|
|
11
18
|
export interface ListOptions {
|
|
12
19
|
limit?: number;
|
|
13
20
|
/** Keyset cursor: return items after this id. Mutually exclusive with `before`. */
|
|
@@ -19,6 +26,15 @@ export interface List<T> {
|
|
|
19
26
|
data: T[];
|
|
20
27
|
has_more: boolean;
|
|
21
28
|
}
|
|
29
|
+
export interface Attachment {
|
|
30
|
+
filename: string;
|
|
31
|
+
/** File bytes as a base64 string, or a Buffer (base64-encoded for you). */
|
|
32
|
+
content?: string | Buffer;
|
|
33
|
+
contentType?: string;
|
|
34
|
+
/** Content-ID for inline references (`<img src="cid:...">`). */
|
|
35
|
+
contentId?: string;
|
|
36
|
+
path?: string;
|
|
37
|
+
}
|
|
22
38
|
export interface SendEmailOptions {
|
|
23
39
|
from: string;
|
|
24
40
|
to: Recipients;
|
|
@@ -28,15 +44,24 @@ export interface SendEmailOptions {
|
|
|
28
44
|
cc?: Recipients;
|
|
29
45
|
bcc?: Recipients;
|
|
30
46
|
replyTo?: Recipients;
|
|
31
|
-
/** ISO 8601 with offset; up to 30 days ahead. */
|
|
47
|
+
/** ISO 8601 with offset, or relative ("in 2 hours"); up to 30 days ahead. */
|
|
32
48
|
scheduledAt?: string;
|
|
33
49
|
tags?: Tag[];
|
|
50
|
+
/** Recipients opted out of the topic are skipped and an unsubscribe link is added. */
|
|
51
|
+
topicId?: string | null;
|
|
52
|
+
attachments?: Attachment[];
|
|
53
|
+
/** Extra message headers; transport headers are rejected by the API. */
|
|
54
|
+
headers?: Record<string, string>;
|
|
55
|
+
/** Sent through as-is; MillionSend answers 422 until templates can be sent. */
|
|
56
|
+
template?: {
|
|
57
|
+
id: string;
|
|
58
|
+
variables?: Record<string, string | number>;
|
|
59
|
+
};
|
|
34
60
|
}
|
|
35
61
|
export interface CreateEmailResponse {
|
|
36
62
|
id: string;
|
|
37
63
|
}
|
|
38
|
-
export interface
|
|
39
|
-
object: "email";
|
|
64
|
+
export interface EmailListItem {
|
|
40
65
|
id: string;
|
|
41
66
|
from: string;
|
|
42
67
|
to: string[];
|
|
@@ -44,19 +69,86 @@ export interface Email {
|
|
|
44
69
|
bcc: string[] | null;
|
|
45
70
|
reply_to: string[] | null;
|
|
46
71
|
subject: string;
|
|
47
|
-
html: string | null;
|
|
48
|
-
text: string | null;
|
|
49
72
|
created_at: string;
|
|
50
73
|
scheduled_at: string | null;
|
|
51
|
-
message_id: string;
|
|
52
74
|
last_event: string;
|
|
53
75
|
}
|
|
76
|
+
export interface Email extends EmailListItem {
|
|
77
|
+
object: "email";
|
|
78
|
+
html: string | null;
|
|
79
|
+
text: string | null;
|
|
80
|
+
message_id: string;
|
|
81
|
+
/** Best-practice score (0–10, one decimal); null when the email has no insights. */
|
|
82
|
+
score: number | null;
|
|
83
|
+
}
|
|
84
|
+
export interface UpdateEmailOptions {
|
|
85
|
+
id: string;
|
|
86
|
+
/** New delivery time; only scheduled, unsent emails can be rescheduled. */
|
|
87
|
+
scheduledAt: string;
|
|
88
|
+
}
|
|
89
|
+
export interface UpdateEmailResponse {
|
|
90
|
+
object: "email";
|
|
91
|
+
id: string;
|
|
92
|
+
}
|
|
54
93
|
export interface CancelEmailResponse {
|
|
55
94
|
object: "email";
|
|
56
95
|
id: string;
|
|
57
96
|
}
|
|
97
|
+
export interface RemoveEmailResponse {
|
|
98
|
+
object: "email";
|
|
99
|
+
id: string;
|
|
100
|
+
deleted: true;
|
|
101
|
+
}
|
|
58
102
|
export interface BatchResponse {
|
|
59
103
|
data: CreateEmailResponse[];
|
|
104
|
+
/** Present in permissive mode: the items that were not accepted. */
|
|
105
|
+
errors?: BatchError[];
|
|
106
|
+
}
|
|
107
|
+
export type ScoreBand = "excellent" | "good" | "needs_attention" | "at_risk" | (string & {});
|
|
108
|
+
export type CheckSeverity = "critical" | "major" | "minor" | "info" | (string & {});
|
|
109
|
+
export type CheckStatus = "pass" | "fail" | "passed_by_design" | "not_applicable" | "unknown" | (string & {});
|
|
110
|
+
export type GuardrailStatus = "ok" | "warning" | "paused" | (string & {});
|
|
111
|
+
export interface InsightsCheck {
|
|
112
|
+
/** Check id from the MillionSend check catalog — an open set. */
|
|
113
|
+
id: string;
|
|
114
|
+
severity: CheckSeverity;
|
|
115
|
+
status: CheckStatus;
|
|
116
|
+
/** Points deducted from the score; 0 unless status is "fail". */
|
|
117
|
+
penalty: number;
|
|
118
|
+
detail?: Record<string, unknown>;
|
|
119
|
+
}
|
|
120
|
+
export interface EmailInsights {
|
|
121
|
+
object: "email_insights";
|
|
122
|
+
email_id: string;
|
|
123
|
+
/** Best-practice score, 0–10, one decimal. */
|
|
124
|
+
score: number;
|
|
125
|
+
score_version: number;
|
|
126
|
+
band: ScoreBand;
|
|
127
|
+
marketing: boolean;
|
|
128
|
+
html_size_bytes: number | null;
|
|
129
|
+
computed_at: string;
|
|
130
|
+
checks: InsightsCheck[];
|
|
131
|
+
}
|
|
132
|
+
/** Account score over the trailing window; null scores mean not enough data. */
|
|
133
|
+
export interface Deliverability {
|
|
134
|
+
object: "deliverability";
|
|
135
|
+
score: number | null;
|
|
136
|
+
band: ScoreBand | null;
|
|
137
|
+
content_score: number | null;
|
|
138
|
+
outcome_score: number | null;
|
|
139
|
+
complaint_rate: number;
|
|
140
|
+
hard_bounce_rate: number;
|
|
141
|
+
emails_sent: number;
|
|
142
|
+
scored_recipients: number;
|
|
143
|
+
window_days: number;
|
|
144
|
+
insufficient_outcome_data: boolean;
|
|
145
|
+
guardrail_status: GuardrailStatus;
|
|
146
|
+
score_version: number;
|
|
147
|
+
}
|
|
148
|
+
export type TopicSubscription = "opt_in" | "opt_out";
|
|
149
|
+
export interface ContactTopicUpdate {
|
|
150
|
+
id: string;
|
|
151
|
+
subscription: TopicSubscription;
|
|
60
152
|
}
|
|
61
153
|
export interface CreateContactOptions {
|
|
62
154
|
email: string;
|
|
@@ -64,6 +156,12 @@ export interface CreateContactOptions {
|
|
|
64
156
|
lastName?: string;
|
|
65
157
|
unsubscribed?: boolean;
|
|
66
158
|
properties?: Record<string, string | number | boolean | null>;
|
|
159
|
+
/** Segments to add the contact to on creation. */
|
|
160
|
+
segments?: {
|
|
161
|
+
id: string;
|
|
162
|
+
}[];
|
|
163
|
+
/** Initial per-topic subscription choices. */
|
|
164
|
+
topics?: ContactTopicUpdate[];
|
|
67
165
|
}
|
|
68
166
|
/** Address a contact by id or email (email wins if both are given). */
|
|
69
167
|
export interface ContactAddress {
|
|
@@ -76,10 +174,22 @@ export interface UpdateContactOptions extends ContactAddress {
|
|
|
76
174
|
unsubscribed?: boolean;
|
|
77
175
|
properties?: Record<string, string | number | boolean | null>;
|
|
78
176
|
}
|
|
177
|
+
export interface ListContactsOptions extends ListOptions {
|
|
178
|
+
/** List only the contacts matching this segment (GET /segments/:id/contacts). */
|
|
179
|
+
segmentId?: string;
|
|
180
|
+
}
|
|
79
181
|
export interface ContactId {
|
|
80
182
|
object: "contact";
|
|
81
183
|
id: string;
|
|
82
184
|
}
|
|
185
|
+
/** A custom property as returned by GET /contacts/:id — typed by the property definition. */
|
|
186
|
+
export type ContactPropertyValue = {
|
|
187
|
+
type: "string";
|
|
188
|
+
value: string;
|
|
189
|
+
} | {
|
|
190
|
+
type: "number";
|
|
191
|
+
value: number;
|
|
192
|
+
};
|
|
83
193
|
export interface Contact {
|
|
84
194
|
object: "contact";
|
|
85
195
|
id: string;
|
|
@@ -88,7 +198,7 @@ export interface Contact {
|
|
|
88
198
|
last_name: string | null;
|
|
89
199
|
created_at: string;
|
|
90
200
|
unsubscribed: boolean;
|
|
91
|
-
properties: Record<string,
|
|
201
|
+
properties: Record<string, ContactPropertyValue>;
|
|
92
202
|
}
|
|
93
203
|
export interface ContactListItem {
|
|
94
204
|
id: string;
|
|
@@ -103,27 +213,99 @@ export interface RemoveContactResponse {
|
|
|
103
213
|
contact: string;
|
|
104
214
|
deleted: true;
|
|
105
215
|
}
|
|
106
|
-
export type TopicSubscription = "opt_in" | "opt_out";
|
|
107
|
-
export interface ContactTopicUpdate {
|
|
108
|
-
id: string;
|
|
109
|
-
subscription: TopicSubscription;
|
|
110
|
-
}
|
|
111
216
|
export interface UpdateContactTopicsOptions extends ContactAddress {
|
|
112
217
|
topics: ContactTopicUpdate[];
|
|
113
218
|
}
|
|
114
219
|
export interface UpdateContactTopicsResponse {
|
|
115
220
|
id: string;
|
|
116
221
|
}
|
|
222
|
+
/** What POST /contacts/batch does with an email that already belongs to a contact. */
|
|
223
|
+
export type ContactOnConflict = "error" | "skip" | "upsert";
|
|
224
|
+
export interface CreateContactsBatchOptions {
|
|
225
|
+
/** `error` (default) fails the item, `skip` reports the existing id, `upsert` merges into it. */
|
|
226
|
+
onConflict?: ContactOnConflict;
|
|
227
|
+
batchValidation?: BatchValidation;
|
|
228
|
+
}
|
|
229
|
+
export interface BatchContactResult {
|
|
230
|
+
object: "contact";
|
|
231
|
+
/** Position of the item in the request array. */
|
|
232
|
+
index: number;
|
|
233
|
+
/** The contact's id (the existing one for skipped/updated). */
|
|
234
|
+
id: string;
|
|
235
|
+
status: "created" | "updated" | "skipped";
|
|
236
|
+
}
|
|
237
|
+
export interface BatchContactsResponse {
|
|
238
|
+
data: BatchContactResult[];
|
|
239
|
+
counts: {
|
|
240
|
+
created: number;
|
|
241
|
+
updated: number;
|
|
242
|
+
skipped: number;
|
|
243
|
+
failed: number;
|
|
244
|
+
};
|
|
245
|
+
/** Present in permissive mode: the items that were not written. */
|
|
246
|
+
errors?: BatchError[];
|
|
247
|
+
}
|
|
248
|
+
/** Address a contact by id, email or Resend's `contactId` (email wins). */
|
|
249
|
+
export interface ContactSegmentOptions extends ContactAddress {
|
|
250
|
+
contactId?: string;
|
|
251
|
+
segmentId: string;
|
|
252
|
+
}
|
|
253
|
+
export interface AddContactSegmentResponse {
|
|
254
|
+
id: string;
|
|
255
|
+
}
|
|
256
|
+
export interface RemoveContactSegmentResponse {
|
|
257
|
+
id: string;
|
|
258
|
+
audienceId: string;
|
|
259
|
+
deleted: true;
|
|
260
|
+
}
|
|
261
|
+
export type ContactPropertyType = "string" | "number";
|
|
262
|
+
export interface CreateContactPropertyOptions {
|
|
263
|
+
key: string;
|
|
264
|
+
type: ContactPropertyType;
|
|
265
|
+
/** Value used when a contact has no value for the key; null means none. */
|
|
266
|
+
fallbackValue?: string | number | null;
|
|
267
|
+
}
|
|
268
|
+
export interface UpdateContactPropertyOptions {
|
|
269
|
+
id: string;
|
|
270
|
+
fallbackValue?: string | number | null;
|
|
271
|
+
}
|
|
272
|
+
export interface ContactPropertyListItem {
|
|
273
|
+
id: string;
|
|
274
|
+
created_at: string;
|
|
275
|
+
key: string;
|
|
276
|
+
type: ContactPropertyType;
|
|
277
|
+
fallback_value: string | number | null;
|
|
278
|
+
}
|
|
279
|
+
export interface ContactProperty extends ContactPropertyListItem {
|
|
280
|
+
object: "contact_property";
|
|
281
|
+
}
|
|
282
|
+
export interface ContactPropertyId {
|
|
283
|
+
object: "contact_property";
|
|
284
|
+
id: string;
|
|
285
|
+
}
|
|
286
|
+
export interface RemoveContactPropertyResponse {
|
|
287
|
+
object: "contact_property";
|
|
288
|
+
id: string;
|
|
289
|
+
deleted: true;
|
|
290
|
+
}
|
|
291
|
+
export type TopicVisibility = "private" | "public";
|
|
117
292
|
export interface CreateTopicOptions {
|
|
118
293
|
name: string;
|
|
119
294
|
description?: string;
|
|
120
295
|
defaultSubscription: TopicSubscription;
|
|
296
|
+
visibility?: TopicVisibility;
|
|
297
|
+
}
|
|
298
|
+
export interface UpdateTopicOptions {
|
|
299
|
+
name?: string;
|
|
300
|
+
description?: string;
|
|
301
|
+
visibility?: TopicVisibility;
|
|
121
302
|
}
|
|
122
303
|
export interface Topic {
|
|
123
304
|
id: string;
|
|
124
305
|
name: string;
|
|
125
306
|
description?: string;
|
|
126
307
|
default_subscription: TopicSubscription;
|
|
308
|
+
visibility: TopicVisibility;
|
|
127
309
|
created_at: string;
|
|
128
310
|
}
|
|
129
311
|
export interface TopicId {
|
|
@@ -142,7 +324,13 @@ export interface CreateBroadcastOptions {
|
|
|
142
324
|
html?: string;
|
|
143
325
|
text?: string;
|
|
144
326
|
replyTo?: Recipients;
|
|
327
|
+
/** Inbox preview (preheader) text. */
|
|
328
|
+
previewText?: string;
|
|
145
329
|
topicId?: string | null;
|
|
330
|
+
/** true sends (or schedules) immediately instead of saving a draft. */
|
|
331
|
+
send?: boolean;
|
|
332
|
+
/** Deliver later (requires `send: true`); ISO 8601 with offset or relative. */
|
|
333
|
+
scheduledAt?: string;
|
|
146
334
|
}
|
|
147
335
|
export interface UpdateBroadcastOptions {
|
|
148
336
|
name?: string;
|
|
@@ -152,6 +340,8 @@ export interface UpdateBroadcastOptions {
|
|
|
152
340
|
html?: string;
|
|
153
341
|
text?: string;
|
|
154
342
|
replyTo?: Recipients;
|
|
343
|
+
previewText?: string;
|
|
344
|
+
/** null clears the topic. */
|
|
155
345
|
topicId?: string | null;
|
|
156
346
|
}
|
|
157
347
|
export interface SendBroadcastOptions {
|
|
@@ -221,4 +411,245 @@ export interface RemoveSegmentResponse {
|
|
|
221
411
|
id: string;
|
|
222
412
|
deleted: true;
|
|
223
413
|
}
|
|
414
|
+
export type SuppressionOrigin = "bounce" | "complaint" | "manual" | "unsubscribe";
|
|
415
|
+
export interface AddSuppressionOptions {
|
|
416
|
+
email: string;
|
|
417
|
+
/** Origin recorded on the new row (default manual); an already suppressed address keeps its origin. */
|
|
418
|
+
origin?: SuppressionOrigin;
|
|
419
|
+
}
|
|
420
|
+
export interface ListSuppressionsOptions extends ListOptions {
|
|
421
|
+
origin?: SuppressionOrigin;
|
|
422
|
+
}
|
|
423
|
+
export interface SuppressionId {
|
|
424
|
+
object: "suppression";
|
|
425
|
+
id: string;
|
|
426
|
+
}
|
|
427
|
+
export interface SuppressionListItem {
|
|
428
|
+
id: string;
|
|
429
|
+
email: string;
|
|
430
|
+
origin: SuppressionOrigin;
|
|
431
|
+
/** Email id whose bounce/complaint created the entry. */
|
|
432
|
+
source_id: string | null;
|
|
433
|
+
created_at: string;
|
|
434
|
+
}
|
|
435
|
+
export interface Suppression extends SuppressionListItem {
|
|
436
|
+
object: "suppression";
|
|
437
|
+
}
|
|
438
|
+
export interface RemoveSuppressionResponse {
|
|
439
|
+
object: "suppression";
|
|
440
|
+
id: string;
|
|
441
|
+
deleted: true;
|
|
442
|
+
}
|
|
443
|
+
export interface BatchAddSuppressionsOptions {
|
|
444
|
+
/** Up to 1000 addresses; duplicates collapse. */
|
|
445
|
+
emails: string[];
|
|
446
|
+
origin?: SuppressionOrigin;
|
|
447
|
+
}
|
|
448
|
+
export type BatchRemoveSuppressionsOptions = {
|
|
449
|
+
emails: string[];
|
|
450
|
+
ids?: never;
|
|
451
|
+
} | {
|
|
452
|
+
ids: string[];
|
|
453
|
+
emails?: never;
|
|
454
|
+
};
|
|
455
|
+
export type DomainRegion = "us-east-1" | "eu-west-1" | "sa-east-1" | "ap-northeast-1";
|
|
456
|
+
export interface DomainCapabilities {
|
|
457
|
+
sending: string;
|
|
458
|
+
receiving: string;
|
|
459
|
+
}
|
|
460
|
+
export interface CreateDomainOptions {
|
|
461
|
+
name: string;
|
|
462
|
+
/** Each deployment serves one region and rejects any other; omit to use it. */
|
|
463
|
+
region?: DomainRegion;
|
|
464
|
+
/** Return-path subdomain label (default "send"). */
|
|
465
|
+
customReturnPath?: string;
|
|
466
|
+
openTracking?: boolean;
|
|
467
|
+
clickTracking?: boolean;
|
|
468
|
+
/** DNS label of the branded tracking host, e.g. "links" for links.<domain>. */
|
|
469
|
+
trackingSubdomain?: string;
|
|
470
|
+
}
|
|
471
|
+
export interface UpdateDomainOptions {
|
|
472
|
+
id: string;
|
|
473
|
+
openTracking?: boolean;
|
|
474
|
+
clickTracking?: boolean;
|
|
475
|
+
/** Empty string or null clears it. */
|
|
476
|
+
trackingSubdomain?: string | null;
|
|
477
|
+
/** Accepted for Resend payload compatibility; MillionSend ignores them. */
|
|
478
|
+
tls?: "enforced" | "opportunistic";
|
|
479
|
+
capabilities?: Partial<DomainCapabilities>;
|
|
480
|
+
}
|
|
481
|
+
export interface DomainRecord {
|
|
482
|
+
record: string;
|
|
483
|
+
name: string;
|
|
484
|
+
type: string;
|
|
485
|
+
ttl: string;
|
|
486
|
+
status: string;
|
|
487
|
+
value: string;
|
|
488
|
+
priority?: number;
|
|
489
|
+
}
|
|
490
|
+
export interface DomainListItem {
|
|
491
|
+
id: string;
|
|
492
|
+
name: string;
|
|
493
|
+
status: string;
|
|
494
|
+
created_at: string;
|
|
495
|
+
region: string;
|
|
496
|
+
open_tracking: boolean;
|
|
497
|
+
click_tracking: boolean;
|
|
498
|
+
tracking_subdomain: string | null;
|
|
499
|
+
capabilities: DomainCapabilities;
|
|
500
|
+
}
|
|
501
|
+
export interface CreateDomainResponse extends DomainListItem {
|
|
502
|
+
records: DomainRecord[];
|
|
503
|
+
}
|
|
504
|
+
export interface Domain extends CreateDomainResponse {
|
|
505
|
+
object: "domain";
|
|
506
|
+
}
|
|
507
|
+
export interface RemoveDomainResponse {
|
|
508
|
+
object: "domain";
|
|
509
|
+
id: string;
|
|
510
|
+
deleted: true;
|
|
511
|
+
}
|
|
512
|
+
export type WebhookEvent = "email.sent" | "email.delivered" | "email.delivery_delayed" | "email.bounced" | "email.complained" | "email.opened" | "email.clicked" | "deliverability.warning" | "deliverability.paused" | "quota.warning" | "quota.reached" | (string & {});
|
|
513
|
+
export type WebhookStatus = "enabled" | "disabled";
|
|
514
|
+
export interface CreateWebhookOptions {
|
|
515
|
+
endpoint: string;
|
|
516
|
+
events: WebhookEvent[];
|
|
517
|
+
/** Carry over an existing `whsec_…` secret so the receiver keeps verifying unchanged; omit to mint one. */
|
|
518
|
+
signingSecret?: string;
|
|
519
|
+
}
|
|
520
|
+
export interface UpdateWebhookOptions {
|
|
521
|
+
endpoint?: string;
|
|
522
|
+
events?: WebhookEvent[];
|
|
523
|
+
status?: WebhookStatus;
|
|
524
|
+
}
|
|
525
|
+
export interface CreateWebhookResponse {
|
|
526
|
+
object: "webhook";
|
|
527
|
+
id: string;
|
|
528
|
+
signing_secret: string;
|
|
529
|
+
}
|
|
530
|
+
export interface WebhookListItem {
|
|
531
|
+
id: string;
|
|
532
|
+
endpoint: string;
|
|
533
|
+
created_at: string;
|
|
534
|
+
status: WebhookStatus;
|
|
535
|
+
events: string[] | null;
|
|
536
|
+
}
|
|
537
|
+
export interface Webhook extends WebhookListItem {
|
|
538
|
+
object: "webhook";
|
|
539
|
+
signing_secret: string;
|
|
540
|
+
}
|
|
541
|
+
export interface WebhookId {
|
|
542
|
+
object: "webhook";
|
|
543
|
+
id: string;
|
|
544
|
+
}
|
|
545
|
+
export interface RemoveWebhookResponse {
|
|
546
|
+
object: "webhook";
|
|
547
|
+
id: string;
|
|
548
|
+
deleted: true;
|
|
549
|
+
}
|
|
550
|
+
export type ApiKeyPermission = "full_access" | "sending_access";
|
|
551
|
+
export interface CreateApiKeyOptions {
|
|
552
|
+
name: string;
|
|
553
|
+
/** Defaults to full_access. */
|
|
554
|
+
permission?: ApiKeyPermission;
|
|
555
|
+
/** Restrict a sending_access key to one domain. */
|
|
556
|
+
domainId?: string | null;
|
|
557
|
+
/** Resend's spelling of `domainId`; either works. */
|
|
558
|
+
domain_id?: string | null;
|
|
559
|
+
}
|
|
560
|
+
export interface CreateApiKeyResponse {
|
|
561
|
+
id: string;
|
|
562
|
+
/** The secret, shown once. */
|
|
563
|
+
token: string;
|
|
564
|
+
}
|
|
565
|
+
export interface ApiKeyListItem {
|
|
566
|
+
id: string;
|
|
567
|
+
name: string;
|
|
568
|
+
created_at: string;
|
|
569
|
+
last_used_at: string | null;
|
|
570
|
+
}
|
|
571
|
+
export interface RemoveApiKeyResponse {
|
|
572
|
+
object: "api_key";
|
|
573
|
+
id: string;
|
|
574
|
+
deleted: true;
|
|
575
|
+
}
|
|
576
|
+
export interface CreateTemplateOptions {
|
|
577
|
+
name: string;
|
|
578
|
+
html: string;
|
|
579
|
+
/** "" or null clears the subject. */
|
|
580
|
+
subject?: string | null;
|
|
581
|
+
/** "" or null clears the text part. */
|
|
582
|
+
text?: string | null;
|
|
583
|
+
/** Case-sensitive handle, unique per team; `get(alias)` resolves it. */
|
|
584
|
+
alias?: string | null;
|
|
585
|
+
/** Sent through as-is; MillionSend answers 422 for any value. */
|
|
586
|
+
from?: string | null;
|
|
587
|
+
/** Sent through as-is; MillionSend answers 422 for any value. */
|
|
588
|
+
replyTo?: Recipients | null;
|
|
589
|
+
/** Sent through as-is; MillionSend answers 422 for a non-empty list. */
|
|
590
|
+
variables?: unknown[];
|
|
591
|
+
}
|
|
592
|
+
export interface UpdateTemplateOptions {
|
|
593
|
+
name?: string;
|
|
594
|
+
html?: string;
|
|
595
|
+
subject?: string | null;
|
|
596
|
+
text?: string | null;
|
|
597
|
+
/** null clears the alias. */
|
|
598
|
+
alias?: string | null;
|
|
599
|
+
from?: string | null;
|
|
600
|
+
replyTo?: Recipients | null;
|
|
601
|
+
variables?: unknown[];
|
|
602
|
+
}
|
|
603
|
+
export interface TemplateId {
|
|
604
|
+
object: "template";
|
|
605
|
+
id: string;
|
|
606
|
+
}
|
|
607
|
+
export interface TemplateListItem {
|
|
608
|
+
id: string;
|
|
609
|
+
name: string;
|
|
610
|
+
alias: string | null;
|
|
611
|
+
/** Always "published": every save is live. */
|
|
612
|
+
status: "published";
|
|
613
|
+
published_at: string;
|
|
614
|
+
created_at: string;
|
|
615
|
+
updated_at: string;
|
|
616
|
+
}
|
|
617
|
+
export interface Template extends TemplateListItem {
|
|
618
|
+
object: "template";
|
|
619
|
+
current_version_id: string;
|
|
620
|
+
from: string | null;
|
|
621
|
+
subject: string | null;
|
|
622
|
+
reply_to: string | string[] | null;
|
|
623
|
+
html: string;
|
|
624
|
+
text: string | null;
|
|
625
|
+
variables: unknown[];
|
|
626
|
+
has_unpublished_versions: false;
|
|
627
|
+
}
|
|
628
|
+
export interface RemoveTemplateResponse {
|
|
629
|
+
object: "template";
|
|
630
|
+
id: string;
|
|
631
|
+
deleted: true;
|
|
632
|
+
}
|
|
633
|
+
export interface Usage {
|
|
634
|
+
object: "usage";
|
|
635
|
+
/** True on MillionSend Cloud, where plan limits apply. */
|
|
636
|
+
cloud: boolean;
|
|
637
|
+
/** Effective plan; null when self-hosted. */
|
|
638
|
+
plan: "free" | "pro" | "scale" | null;
|
|
639
|
+
/** null = unlimited or self-hosted. */
|
|
640
|
+
limits: {
|
|
641
|
+
emails_per_day: number | null;
|
|
642
|
+
domains: number | null;
|
|
643
|
+
};
|
|
644
|
+
today: {
|
|
645
|
+
emails_sent: number;
|
|
646
|
+
resets_at: string;
|
|
647
|
+
};
|
|
648
|
+
team: {
|
|
649
|
+
id: string;
|
|
650
|
+
name: string;
|
|
651
|
+
};
|
|
652
|
+
/** Dashboard origin, for building links; null when unset. */
|
|
653
|
+
app_url: string | null;
|
|
654
|
+
}
|
|
224
655
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|