@unsent/sdk 1.0.4 → 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/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
@@ -209,6 +215,16 @@ var Emails = class {
209
215
  );
210
216
  return data;
211
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
+ }
212
228
  };
213
229
 
214
230
  // src/domain.ts
@@ -247,6 +263,25 @@ var Domains = class {
247
263
  );
248
264
  return data;
249
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
+ }
250
285
  };
251
286
 
252
287
  // src/contact-book.ts
@@ -301,7 +336,7 @@ var Templates = class {
301
336
  async list() {
302
337
  const data = await this.unsent.get("/templates");
303
338
  return {
304
- data: data.data,
339
+ data: data.data?.data ?? null,
305
340
  error: data.error
306
341
  };
307
342
  }
@@ -344,6 +379,9 @@ var Webhooks = class {
344
379
  async list() {
345
380
  return this.unsent.get("/webhooks");
346
381
  }
382
+ async get(id) {
383
+ return this.unsent.get(`/webhooks/${id}`);
384
+ }
347
385
  async create(payload) {
348
386
  return this.unsent.post("/webhooks", payload);
349
387
  }
@@ -353,6 +391,9 @@ var Webhooks = class {
353
391
  async delete(id) {
354
392
  return this.unsent.delete(`/webhooks/${id}`);
355
393
  }
394
+ async test(id) {
395
+ return this.unsent.post(`/webhooks/${id}/test`, {});
396
+ }
356
397
  };
357
398
 
358
399
  // src/analytics.ts
@@ -461,7 +502,10 @@ var Suppressions = class {
461
502
  `/suppressions${queryString}`
462
503
  );
463
504
  return {
464
- data: response.data,
505
+ data: response.data?.suppressions ? {
506
+ data: response.data.suppressions,
507
+ total: response.data.total ?? 0
508
+ } : null,
465
509
  error: response.error
466
510
  };
467
511
  }
@@ -526,6 +570,111 @@ var Settings = class {
526
570
  }
527
571
  };
528
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
+
529
678
  // src/unsent.ts
530
679
  var defaultBaseUrl = "https://api.unsent.dev";
531
680
  var baseUrl = `${process?.env?.UNSENT_BASE_URL ?? process?.env?.UNSENT_BASE_URL ?? defaultBaseUrl}/v1`;
@@ -565,6 +714,12 @@ var unsent = class {
565
714
  suppressions = new Suppressions(this);
566
715
  apiKeys = new ApiKeys(this);
567
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);
568
723
  url = baseUrl;
569
724
  async fetchRequest(path, options = {}) {
570
725
  const fullUrl = `${this.url}${path}`;
@@ -654,9 +809,15 @@ var unsent = class {
654
809
  };
655
810
  // Annotate the CommonJS export names for ESM import in node:
656
811
  0 && (module.exports = {
812
+ activity,
657
813
  analytics,
658
814
  campaigns,
659
815
  contactBooks,
816
+ events,
817
+ metrics,
818
+ stats,
819
+ system,
820
+ teams,
660
821
  templates,
661
822
  unsent,
662
823
  webhooks
package/dist/index.mjs CHANGED
@@ -178,6 +178,16 @@ var Emails = class {
178
178
  );
179
179
  return data;
180
180
  }
181
+ async getEvents(emailId, query) {
182
+ const params = new URLSearchParams();
183
+ if (query?.page) params.append("page", query.page.toString());
184
+ if (query?.limit) params.append("limit", query.limit.toString());
185
+ const queryString = params.toString() ? `?${params.toString()}` : "";
186
+ const data = await this.unsent.get(
187
+ `/emails/${emailId}/events${queryString}`
188
+ );
189
+ return data;
190
+ }
181
191
  };
182
192
 
183
193
  // src/domain.ts
@@ -216,6 +226,25 @@ var Domains = class {
216
226
  );
217
227
  return data;
218
228
  }
