@eusend_dev/sdk 0.1.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 +536 -0
- package/dist/index.cjs +385 -0
- package/dist/index.d.cts +418 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +418 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +386 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +35 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
//#region src/interfaces.d.ts
|
|
2
|
+
type EusendErrorCode = 'UNAUTHORIZED' | 'FORBIDDEN' | 'NOT_FOUND' | 'VALIDATION_ERROR' | 'RATE_LIMITED' | 'MONTHLY_LIMIT_EXCEEDED' | 'DAILY_LIMIT_EXCEEDED' | 'ALL_SUPPRESSED' | 'INTERNAL_ERROR' | 'CONFLICT' | 'PLAN_LIMIT_EXCEEDED' | 'application_error';
|
|
3
|
+
interface EusendError {
|
|
4
|
+
message: string;
|
|
5
|
+
statusCode: number | null;
|
|
6
|
+
name: EusendErrorCode;
|
|
7
|
+
}
|
|
8
|
+
type EusendResponse<T> = {
|
|
9
|
+
data: T;
|
|
10
|
+
error: null;
|
|
11
|
+
headers: Record<string, string>;
|
|
12
|
+
} | {
|
|
13
|
+
data: null;
|
|
14
|
+
error: EusendError;
|
|
15
|
+
headers: Record<string, string> | null;
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/emails.d.ts
|
|
19
|
+
type EmailStatus = 'queued' | 'sending' | 'sent' | 'delivered' | 'bounced' | 'complained' | 'suppressed' | 'failed';
|
|
20
|
+
type EmailEventType = 'sent' | 'delivered' | 'opened' | 'clicked' | 'bounced' | 'complained';
|
|
21
|
+
interface SendEmailOptions {
|
|
22
|
+
from: string;
|
|
23
|
+
to: string | string[];
|
|
24
|
+
cc?: string | string[];
|
|
25
|
+
bcc?: string | string[];
|
|
26
|
+
replyTo?: string | string[];
|
|
27
|
+
subject?: string;
|
|
28
|
+
html?: string;
|
|
29
|
+
text?: string;
|
|
30
|
+
templateId?: string;
|
|
31
|
+
variables?: Record<string, unknown>;
|
|
32
|
+
headers?: Record<string, string>;
|
|
33
|
+
trackOpens?: boolean;
|
|
34
|
+
trackClicks?: boolean;
|
|
35
|
+
}
|
|
36
|
+
interface SendEmailRequestOptions {
|
|
37
|
+
idempotencyKey?: string;
|
|
38
|
+
}
|
|
39
|
+
interface SendEmailResponse {
|
|
40
|
+
id: string;
|
|
41
|
+
}
|
|
42
|
+
interface BatchSendResponse {
|
|
43
|
+
data: SendEmailResponse[];
|
|
44
|
+
}
|
|
45
|
+
interface EmailEvent {
|
|
46
|
+
id: string;
|
|
47
|
+
type: EmailEventType;
|
|
48
|
+
metadata: Record<string, unknown>;
|
|
49
|
+
createdAt: string;
|
|
50
|
+
}
|
|
51
|
+
interface Email {
|
|
52
|
+
id: string;
|
|
53
|
+
from: string;
|
|
54
|
+
to: string[];
|
|
55
|
+
cc: string[];
|
|
56
|
+
bcc: string[];
|
|
57
|
+
replyTo: string[];
|
|
58
|
+
subject: string;
|
|
59
|
+
html: string | null;
|
|
60
|
+
text: string | null;
|
|
61
|
+
status: EmailStatus;
|
|
62
|
+
testMode: boolean;
|
|
63
|
+
templateId: string | null;
|
|
64
|
+
createdAt: string;
|
|
65
|
+
events: EmailEvent[];
|
|
66
|
+
}
|
|
67
|
+
interface EmailListItem {
|
|
68
|
+
id: string;
|
|
69
|
+
from: string;
|
|
70
|
+
to: string[];
|
|
71
|
+
subject: string;
|
|
72
|
+
status: EmailStatus;
|
|
73
|
+
testMode: boolean;
|
|
74
|
+
createdAt: string;
|
|
75
|
+
}
|
|
76
|
+
interface ListEmailsOptions {
|
|
77
|
+
limit?: number;
|
|
78
|
+
cursor?: string;
|
|
79
|
+
status?: EmailStatus;
|
|
80
|
+
from?: string;
|
|
81
|
+
to?: string;
|
|
82
|
+
}
|
|
83
|
+
interface ListEmailsResponse {
|
|
84
|
+
data: EmailListItem[];
|
|
85
|
+
nextCursor: string | null;
|
|
86
|
+
}
|
|
87
|
+
declare class Emails {
|
|
88
|
+
private readonly client;
|
|
89
|
+
constructor(client: Eusend);
|
|
90
|
+
send(options: SendEmailOptions, requestOptions?: SendEmailRequestOptions): Promise<EusendResponse<SendEmailResponse>>;
|
|
91
|
+
batch(emails: SendEmailOptions[]): Promise<EusendResponse<BatchSendResponse>>;
|
|
92
|
+
list(options?: ListEmailsOptions): Promise<EusendResponse<ListEmailsResponse>>;
|
|
93
|
+
get(id: string): Promise<EusendResponse<Email>>;
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/domains.d.ts
|
|
97
|
+
type DomainStatus = 'pending' | 'verified' | 'failed';
|
|
98
|
+
interface DnsRecord {
|
|
99
|
+
type: string;
|
|
100
|
+
name: string;
|
|
101
|
+
value: string;
|
|
102
|
+
}
|
|
103
|
+
interface CreateDomainResponse {
|
|
104
|
+
id: string;
|
|
105
|
+
name: string;
|
|
106
|
+
dkim: DnsRecord;
|
|
107
|
+
spf: DnsRecord;
|
|
108
|
+
dmarc: DnsRecord;
|
|
109
|
+
}
|
|
110
|
+
interface DomainListItem {
|
|
111
|
+
id: string;
|
|
112
|
+
name: string;
|
|
113
|
+
status: DomainStatus;
|
|
114
|
+
createdAt: string;
|
|
115
|
+
}
|
|
116
|
+
interface Domain {
|
|
117
|
+
id: string;
|
|
118
|
+
name: string;
|
|
119
|
+
dkimPublicKey: string;
|
|
120
|
+
dkimSelector: string;
|
|
121
|
+
status: DomainStatus;
|
|
122
|
+
createdAt: string;
|
|
123
|
+
verifiedAt: string | null;
|
|
124
|
+
}
|
|
125
|
+
declare class Domains {
|
|
126
|
+
private readonly client;
|
|
127
|
+
constructor(client: Eusend);
|
|
128
|
+
create(name: string): Promise<EusendResponse<CreateDomainResponse>>;
|
|
129
|
+
list(): Promise<EusendResponse<DomainListItem[]>>;
|
|
130
|
+
get(id: string): Promise<EusendResponse<Domain>>;
|
|
131
|
+
delete(id: string): Promise<EusendResponse<{
|
|
132
|
+
message: string;
|
|
133
|
+
}>>;
|
|
134
|
+
verify(id: string): Promise<EusendResponse<{
|
|
135
|
+
message: string;
|
|
136
|
+
}>>;
|
|
137
|
+
}
|
|
138
|
+
//#endregion
|
|
139
|
+
//#region src/api-keys.d.ts
|
|
140
|
+
interface CreateApiKeyOptions {
|
|
141
|
+
name: string;
|
|
142
|
+
testMode?: boolean;
|
|
143
|
+
}
|
|
144
|
+
interface CreateApiKeyResponse {
|
|
145
|
+
id: string;
|
|
146
|
+
name: string;
|
|
147
|
+
key: string;
|
|
148
|
+
prefix: string;
|
|
149
|
+
testMode: boolean;
|
|
150
|
+
createdAt: string;
|
|
151
|
+
}
|
|
152
|
+
interface ApiKey {
|
|
153
|
+
id: string;
|
|
154
|
+
name: string;
|
|
155
|
+
prefix: string;
|
|
156
|
+
testMode: boolean;
|
|
157
|
+
createdAt: string;
|
|
158
|
+
lastUsedAt: string | null;
|
|
159
|
+
}
|
|
160
|
+
declare class ApiKeys {
|
|
161
|
+
private readonly client;
|
|
162
|
+
constructor(client: Eusend);
|
|
163
|
+
create(options: CreateApiKeyOptions): Promise<EusendResponse<CreateApiKeyResponse>>;
|
|
164
|
+
list(): Promise<EusendResponse<ApiKey[]>>;
|
|
165
|
+
delete(id: string): Promise<EusendResponse<{
|
|
166
|
+
message: string;
|
|
167
|
+
}>>;
|
|
168
|
+
}
|
|
169
|
+
//#endregion
|
|
170
|
+
//#region src/audiences.d.ts
|
|
171
|
+
type ContactStatus = 'subscribed' | 'unsubscribed';
|
|
172
|
+
interface Audience {
|
|
173
|
+
id: string;
|
|
174
|
+
name: string;
|
|
175
|
+
organizationId: string;
|
|
176
|
+
createdAt: string;
|
|
177
|
+
updatedAt: string;
|
|
178
|
+
}
|
|
179
|
+
interface AudienceListItem {
|
|
180
|
+
id: string;
|
|
181
|
+
name: string;
|
|
182
|
+
createdAt: string;
|
|
183
|
+
contactCount: number;
|
|
184
|
+
}
|
|
185
|
+
interface Contact {
|
|
186
|
+
id: string;
|
|
187
|
+
audienceId: string;
|
|
188
|
+
email: string;
|
|
189
|
+
firstName: string | null;
|
|
190
|
+
lastName: string | null;
|
|
191
|
+
status: ContactStatus;
|
|
192
|
+
unsubscribedAt: string | null;
|
|
193
|
+
createdAt: string;
|
|
194
|
+
updatedAt: string;
|
|
195
|
+
}
|
|
196
|
+
interface CreateContactOptions {
|
|
197
|
+
email: string;
|
|
198
|
+
firstName?: string;
|
|
199
|
+
lastName?: string;
|
|
200
|
+
}
|
|
201
|
+
interface UpdateContactOptions {
|
|
202
|
+
firstName?: string;
|
|
203
|
+
lastName?: string;
|
|
204
|
+
unsubscribed?: boolean;
|
|
205
|
+
}
|
|
206
|
+
interface ListContactsOptions {
|
|
207
|
+
limit?: number;
|
|
208
|
+
cursor?: string;
|
|
209
|
+
search?: string;
|
|
210
|
+
subscribed?: boolean;
|
|
211
|
+
}
|
|
212
|
+
interface ListContactsResponse {
|
|
213
|
+
data: Contact[];
|
|
214
|
+
nextCursor: string | null;
|
|
215
|
+
}
|
|
216
|
+
interface BatchCreateContactsOptions {
|
|
217
|
+
contacts: CreateContactOptions[];
|
|
218
|
+
}
|
|
219
|
+
declare class Audiences {
|
|
220
|
+
private readonly client;
|
|
221
|
+
constructor(client: Eusend);
|
|
222
|
+
create(name: string): Promise<EusendResponse<Audience>>;
|
|
223
|
+
list(): Promise<EusendResponse<AudienceListItem[]>>;
|
|
224
|
+
delete(id: string): Promise<EusendResponse<Record<string, never>>>;
|
|
225
|
+
createContact(audienceId: string, options: CreateContactOptions): Promise<EusendResponse<Contact>>;
|
|
226
|
+
listContacts(audienceId: string, options?: ListContactsOptions): Promise<EusendResponse<ListContactsResponse>>;
|
|
227
|
+
getContact(audienceId: string, contactId: string): Promise<EusendResponse<Contact>>;
|
|
228
|
+
updateContact(audienceId: string, contactId: string, options: UpdateContactOptions): Promise<EusendResponse<Contact>>;
|
|
229
|
+
deleteContact(audienceId: string, contactId: string): Promise<EusendResponse<Record<string, never>>>;
|
|
230
|
+
batchCreateContacts(audienceId: string, options: BatchCreateContactsOptions): Promise<EusendResponse<{
|
|
231
|
+
count: number;
|
|
232
|
+
}>>;
|
|
233
|
+
}
|
|
234
|
+
//#endregion
|
|
235
|
+
//#region src/templates.d.ts
|
|
236
|
+
interface CreateTemplateOptions {
|
|
237
|
+
name: string;
|
|
238
|
+
subject: string;
|
|
239
|
+
html?: string;
|
|
240
|
+
reactSource?: string;
|
|
241
|
+
}
|
|
242
|
+
interface UpdateTemplateOptions {
|
|
243
|
+
name?: string;
|
|
244
|
+
subject?: string;
|
|
245
|
+
html?: string;
|
|
246
|
+
reactSource?: string;
|
|
247
|
+
}
|
|
248
|
+
interface Template {
|
|
249
|
+
id: string;
|
|
250
|
+
name: string;
|
|
251
|
+
subject: string;
|
|
252
|
+
html: string | null;
|
|
253
|
+
reactSource: string | null;
|
|
254
|
+
createdAt: string;
|
|
255
|
+
updatedAt: string;
|
|
256
|
+
}
|
|
257
|
+
interface TemplateListItem {
|
|
258
|
+
id: string;
|
|
259
|
+
name: string;
|
|
260
|
+
subject: string;
|
|
261
|
+
createdAt: string;
|
|
262
|
+
updatedAt: string;
|
|
263
|
+
}
|
|
264
|
+
declare class Templates {
|
|
265
|
+
private readonly client;
|
|
266
|
+
constructor(client: Eusend);
|
|
267
|
+
create(options: CreateTemplateOptions): Promise<EusendResponse<Template>>;
|
|
268
|
+
list(): Promise<EusendResponse<TemplateListItem[]>>;
|
|
269
|
+
get(id: string): Promise<EusendResponse<Template>>;
|
|
270
|
+
update(id: string, options: UpdateTemplateOptions): Promise<EusendResponse<Template>>;
|
|
271
|
+
delete(id: string): Promise<EusendResponse<Record<string, never>>>;
|
|
272
|
+
}
|
|
273
|
+
//#endregion
|
|
274
|
+
//#region src/webhooks.d.ts
|
|
275
|
+
type WebhookEvent = 'email.sent' | 'email.delivered' | 'email.bounced' | 'email.complained' | 'email.opened' | 'email.clicked' | '*';
|
|
276
|
+
interface CreateWebhookOptions {
|
|
277
|
+
url: string;
|
|
278
|
+
events: WebhookEvent[];
|
|
279
|
+
}
|
|
280
|
+
interface UpdateWebhookOptions {
|
|
281
|
+
url?: string;
|
|
282
|
+
events?: WebhookEvent[];
|
|
283
|
+
}
|
|
284
|
+
interface WebhookDelivery {
|
|
285
|
+
id: string;
|
|
286
|
+
webhookId: string;
|
|
287
|
+
emailId: string | null;
|
|
288
|
+
eventType: string;
|
|
289
|
+
payload: Record<string, unknown>;
|
|
290
|
+
status: 'pending' | 'success' | 'failed';
|
|
291
|
+
responseStatus: number | null;
|
|
292
|
+
attempts: number;
|
|
293
|
+
createdAt: string;
|
|
294
|
+
lastAttemptAt: string | null;
|
|
295
|
+
}
|
|
296
|
+
interface Webhook {
|
|
297
|
+
id: string;
|
|
298
|
+
url: string;
|
|
299
|
+
events: WebhookEvent[];
|
|
300
|
+
createdAt: string;
|
|
301
|
+
}
|
|
302
|
+
interface WebhookWithDeliveries extends Webhook {
|
|
303
|
+
deliveries: WebhookDelivery[];
|
|
304
|
+
}
|
|
305
|
+
interface CreateWebhookResponse extends Webhook {
|
|
306
|
+
secret: string;
|
|
307
|
+
}
|
|
308
|
+
declare class Webhooks {
|
|
309
|
+
private readonly client;
|
|
310
|
+
constructor(client: Eusend);
|
|
311
|
+
create(options: CreateWebhookOptions): Promise<EusendResponse<CreateWebhookResponse>>;
|
|
312
|
+
list(): Promise<EusendResponse<Webhook[]>>;
|
|
313
|
+
get(id: string): Promise<EusendResponse<WebhookWithDeliveries>>;
|
|
314
|
+
update(id: string, options: UpdateWebhookOptions): Promise<EusendResponse<Webhook>>;
|
|
315
|
+
delete(id: string): Promise<EusendResponse<Record<string, never>>>;
|
|
316
|
+
}
|
|
317
|
+
//#endregion
|
|
318
|
+
//#region src/broadcasts.d.ts
|
|
319
|
+
type BroadcastStatus = 'draft' | 'scheduled' | 'sending' | 'sent' | 'paused' | 'cancelled';
|
|
320
|
+
interface CreateBroadcastOptions {
|
|
321
|
+
name: string;
|
|
322
|
+
audienceId: string;
|
|
323
|
+
from: string;
|
|
324
|
+
subject: string;
|
|
325
|
+
html?: string;
|
|
326
|
+
templateId?: string;
|
|
327
|
+
templateVariables?: Record<string, string>;
|
|
328
|
+
}
|
|
329
|
+
interface UpdateBroadcastOptions {
|
|
330
|
+
name?: string;
|
|
331
|
+
audienceId?: string;
|
|
332
|
+
from?: string;
|
|
333
|
+
subject?: string;
|
|
334
|
+
html?: string;
|
|
335
|
+
templateId?: string | null;
|
|
336
|
+
templateVariables?: Record<string, string> | null;
|
|
337
|
+
scheduledAt?: string | null;
|
|
338
|
+
}
|
|
339
|
+
interface SendBroadcastOptions {
|
|
340
|
+
scheduledAt?: string;
|
|
341
|
+
}
|
|
342
|
+
interface Broadcast {
|
|
343
|
+
id: string;
|
|
344
|
+
name: string;
|
|
345
|
+
status: BroadcastStatus;
|
|
346
|
+
audienceId: string;
|
|
347
|
+
fromAddress: string;
|
|
348
|
+
subject: string;
|
|
349
|
+
html: string | null;
|
|
350
|
+
templateId: string | null;
|
|
351
|
+
templateVariables: Record<string, string> | null;
|
|
352
|
+
scheduledAt: string | null;
|
|
353
|
+
createdAt: string;
|
|
354
|
+
updatedAt: string;
|
|
355
|
+
}
|
|
356
|
+
interface BroadcastListItem {
|
|
357
|
+
id: string;
|
|
358
|
+
name: string;
|
|
359
|
+
status: BroadcastStatus;
|
|
360
|
+
audienceId: string;
|
|
361
|
+
fromAddress: string;
|
|
362
|
+
subject: string;
|
|
363
|
+
recipientCount: number | null;
|
|
364
|
+
sentCount: number | null;
|
|
365
|
+
scheduledAt: string | null;
|
|
366
|
+
startedAt: string | null;
|
|
367
|
+
completedAt: string | null;
|
|
368
|
+
createdAt: string;
|
|
369
|
+
audienceName: string | null;
|
|
370
|
+
}
|
|
371
|
+
interface BroadcastDetail extends Broadcast {
|
|
372
|
+
recipientCount: number | null;
|
|
373
|
+
sentCount: number | null;
|
|
374
|
+
startedAt: string | null;
|
|
375
|
+
completedAt: string | null;
|
|
376
|
+
stats: Record<string, number>;
|
|
377
|
+
}
|
|
378
|
+
interface SendBroadcastResponse {
|
|
379
|
+
id: string;
|
|
380
|
+
status: 'sending' | 'scheduled';
|
|
381
|
+
scheduledAt: string | null;
|
|
382
|
+
}
|
|
383
|
+
declare class Broadcasts {
|
|
384
|
+
private readonly client;
|
|
385
|
+
constructor(client: Eusend);
|
|
386
|
+
create(options: CreateBroadcastOptions): Promise<EusendResponse<Broadcast>>;
|
|
387
|
+
list(): Promise<EusendResponse<BroadcastListItem[]>>;
|
|
388
|
+
get(id: string): Promise<EusendResponse<BroadcastDetail>>;
|
|
389
|
+
update(id: string, options: UpdateBroadcastOptions): Promise<EusendResponse<Broadcast>>;
|
|
390
|
+
send(id: string, options?: SendBroadcastOptions): Promise<EusendResponse<SendBroadcastResponse>>;
|
|
391
|
+
cancel(id: string): Promise<EusendResponse<Broadcast>>;
|
|
392
|
+
delete(id: string): Promise<EusendResponse<Record<string, never>>>;
|
|
393
|
+
}
|
|
394
|
+
//#endregion
|
|
395
|
+
//#region src/eusend.d.ts
|
|
396
|
+
interface EusendOptions {
|
|
397
|
+
baseUrl?: string;
|
|
398
|
+
}
|
|
399
|
+
declare class Eusend {
|
|
400
|
+
readonly baseUrl: string;
|
|
401
|
+
private readonly apiKey;
|
|
402
|
+
readonly emails: Emails;
|
|
403
|
+
readonly domains: Domains;
|
|
404
|
+
readonly apiKeys: ApiKeys;
|
|
405
|
+
readonly audiences: Audiences;
|
|
406
|
+
readonly templates: Templates;
|
|
407
|
+
readonly webhooks: Webhooks;
|
|
408
|
+
readonly broadcasts: Broadcasts;
|
|
409
|
+
constructor(key?: string, options?: EusendOptions);
|
|
410
|
+
fetchRequest<T>(path: string, init?: RequestInit, extraHeaders?: Record<string, string>): Promise<EusendResponse<T>>;
|
|
411
|
+
get<T>(path: string, extraHeaders?: Record<string, string>): Promise<EusendResponse<T>>;
|
|
412
|
+
post<T>(path: string, body?: unknown, extraHeaders?: Record<string, string>): Promise<EusendResponse<T>>;
|
|
413
|
+
patch<T>(path: string, body?: unknown): Promise<EusendResponse<T>>;
|
|
414
|
+
delete<T>(path: string): Promise<EusendResponse<T>>;
|
|
415
|
+
}
|
|
416
|
+
//#endregion
|
|
417
|
+
export { type ApiKey, type Audience, type AudienceListItem, type BatchCreateContactsOptions, type BatchSendResponse, type Broadcast, type BroadcastDetail, type BroadcastListItem, type BroadcastStatus, type Contact, type ContactStatus, type CreateApiKeyOptions, type CreateApiKeyResponse, type CreateBroadcastOptions, type CreateContactOptions, type CreateDomainResponse, type CreateTemplateOptions, type CreateWebhookOptions, type CreateWebhookResponse, type DnsRecord, type Domain, type DomainListItem, type DomainStatus, type Email, type EmailEvent, type EmailEventType, type EmailListItem, type EmailStatus, Eusend, type EusendError, type EusendErrorCode, type EusendOptions, type EusendResponse, type ListContactsOptions, type ListContactsResponse, type ListEmailsOptions, type ListEmailsResponse, type SendBroadcastOptions, type SendBroadcastResponse, type SendEmailOptions, type SendEmailRequestOptions, type SendEmailResponse, type Template, type TemplateListItem, type UpdateBroadcastOptions, type UpdateContactOptions, type UpdateTemplateOptions, type UpdateWebhookOptions, type Webhook, type WebhookDelivery, type WebhookEvent, type WebhookWithDeliveries };
|
|
418
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/interfaces.ts","../src/emails.ts","../src/domains.ts","../src/api-keys.ts","../src/audiences.ts","../src/templates.ts","../src/webhooks.ts","../src/broadcasts.ts","../src/eusend.ts"],"mappings":"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"}
|