@unsent/sdk 1.0.3 → 1.0.5
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 +266 -265
- package/dist/index.d.mts +3771 -1588
- package/dist/index.d.ts +3771 -1588
- package/dist/index.js +285 -23
- package/dist/index.mjs +279 -23
- package/package.json +10 -6
package/dist/index.js
CHANGED
|
@@ -20,9 +20,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
+
activity: () => Activity,
|
|
23
24
|
analytics: () => Analytics,
|
|
24
25
|
campaigns: () => Campaigns,
|
|
25
26
|
contactBooks: () => ContactBooks,
|
|
27
|
+
events: () => Events,
|
|
28
|
+
metrics: () => Metrics,
|
|
29
|
+
stats: () => Stats,
|
|
30
|
+
system: () => System,
|
|
31
|
+
teams: () => Teams,
|
|
26
32
|
templates: () => Templates,
|
|
27
33
|
unsent: () => unsent,
|
|
28
34
|
webhooks: () => Webhooks
|
|
@@ -35,8 +41,20 @@ var Contacts = class {
|
|
|
35
41
|
this.unsent = unsent2;
|
|
36
42
|
this.unsent = unsent2;
|
|
37
43
|
}
|
|
38
|
-
async list(contactBookId) {
|
|
39
|
-
|
|
44
|
+
async list(contactBookId, query) {
|
|
45
|
+
const params = new URLSearchParams();
|
|
46
|
+
if (query?.emails) params.append("emails", query.emails);
|
|
47
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
48
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
49
|
+
if (query?.ids) params.append("ids", query.ids);
|
|
50
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
51
|
+
const response = await this.unsent.get(
|
|
52
|
+
`/contactBooks/${contactBookId}/contacts${queryString}`
|
|
53
|
+
);
|
|
54
|
+
return {
|
|
55
|
+
data: response.data,
|
|
56
|
+
error: response.error
|
|
57
|
+
};
|
|
40
58
|
}
|
|
41
59
|
async create(contactBookId, payload) {
|
|
42
60
|
const data = await this.unsent.post(
|
|
@@ -197,6 +215,16 @@ var Emails = class {
|
|
|
197
215
|
);
|
|
198
216
|
return data;
|
|
199
217
|
}
|
|
218
|
+
async getEvents(emailId, query) {
|
|
219
|
+
const params = new URLSearchParams();
|
|
220
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
221
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
222
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
223
|
+
const data = await this.unsent.get(
|
|
224
|
+
`/emails/${emailId}/events${queryString}`
|
|
225
|
+
);
|
|
226
|
+
return data;
|
|
227
|
+
}
|
|
200
228
|
};
|
|
201
229
|
|
|
202
230
|
// src/domain.ts
|
|
@@ -235,6 +263,25 @@ var Domains = class {
|
|
|
235
263
|
);
|
|
236
264
|
return data;
|
|
237
265
|
}
|
|
266
|
+
async getAnalytics(id, query) {
|
|
267
|
+
const params = new URLSearchParams();
|
|
268
|
+
if (query?.period) params.append("period", query.period);
|
|
269
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
270
|
+
const data = await this.unsent.get(
|
|
271
|
+
`/domains/${id}/analytics${queryString}`
|
|
272
|
+
);
|
|
273
|
+
return data;
|
|
274
|
+
}
|
|
275
|
+
async getStats(id, query) {
|
|
276
|
+
const params = new URLSearchParams();
|
|
277
|
+
if (query?.startDate) params.append("startDate", query.startDate);
|
|
278
|
+
if (query?.endDate) params.append("endDate", query.endDate);
|
|
279
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
280
|
+
const data = await this.unsent.get(
|
|
281
|
+
`/domains/${id}/stats${queryString}`
|
|
282
|
+
);
|
|
283
|
+
return data;
|
|
284
|
+
}
|
|
238
285
|
};
|
|
239
286
|
|
|
240
287
|
// src/contact-book.ts
|
|
@@ -244,19 +291,39 @@ var ContactBooks = class {
|
|
|
244
291
|
this.unsent = unsent2;
|
|
245
292
|
}
|
|
246
293
|
async list() {
|
|
247
|
-
|
|
294
|
+
const data = await this.unsent.get("/contactBooks");
|
|
295
|
+
return {
|
|
296
|
+
data: data.data,
|
|
297
|
+
error: data.error
|
|
298
|
+
};
|
|
248
299
|
}
|
|
249
300
|
async create(payload) {
|
|
250
|
-
|
|
301
|
+
const data = await this.unsent.post("/contactBooks", payload);
|
|
302
|
+
return {
|
|
303
|
+
data: data.data,
|
|
304
|
+
error: data.error
|
|
305
|
+
};
|
|
251
306
|
}
|
|
252
307
|
async get(id) {
|
|
253
|
-
|
|
308
|
+
const data = await this.unsent.get(`/contactBooks/${id}`);
|
|
309
|
+
return {
|
|
310
|
+
data: data.data,
|
|
311
|
+
error: data.error
|
|
312
|
+
};
|
|
254
313
|
}
|
|
255
314
|
async update(id, payload) {
|
|
256
|
-
|
|
315
|
+
const data = await this.unsent.patch(`/contactBooks/${id}`, payload);
|
|
316
|
+
return {
|
|
317
|
+
data: data.data,
|
|
318
|
+
error: data.error
|
|
319
|
+
};
|
|
257
320
|
}
|
|
258
321
|
async delete(id) {
|
|
259
|
-
|
|
322
|
+
const data = await this.unsent.delete(`/contactBooks/${id}`);
|
|
323
|
+
return {
|
|
324
|
+
data: data.data,
|
|
325
|
+
error: data.error
|
|
326
|
+
};
|
|
260
327
|
}
|
|
261
328
|
};
|
|
262
329
|
|
|
@@ -267,19 +334,39 @@ var Templates = class {
|
|
|
267
334
|
this.unsent = unsent2;
|
|
268
335
|
}
|
|
269
336
|
async list() {
|
|
270
|
-
|
|
337
|
+
const data = await this.unsent.get("/templates");
|
|
338
|
+
return {
|
|
339
|
+
data: data.data?.data ?? null,
|
|
340
|
+
error: data.error
|
|
341
|
+
};
|
|
271
342
|
}
|
|
272
343
|
async create(payload) {
|
|
273
|
-
|
|
344
|
+
const data = await this.unsent.post("/templates", payload);
|
|
345
|
+
return {
|
|
346
|
+
data: data.data,
|
|
347
|
+
error: data.error
|
|
348
|
+
};
|
|
274
349
|
}
|
|
275
350
|
async get(id) {
|
|
276
|
-
|
|
351
|
+
const data = await this.unsent.get(`/templates/${id}`);
|
|
352
|
+
return {
|
|
353
|
+
data: data.data,
|
|
354
|
+
error: data.error
|
|
355
|
+
};
|
|
277
356
|
}
|
|
278
357
|
async update(id, payload) {
|
|
279
|
-
|
|
358
|
+
const data = await this.unsent.patch(`/templates/${id}`, payload);
|
|
359
|
+
return {
|
|
360
|
+
data: data.data,
|
|
361
|
+
error: data.error
|
|
362
|
+
};
|
|
280
363
|
}
|
|
281
364
|
async delete(id) {
|
|
282
|
-
|
|
365
|
+
const data = await this.unsent.delete(`/templates/${id}`);
|
|
366
|
+
return {
|
|
367
|
+
data: data.data,
|
|
368
|
+
error: data.error
|
|
369
|
+
};
|
|
283
370
|
}
|
|
284
371
|
};
|
|
285
372
|
|
|
@@ -292,6 +379,9 @@ var Webhooks = class {
|
|
|
292
379
|
async list() {
|
|
293
380
|
return this.unsent.get("/webhooks");
|
|
294
381
|
}
|
|
382
|
+
async get(id) {
|
|
383
|
+
return this.unsent.get(`/webhooks/${id}`);
|
|
384
|
+
}
|
|
295
385
|
async create(payload) {
|
|
296
386
|
return this.unsent.post("/webhooks", payload);
|
|
297
387
|
}
|
|
@@ -301,6 +391,9 @@ var Webhooks = class {
|
|
|
301
391
|
async delete(id) {
|
|
302
392
|
return this.unsent.delete(`/webhooks/${id}`);
|
|
303
393
|
}
|
|
394
|
+
async test(id) {
|
|
395
|
+
return this.unsent.post(`/webhooks/${id}/test`, {});
|
|
396
|
+
}
|
|
304
397
|
};
|
|
305
398
|
|
|
306
399
|
// src/analytics.ts
|
|
@@ -309,25 +402,37 @@ var Analytics = class {
|
|
|
309
402
|
this.unsent = unsent2;
|
|
310
403
|
this.unsent = unsent2;
|
|
311
404
|
}
|
|
312
|
-
async get(
|
|
313
|
-
|
|
405
|
+
async get() {
|
|
406
|
+
const data = await this.unsent.get("/analytics");
|
|
407
|
+
return {
|
|
408
|
+
data: data.data,
|
|
409
|
+
error: data.error
|
|
410
|
+
};
|
|
314
411
|
}
|
|
315
412
|
async getTimeSeries(query) {
|
|
316
413
|
const params = new URLSearchParams();
|
|
317
414
|
if (query?.days) params.append("days", query.days.toString());
|
|
318
415
|
if (query?.domain) params.append("domain", query.domain);
|
|
319
416
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
320
|
-
|
|
417
|
+
const data = await this.unsent.get(
|
|
321
418
|
`/analytics/time-series${queryString}`
|
|
322
419
|
);
|
|
420
|
+
return {
|
|
421
|
+
data: data.data,
|
|
422
|
+
error: data.error
|
|
423
|
+
};
|
|
323
424
|
}
|
|
324
425
|
async getReputation(query) {
|
|
325
426
|
const params = new URLSearchParams();
|
|
326
427
|
if (query?.domain) params.append("domain", query.domain);
|
|
327
428
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
328
|
-
|
|
429
|
+
const data = await this.unsent.get(
|
|
329
430
|
`/analytics/reputation${queryString}`
|
|
330
431
|
);
|
|
432
|
+
return {
|
|
433
|
+
data: data.data,
|
|
434
|
+
error: data.error
|
|
435
|
+
};
|
|
331
436
|
}
|
|
332
437
|
};
|
|
333
438
|
|
|
@@ -338,7 +443,11 @@ var Campaigns = class {
|
|
|
338
443
|
this.unsent = unsent2;
|
|
339
444
|
}
|
|
340
445
|
async list() {
|
|
341
|
-
|
|
446
|
+
const data = await this.unsent.get("/campaigns");
|
|
447
|
+
return {
|
|
448
|
+
data: data.data,
|
|
449
|
+
error: data.error
|
|
450
|
+
};
|
|
342
451
|
}
|
|
343
452
|
async create(payload) {
|
|
344
453
|
const data = await this.unsent.post(
|
|
@@ -386,14 +495,38 @@ var Suppressions = class {
|
|
|
386
495
|
const params = new URLSearchParams();
|
|
387
496
|
if (query?.page) params.append("page", query.page.toString());
|
|
388
497
|
if (query?.limit) params.append("limit", query.limit.toString());
|
|
498
|
+
if (query?.search) params.append("search", query.search);
|
|
499
|
+
if (query?.reason) params.append("reason", query.reason);
|
|
389
500
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
390
|
-
|
|
501
|
+
const response = await this.unsent.get(
|
|
502
|
+
`/suppressions${queryString}`
|
|
503
|
+
);
|
|
504
|
+
return {
|
|
505
|
+
data: response.data?.suppressions ? {
|
|
506
|
+
data: response.data.suppressions,
|
|
507
|
+
total: response.data.total ?? 0
|
|
508
|
+
} : null,
|
|
509
|
+
error: response.error
|
|
510
|
+
};
|
|
391
511
|
}
|
|
392
512
|
async add(payload) {
|
|
393
|
-
|
|
513
|
+
const data = await this.unsent.post(
|
|
514
|
+
"/suppressions",
|
|
515
|
+
payload
|
|
516
|
+
);
|
|
517
|
+
return {
|
|
518
|
+
data: data.data,
|
|
519
|
+
error: data.error
|
|
520
|
+
};
|
|
394
521
|
}
|
|
395
522
|
async delete(email) {
|
|
396
|
-
|
|
523
|
+
const data = await this.unsent.delete(
|
|
524
|
+
`/suppressions/email/${email}`
|
|
525
|
+
);
|
|
526
|
+
return {
|
|
527
|
+
data: data.data,
|
|
528
|
+
error: data.error
|
|
529
|
+
};
|
|
397
530
|
}
|
|
398
531
|
};
|
|
399
532
|
|
|
@@ -404,13 +537,25 @@ var ApiKeys = class {
|
|
|
404
537
|
this.unsent = unsent2;
|
|
405
538
|
}
|
|
406
539
|
async list() {
|
|
407
|
-
|
|
540
|
+
const data = await this.unsent.get("/api-keys");
|
|
541
|
+
return {
|
|
542
|
+
data: data.data,
|
|
543
|
+
error: data.error
|
|
544
|
+
};
|
|
408
545
|
}
|
|
409
546
|
async create(payload) {
|
|
410
|
-
|
|
547
|
+
const data = await this.unsent.post("/api-keys", payload);
|
|
548
|
+
return {
|
|
549
|
+
data: data.data,
|
|
550
|
+
error: data.error
|
|
551
|
+
};
|
|
411
552
|
}
|
|
412
553
|
async delete(id) {
|
|
413
|
-
|
|
554
|
+
const data = await this.unsent.delete(`/api-keys/${id}`);
|
|
555
|
+
return {
|
|
556
|
+
data: data.data,
|
|
557
|
+
error: data.error
|
|
558
|
+
};
|
|
414
559
|
}
|
|
415
560
|
};
|
|
416
561
|
|
|
@@ -425,6 +570,111 @@ var Settings = class {
|
|
|
425
570
|
}
|
|
426
571
|
};
|
|
427
572
|
|
|
573
|
+
// src/event.ts
|
|
574
|
+
var Events = class {
|
|
575
|
+
constructor(unsent2) {
|
|
576
|
+
this.unsent = unsent2;
|
|
577
|
+
this.unsent = unsent2;
|
|
578
|
+
}
|
|
579
|
+
async list(query) {
|
|
580
|
+
const params = new URLSearchParams();
|
|
581
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
582
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
583
|
+
if (query?.status) params.append("status", query.status);
|
|
584
|
+
if (query?.startDate) params.append("startDate", query.startDate);
|
|
585
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
586
|
+
const data = await this.unsent.get(
|
|
587
|
+
`/events${queryString}`
|
|
588
|
+
);
|
|
589
|
+
return data;
|
|
590
|
+
}
|
|
591
|
+
};
|
|
592
|
+
|
|
593
|
+
// src/metrics.ts
|
|
594
|
+
var Metrics = class {
|
|
595
|
+
constructor(unsent2) {
|
|
596
|
+
this.unsent = unsent2;
|
|
597
|
+
this.unsent = unsent2;
|
|
598
|
+
}
|
|
599
|
+
async get(query) {
|
|
600
|
+
const params = new URLSearchParams();
|
|
601
|
+
if (query?.period) params.append("period", query.period);
|
|
602
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
603
|
+
const data = await this.unsent.get(
|
|
604
|
+
`/metrics${queryString}`
|
|
605
|
+
);
|
|
606
|
+
return data;
|
|
607
|
+
}
|
|
608
|
+
};
|
|
609
|
+
|
|
610
|
+
// src/stats.ts
|
|
611
|
+
var Stats = class {
|
|
612
|
+
constructor(unsent2) {
|
|
613
|
+
this.unsent = unsent2;
|
|
614
|
+
this.unsent = unsent2;
|
|
615
|
+
}
|
|
616
|
+
async get(query) {
|
|
617
|
+
const params = new URLSearchParams();
|
|
618
|
+
if (query?.startDate) params.append("startDate", query.startDate);
|
|
619
|
+
if (query?.endDate) params.append("endDate", query.endDate);
|
|
620
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
621
|
+
const data = await this.unsent.get(
|
|
622
|
+
`/stats${queryString}`
|
|
623
|
+
);
|
|
624
|
+
return data;
|
|
625
|
+
}
|
|
626
|
+
};
|
|
627
|
+
|
|
628
|
+
// src/activity.ts
|
|
629
|
+
var Activity = class {
|
|
630
|
+
constructor(unsent2) {
|
|
631
|
+
this.unsent = unsent2;
|
|
632
|
+
this.unsent = unsent2;
|
|
633
|
+
}
|
|
634
|
+
async get(query) {
|
|
635
|
+
const params = new URLSearchParams();
|
|
636
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
637
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
638
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
639
|
+
const data = await this.unsent.get(
|
|
640
|
+
`/activity${queryString}`
|
|
641
|
+
);
|
|
642
|
+
return data;
|
|
643
|
+
}
|
|
644
|
+
};
|
|
645
|
+
|
|
646
|
+
// src/team.ts
|
|
647
|
+
var Teams = class {
|
|
648
|
+
constructor(unsent2) {
|
|
649
|
+
this.unsent = unsent2;
|
|
650
|
+
this.unsent = unsent2;
|
|
651
|
+
}
|
|
652
|
+
async get() {
|
|
653
|
+
const data = await this.unsent.get("/team");
|
|
654
|
+
return data;
|
|
655
|
+
}
|
|
656
|
+
async list() {
|
|
657
|
+
const data = await this.unsent.get("/teams");
|
|
658
|
+
return data;
|
|
659
|
+
}
|
|
660
|
+
};
|
|
661
|
+
|
|
662
|
+
// src/system.ts
|
|
663
|
+
var System = class {
|
|
664
|
+
constructor(unsent2) {
|
|
665
|
+
this.unsent = unsent2;
|
|
666
|
+
this.unsent = unsent2;
|
|
667
|
+
}
|
|
668
|
+
async health() {
|
|
669
|
+
const data = await this.unsent.get("/health");
|
|
670
|
+
return data;
|
|
671
|
+
}
|
|
672
|
+
async version() {
|
|
673
|
+
const data = await this.unsent.get("/version");
|
|
674
|
+
return data;
|
|
675
|
+
}
|
|
676
|
+
};
|
|
677
|
+
|
|
428
678
|
// src/unsent.ts
|
|
429
679
|
var defaultBaseUrl = "https://api.unsent.dev";
|
|
430
680
|
var baseUrl = `${process?.env?.UNSENT_BASE_URL ?? process?.env?.UNSENT_BASE_URL ?? defaultBaseUrl}/v1`;
|
|
@@ -464,6 +714,12 @@ var unsent = class {
|
|
|
464
714
|
suppressions = new Suppressions(this);
|
|
465
715
|
apiKeys = new ApiKeys(this);
|
|
466
716
|
settings = new Settings(this);
|
|
717
|
+
events = new Events(this);
|
|
718
|
+
metrics = new Metrics(this);
|
|
719
|
+
stats = new Stats(this);
|
|
720
|
+
activity = new Activity(this);
|
|
721
|
+
teams = new Teams(this);
|
|
722
|
+
system = new System(this);
|
|
467
723
|
url = baseUrl;
|
|
468
724
|
async fetchRequest(path, options = {}) {
|
|
469
725
|
const fullUrl = `${this.url}${path}`;
|
|
@@ -553,9 +809,15 @@ var unsent = class {
|
|
|
553
809
|
};
|
|
554
810
|
// Annotate the CommonJS export names for ESM import in node:
|
|
555
811
|
0 && (module.exports = {
|
|
812
|
+
activity,
|
|
556
813
|
analytics,
|
|
557
814
|
campaigns,
|
|
558
815
|
contactBooks,
|
|
816
|
+
events,
|
|
817
|
+
metrics,
|
|
818
|
+
stats,
|
|
819
|
+
system,
|
|
820
|
+
teams,
|
|
559
821
|
templates,
|
|
560
822
|
unsent,
|
|
561
823
|
webhooks
|