229
+ async getAnalytics(id, query) {
230
+ const params = new URLSearchParams();
231
+ if (query?.period) params.append("period", query.period);
232
+ const queryString = params.toString() ? `?${params.toString()}` : "";
233
+ const data = await this.unsent.get(
234
+ `/domains/${id}/analytics${queryString}`
235
+ );
236
+ return data;
237
+ }
238
+ async getStats(id, query) {
239
+ const params = new URLSearchParams();
240
+ if (query?.startDate) params.append("startDate", query.startDate);
241
+ if (query?.endDate) params.append("endDate", query.endDate);
242
+ const queryString = params.toString() ? `?${params.toString()}` : "";
243
+ const data = await this.unsent.get(
244
+ `/domains/${id}/stats${queryString}`
245
+ );
246
+ return data;
247
+ }
219
248
  };
220
249
 
221
250
  // src/contact-book.ts
@@ -270,7 +299,7 @@ var Templates = class {
270
299
  async list() {
271
300
  const data = await this.unsent.get("/templates");
272
301
  return {
273
- data: data.data,
302
+ data: data.data?.data ?? null,
274
303
  error: data.error
275
304
  };
276
305
  }
@@ -313,6 +342,9 @@ var Webhooks = class {
313
342
  async list() {
314
343
  return this.unsent.get("/webhooks");
315
344
  }
345
+ async get(id) {
346
+ return this.unsent.get(`/webhooks/${id}`);
347
+ }
316
348
  async create(payload) {
317
349
  return this.unsent.post("/webhooks", payload);
318
350
  }
@@ -322,6 +354,9 @@ var Webhooks = class {
322
354
  async delete(id) {
323
355
  return this.unsent.delete(`/webhooks/${id}`);
324
356
  }
357
+ async test(id) {
358
+ return this.unsent.post(`/webhooks/${id}/test`, {});
359
+ }
325
360
  };
326
361
 
327
362
  // src/analytics.ts
@@ -430,7 +465,10 @@ var Suppressions = class {
430
465
  `/suppressions${queryString}`
431
466
  );
432
467
  return {
433
- data: response.data,
468
+ data: response.data?.suppressions ? {
469
+ data: response.data.suppressions,
470
+ total: response.data.total ?? 0
471
+ } : null,
434
472
  error: response.error
435
473
  };
436
474
  }
@@ -495,6 +533,111 @@ var Settings = class {
495
533
  }
496
534
  };
497
535
 
536
+ // src/event.ts
537
+ var Events = class {
538
+ constructor(unsent2) {
539
+ this.unsent = unsent2;
540
+ this.unsent = unsent2;
541
+ }
542
+ async list(query) {
543
+ const params = new URLSearchParams();
544
+ if (query?.page) params.append("page", query.page.toString());
545
+ if (query?.limit) params.append("limit", query.limit.toString());
546
+ if (query?.status) params.append("status", query.status);
547
+ if (query?.startDate) params.append("startDate", query.startDate);
548
+ const queryString = params.toString() ? `?${params.toString()}` : "";
549
+ const data = await this.unsent.get(
550
+ `/events${queryString}`
551
+ );
552
+ return data;
553
+ }
554
+ };
555
+
556
+ // src/metrics.ts
557
+ var Metrics = class {
558
+ constructor(unsent2) {
559
+ this.unsent = unsent2;
560
+ this.unsent = unsent2;
561
+ }
562
+ async get(query) {
563
+ const params = new URLSearchParams();
564
+ if (query?.period) params.append("period", query.period);
565
+ const queryString = params.toString() ? `?${params.toString()}` : "";
566
+ const data = await this.unsent.get(
567
+ `/metrics${queryString}`
568
+ );
569
+ return data;
570
+ }
571
+ };
572
+
573
+ // src/stats.ts
574
+ var Stats = class {
575
+ constructor(unsent2) {
576
+ this.unsent = unsent2;
577
+ this.unsent = unsent2;
578
+ }
579
+ async get(query) {
580
+ const params = new URLSearchParams();
581
+ if (query?.startDate) params.append("startDate", query.startDate);
582
+ if (query?.endDate) params.append("endDate", query.endDate);
583
+ const queryString = params.toString() ? `?${params.toString()}` : "";
584
+ const data = await this.unsent.get(
585
+ `/stats${queryString}`
586
+ );
587
+ return data;
588
+ }
589
+ };
590
+
591
+ // src/activity.ts
592
+ var Activity = class {
593
+ constructor(unsent2) {
594
+ this.unsent = unsent2;
595
+ this.unsent = unsent2;
596
+ }
597
+ async get(query) {
598
+ const params = new URLSearchParams();
599
+ if (query?.page) params.append("page", query.page.toString());
600
+ if (query?.limit) params.append("limit", query.limit.toString());
601
+ const queryString = params.toString() ? `?${params.toString()}` : "";
602
+ const data = await this.unsent.get(
603
+ `/activity${queryString}`
604
+ );
605
+ return data;
606
+ }
607
+ };
608
+
609
+ // src/team.ts
610
+ var Teams = class {
611
+ constructor(unsent2) {
612
+ this.unsent = unsent2;
613
+ this.unsent = unsent2;
614
+ }
615
+ async get() {
616
+ const data = await this.unsent.get("/team");
617
+ return data;
618
+ }
619
+ async list() {
620
+ const data = await this.unsent.get("/teams");
621
+ return data;
622
+ }
623
+ };
624
+
625
+ // src/system.ts
626
+ var System = class {
627
+ constructor(unsent2) {
628
+ this.unsent = unsent2;
629
+ this.unsent = unsent2;
630
+ }
631
+ async health() {
632
+ const data = await this.unsent.get("/health");
633
+ return data;
634
+ }
635
+ async version() {
636
+ const data = await this.unsent.get("/version");
637
+ return data;
638
+ }
639
+ };
640
+
498
641
  // src/unsent.ts
499
642
  var defaultBaseUrl = "https://api.unsent.dev";
500
643
  var baseUrl = `${process?.env?.UNSENT_BASE_URL ?? process?.env?.UNSENT_BASE_URL ?? defaultBaseUrl}/v1`;
@@ -534,6 +677,12 @@ var unsent = class {
534
677
  suppressions = new Suppressions(this);
535
678
  apiKeys = new ApiKeys(this);
536
679
  settings = new Settings(this);
680
+ events = new Events(this);
681
+ metrics = new Metrics(this);
682
+ stats = new Stats(this);
683
+ activity = new Activity(this);
684
+ teams = new Teams(this);
685
+ system = new System(this);
537
686
  url = baseUrl;
538
687
  async fetchRequest(path, options = {}) {
539
688
  const fullUrl = `${this.url}${path}`;
@@ -622,9 +771,15 @@ var unsent = class {
622
771
  }
623
772
  };
624
773
  export {
774
+ Activity as activity,
625
775
  Analytics as analytics,
626
776
  Campaigns as campaigns,
627
777
  ContactBooks as contactBooks,
778
+ Events as events,
779
+ Metrics as metrics,
780
+ Stats as stats,
781
+ System as system,
782
+ Teams as teams,
628
783
  Templates as templates,
629
784
  unsent,
630
785
  Webhooks as webhooks
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@unsent/sdk",
3
- "version": "1.0.4",
4
- "description": "TypeScript SDK for the Unsent API - Send transactional emails with ease",
3
+ "version": "1.0.5",
4
+ "description": "TypeScript SDK for the Unsent API - Send transactional & marketing emails with ease",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
7
7
  "types": "./dist/index.d.ts",
@@ -17,12 +17,13 @@
17
17
  "unsent",
18
18
  "email",
19
19
  "transactional-email",
20
+ "marketing-email",
20
21
  "api",
21
22
  "sdk",
22
23
  "typescript",
23
24
  "react-email"
24
25
  ],
25
- "author": "sourav",
26
+ "author": "Sourav Ukil <sourav@unsent.dev>",
26
27
  "license": "MIT",
27
28
  "files": [
28
29
  "dist"
@@ -45,6 +46,6 @@
45
46
  "build": "rm -rf dist && tsup index.ts --format esm,cjs --dts",
46
47
  "test": "vitest",
47
48
  "publish-sdk": "pnpm run build && pnpm publish --no-git-checks --access public",
48
- "openapi:generate": "openapi-typescript ../../apps/docs/public/api-reference.json -o types/schema.d.ts"
49
+ "openapi:generate": "openapi-typescript ../../apps/docs/public/api-reference.json -o src/types/schema.d.ts"
49
50
  }
50
51
  }