@sentroy-co/client-sdk 2.5.0 → 2.6.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.
Files changed (39) hide show
  1. package/README.md +114 -0
  2. package/dist/http.d.ts +8 -0
  3. package/dist/http.d.ts.map +1 -1
  4. package/dist/http.js +10 -0
  5. package/dist/http.js.map +1 -1
  6. package/dist/index.d.ts +9 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +12 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/react/lib/use-upload-queue.d.ts.map +1 -1
  11. package/dist/react/lib/use-upload-queue.js +61 -25
  12. package/dist/react/lib/use-upload-queue.js.map +1 -1
  13. package/dist/resources/audience.d.ts +60 -0
  14. package/dist/resources/audience.d.ts.map +1 -0
  15. package/dist/resources/audience.js +108 -0
  16. package/dist/resources/audience.js.map +1 -0
  17. package/dist/resources/logs.d.ts +15 -0
  18. package/dist/resources/logs.d.ts.map +1 -0
  19. package/dist/resources/logs.js +36 -0
  20. package/dist/resources/logs.js.map +1 -0
  21. package/dist/resources/suppressions.d.ts +20 -0
  22. package/dist/resources/suppressions.d.ts.map +1 -0
  23. package/dist/resources/suppressions.js +39 -0
  24. package/dist/resources/suppressions.js.map +1 -0
  25. package/dist/resources/webhooks.d.ts +21 -0
  26. package/dist/resources/webhooks.d.ts.map +1 -0
  27. package/dist/resources/webhooks.js +35 -0
  28. package/dist/resources/webhooks.js.map +1 -0
  29. package/dist/types.d.ts +128 -0
  30. package/dist/types.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/http.ts +11 -0
  33. package/src/index.ts +30 -0
  34. package/src/react/lib/use-upload-queue.ts +64 -25
  35. package/src/resources/audience.ts +139 -0
  36. package/src/resources/logs.ts +27 -0
  37. package/src/resources/suppressions.ts +39 -0
  38. package/src/resources/webhooks.ts +47 -0
  39. package/src/types.ts +161 -0
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Audience = void 0;
4
+ class AudienceListMembers {
5
+ http;
6
+ listId;
7
+ constructor(http, listId) {
8
+ this.http = http;
9
+ this.listId = listId;
10
+ }
11
+ /** List all contacts in this audience list. */
12
+ async list() {
13
+ return this.http.get(`/audience/lists/${encodeURIComponent(this.listId)}/members`);
14
+ }
15
+ /** Add a contact to the list by id. */
16
+ async add(contactId) {
17
+ await this.http.post(`/audience/lists/${encodeURIComponent(this.listId)}/members`, { contactId });
18
+ }
19
+ /** Remove a contact from the list. The contact record itself is preserved. */
20
+ async remove(contactId) {
21
+ await this.http.delWithBody(`/audience/lists/${encodeURIComponent(this.listId)}/members`, { contactId });
22
+ }
23
+ }
24
+ class AudienceLists {
25
+ http;
26
+ constructor(http) {
27
+ this.http = http;
28
+ }
29
+ /** List every audience list in the company. */
30
+ async list() {
31
+ return this.http.get("/audience/lists");
32
+ }
33
+ /** Get a single audience list by id. */
34
+ async get(id) {
35
+ return this.http.get(`/audience/lists/${encodeURIComponent(id)}`);
36
+ }
37
+ /** Create a new audience list. */
38
+ async create(params) {
39
+ return this.http.post("/audience/lists", params);
40
+ }
41
+ /** Delete an audience list. Contacts stay in the company; only the grouping is removed. */
42
+ async delete(id) {
43
+ await this.http.del(`/audience/lists/${encodeURIComponent(id)}`);
44
+ }
45
+ /** Membership operations scoped to a list id. */
46
+ members(listId) {
47
+ return new AudienceListMembers(this.http, listId);
48
+ }
49
+ }
50
+ class AudienceContacts {
51
+ http;
52
+ constructor(http) {
53
+ this.http = http;
54
+ }
55
+ /**
56
+ * Paginated list of contacts. Filter by status or tag set; tags are
57
+ * sent as a comma-joined query param.
58
+ */
59
+ async list(params) {
60
+ const query = {};
61
+ if (params?.page !== undefined)
62
+ query.page = params.page;
63
+ if (params?.limit !== undefined)
64
+ query.limit = params.limit;
65
+ if (params?.status)
66
+ query.status = params.status;
67
+ if (params?.tags?.length)
68
+ query.tags = params.tags.join(",");
69
+ return this.http.get("/audience/contacts", query);
70
+ }
71
+ /**
72
+ * Email-prefix autocomplete. Capped server-side at 10 results — use
73
+ * `list` for paginated browsing.
74
+ */
75
+ async search(q) {
76
+ return this.http.get("/audience/contacts", { q });
77
+ }
78
+ /** Get a single contact by id. */
79
+ async get(id) {
80
+ return this.http.get(`/audience/contacts/${encodeURIComponent(id)}`);
81
+ }
82
+ /** Create a contact. Defaults to status: "active". */
83
+ async create(params) {
84
+ return this.http.post("/audience/contacts", params);
85
+ }
86
+ /** Patch any contact field. Pass `status` to mark unsubscribed/bounced. */
87
+ async update(id, params) {
88
+ return this.http.patch(`/audience/contacts/${encodeURIComponent(id)}`, params);
89
+ }
90
+ /**
91
+ * Soft-delete: marks the contact as `unsubscribed`. The record stays so
92
+ * historical mail-log foreign keys keep resolving and the email won't
93
+ * accidentally be re-added.
94
+ */
95
+ async delete(id) {
96
+ await this.http.del(`/audience/contacts/${encodeURIComponent(id)}`);
97
+ }
98
+ }
99
+ class Audience {
100
+ lists;
101
+ contacts;
102
+ constructor(http) {
103
+ this.lists = new AudienceLists(http);
104
+ this.contacts = new AudienceContacts(http);
105
+ }
106
+ }
107
+ exports.Audience = Audience;
108
+ //# sourceMappingURL=audience.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audience.js","sourceRoot":"","sources":["../../src/resources/audience.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { HttpClient } from "../http";
2
+ import type { LogListParams, MailLog } from "../types";
3
+ export declare class Logs {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ /**
7
+ * List mail-log entries. Filter by status, domain, and ISO timestamp
8
+ * range (`from` / `to`). Results are paginated server-side; pass `page`
9
+ * and `limit` to walk a large window.
10
+ */
11
+ list(params?: LogListParams): Promise<MailLog[]>;
12
+ /** Get a single mail-log entry by id. */
13
+ get(id: string): Promise<MailLog>;
14
+ }
15
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/resources/logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEtD,qBAAa,IAAI;IACH,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;;;OAIG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAWtD,yCAAyC;IACnC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGxC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logs = void 0;
4
+ class Logs {
5
+ http;
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ /**
10
+ * List mail-log entries. Filter by status, domain, and ISO timestamp
11
+ * range (`from` / `to`). Results are paginated server-side; pass `page`
12
+ * and `limit` to walk a large window.
13
+ */
14
+ async list(params) {
15
+ const query = {};
16
+ if (params?.page !== undefined)
17
+ query.page = params.page;
18
+ if (params?.limit !== undefined)
19
+ query.limit = params.limit;
20
+ if (params?.status)
21
+ query.status = params.status;
22
+ if (params?.domainId)
23
+ query.domainId = params.domainId;
24
+ if (params?.from)
25
+ query.from = params.from;
26
+ if (params?.to)
27
+ query.to = params.to;
28
+ return this.http.get("/logs", query);
29
+ }
30
+ /** Get a single mail-log entry by id. */
31
+ async get(id) {
32
+ return this.http.get(`/logs/${encodeURIComponent(id)}`);
33
+ }
34
+ }
35
+ exports.Logs = Logs;
36
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/resources/logs.ts"],"names":[],"mappings":";;;AAGA,MAAa,IAAI;IACK;IAApB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAsB;QAC/B,MAAM,KAAK,GAA4B,EAAE,CAAA;QACzC,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACxD,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC3D,IAAI,MAAM,EAAE,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAChD,IAAI,MAAM,EAAE,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QACtD,IAAI,MAAM,EAAE,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QAC1C,IAAI,MAAM,EAAE,EAAE;YAAE,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClE,CAAC;CACF;AAvBD,oBAuBC"}
@@ -0,0 +1,20 @@
1
+ import type { HttpClient } from "../http";
2
+ import type { AddSuppressionParams, Suppression, SuppressionListParams } from "../types";
3
+ export declare class Suppressions {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ /**
7
+ * List suppressions across the company (or a single domain). Suppressed
8
+ * recipients are skipped at send time — every entry here is one address
9
+ * that will not receive mail until removed.
10
+ */
11
+ list(params?: SuppressionListParams): Promise<Suppression[]>;
12
+ /**
13
+ * Manually suppress an address (e.g. honoring an off-platform opt-out).
14
+ * Bounces and complaints are added automatically by the mail server.
15
+ */
16
+ add(params: AddSuppressionParams): Promise<Suppression>;
17
+ /** Remove a suppression — the address will be eligible to receive mail again. */
18
+ remove(id: string): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=suppressions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressions.d.ts","sourceRoot":"","sources":["../../src/resources/suppressions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,qBAAqB,EACtB,MAAM,UAAU,CAAA;AAEjB,qBAAa,YAAY;IACX,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC;;;;OAIG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IASlE;;;OAGG;IACG,GAAG,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI7D,iFAAiF;IAC3E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKxC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Suppressions = void 0;
4
+ class Suppressions {
5
+ http;
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ /**
10
+ * List suppressions across the company (or a single domain). Suppressed
11
+ * recipients are skipped at send time — every entry here is one address
12
+ * that will not receive mail until removed.
13
+ */
14
+ async list(params) {
15
+ const query = {};
16
+ if (params?.page !== undefined)
17
+ query.page = params.page;
18
+ if (params?.limit !== undefined)
19
+ query.limit = params.limit;
20
+ if (params?.domainId)
21
+ query.domainId = params.domainId;
22
+ if (params?.reason)
23
+ query.reason = params.reason;
24
+ return this.http.get("/suppressions", query);
25
+ }
26
+ /**
27
+ * Manually suppress an address (e.g. honoring an off-platform opt-out).
28
+ * Bounces and complaints are added automatically by the mail server.
29
+ */
30
+ async add(params) {
31
+ return this.http.post("/suppressions", params);
32
+ }
33
+ /** Remove a suppression — the address will be eligible to receive mail again. */
34
+ async remove(id) {
35
+ await this.http.del(`/suppressions/${encodeURIComponent(id)}`);
36
+ }
37
+ }
38
+ exports.Suppressions = Suppressions;
39
+ //# sourceMappingURL=suppressions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suppressions.js","sourceRoot":"","sources":["../../src/resources/suppressions.ts"],"names":[],"mappings":";;;AAOA,MAAa,YAAY;IACH;IAApB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAA8B;QACvC,MAAM,KAAK,GAA4B,EAAE,CAAA;QACzC,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACxD,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC3D,IAAI,MAAM,EAAE,QAAQ;YAAE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QACtD,IAAI,MAAM,EAAE,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,eAAe,EAAE,KAAK,CAAC,CAAA;IAC7D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,MAA4B;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAc,eAAe,EAAE,MAAM,CAAC,CAAA;IAC7D,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAC1C,CAAA;IACH,CAAC;CACF;AA/BD,oCA+BC"}
@@ -0,0 +1,21 @@
1
+ import type { HttpClient } from "../http";
2
+ import type { CreateWebhookParams, UpdateWebhookParams, Webhook } from "../types";
3
+ export declare class Webhooks {
4
+ private http;
5
+ constructor(http: HttpClient);
6
+ /** List webhooks across the company, or scoped to a single domain. */
7
+ list(domainId?: string): Promise<Webhook[]>;
8
+ /** Get a single webhook by id. */
9
+ get(id: string): Promise<Webhook>;
10
+ /**
11
+ * Register a webhook for one or more events on a domain. The response
12
+ * includes a `secret` — store it now; subsequent reads only return the
13
+ * webhook config without the secret.
14
+ */
15
+ create(params: CreateWebhookParams): Promise<Webhook>;
16
+ /** Patch URL, event list, or `active` flag. */
17
+ update(id: string, params: UpdateWebhookParams): Promise<Webhook>;
18
+ /** Delete a webhook. In-flight deliveries are not retried. */
19
+ delete(id: string): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACR,MAAM,UAAU,CAAA;AAEjB,qBAAa,QAAQ;IACP,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpC,sEAAsE;IAChE,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAOjD,kCAAkC;IAC5B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvC;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D,+CAA+C;IACzC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOvE,8DAA8D;IACxD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKxC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Webhooks = void 0;
4
+ class Webhooks {
5
+ http;
6
+ constructor(http) {
7
+ this.http = http;
8
+ }
9
+ /** List webhooks across the company, or scoped to a single domain. */
10
+ async list(domainId) {
11
+ return this.http.get("/webhooks", domainId ? { domainId } : undefined);
12
+ }
13
+ /** Get a single webhook by id. */
14
+ async get(id) {
15
+ return this.http.get(`/webhooks/${encodeURIComponent(id)}`);
16
+ }
17
+ /**
18
+ * Register a webhook for one or more events on a domain. The response
19
+ * includes a `secret` — store it now; subsequent reads only return the
20
+ * webhook config without the secret.
21
+ */
22
+ async create(params) {
23
+ return this.http.post("/webhooks", params);
24
+ }
25
+ /** Patch URL, event list, or `active` flag. */
26
+ async update(id, params) {
27
+ return this.http.patch(`/webhooks/${encodeURIComponent(id)}`, params);
28
+ }
29
+ /** Delete a webhook. In-flight deliveries are not retried. */
30
+ async delete(id) {
31
+ await this.http.del(`/webhooks/${encodeURIComponent(id)}`);
32
+ }
33
+ }
34
+ exports.Webhooks = Webhooks;
35
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":";;;AAOA,MAAa,QAAQ;IACC;IAApB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,sEAAsE;IACtE,KAAK,CAAC,IAAI,CAAC,QAAiB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,WAAW,EACX,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CACpC,CAAA;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACtE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAA2B;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,WAAW,EAAE,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAA2B;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CACpB,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE,EACrC,MAAM,CACP,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE,CACtC,CAAA;IACH,CAAC;CACF;AAvCD,4BAuCC"}
package/dist/types.d.ts CHANGED
@@ -274,4 +274,132 @@ export interface StorageUsage {
274
274
  buckets: StorageUsageBucket[];
275
275
  byType: StorageUsageByType[];
276
276
  }
277
+ export type ContactStatus = "active" | "unsubscribed" | "bounced";
278
+ export interface Contact {
279
+ id: string;
280
+ companyId: string;
281
+ email: string;
282
+ name?: string;
283
+ tags: string[];
284
+ status: ContactStatus;
285
+ metadata: Record<string, unknown>;
286
+ lastEmailedAt?: string | null;
287
+ createdAt: string;
288
+ updatedAt: string;
289
+ }
290
+ export interface ContactList {
291
+ id: string;
292
+ companyId: string;
293
+ name: string;
294
+ description?: string;
295
+ memberCount?: number;
296
+ createdAt: string;
297
+ updatedAt: string;
298
+ }
299
+ export interface CreateContactParams {
300
+ email: string;
301
+ name?: string;
302
+ tags?: string[];
303
+ metadata?: Record<string, unknown>;
304
+ }
305
+ export interface UpdateContactParams {
306
+ email?: string;
307
+ name?: string;
308
+ tags?: string[];
309
+ status?: ContactStatus;
310
+ metadata?: Record<string, unknown>;
311
+ }
312
+ export interface ContactListParams {
313
+ page?: number;
314
+ limit?: number;
315
+ status?: ContactStatus;
316
+ /** Comma-joined when sent over the wire — pass an array, the SDK joins. */
317
+ tags?: string[];
318
+ }
319
+ export interface ContactListResult {
320
+ contacts: Contact[];
321
+ total: number;
322
+ page: number;
323
+ limit: number;
324
+ }
325
+ export interface CreateAudienceListParams {
326
+ name: string;
327
+ description?: string;
328
+ }
329
+ export interface Suppression {
330
+ id: string;
331
+ email: string;
332
+ reason: string;
333
+ domainId: string;
334
+ createdAt: string;
335
+ domain?: {
336
+ domain: string;
337
+ };
338
+ }
339
+ export interface AddSuppressionParams {
340
+ email: string;
341
+ /** Free-form label (e.g. "manual", "complaint"). Defaults backend-side. */
342
+ reason?: string;
343
+ domainId: string;
344
+ }
345
+ export interface SuppressionListParams {
346
+ page?: number;
347
+ limit?: number;
348
+ domainId?: string;
349
+ reason?: string;
350
+ }
351
+ export type WebhookEvent = "sent" | "bounced" | "failed" | "opened" | "clicked" | "unsubscribed";
352
+ export interface Webhook {
353
+ id: string;
354
+ url: string;
355
+ events: string[];
356
+ active: boolean;
357
+ domainId: string;
358
+ /** Returned only on create — used to verify HMAC signatures of deliveries. */
359
+ secret?: string;
360
+ createdAt: string;
361
+ updatedAt: string;
362
+ }
363
+ export interface CreateWebhookParams {
364
+ url: string;
365
+ events: WebhookEvent[] | string[];
366
+ domainId: string;
367
+ }
368
+ export interface UpdateWebhookParams {
369
+ url?: string;
370
+ events?: WebhookEvent[] | string[];
371
+ active?: boolean;
372
+ }
373
+ export type MailLogStatus = "queued" | "processing" | "sent" | "bounced" | "failed";
374
+ export interface MailLog {
375
+ id: string;
376
+ to: string;
377
+ from: string;
378
+ subject: string;
379
+ status: MailLogStatus;
380
+ messageId: string | null;
381
+ domainId: string;
382
+ domain?: {
383
+ domain: string;
384
+ };
385
+ templateId: string | null;
386
+ variables: Record<string, unknown> | null;
387
+ scheduledAt?: string | null;
388
+ sentAt: string | null;
389
+ bouncedAt: string | null;
390
+ openedAt?: string | null;
391
+ clickedAt?: string | null;
392
+ error: string | null;
393
+ createdAt: string;
394
+ }
395
+ export interface LogListParams {
396
+ page?: number;
397
+ limit?: number;
398
+ status?: MailLogStatus;
399
+ domainId?: string;
400
+ /** ISO timestamp lower bound (inclusive). */
401
+ from?: string;
402
+ /** ISO timestamp upper bound (inclusive). */
403
+ to?: string;
404
+ }
277
405
  //# sourceMappingURL=types.d.ts.map
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentroy-co/client-sdk",
3
- "version": "2.5.0",
3
+ "version": "2.6.1",
4
4
  "description": "TypeScript SDK for the Sentroy platform — REST resources + React components.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/http.ts CHANGED
@@ -136,6 +136,17 @@ export class HttpClient {
136
136
  return this.request<T>("DELETE", path, { query })
137
137
  }
138
138
 
139
+ /**
140
+ * DELETE with a JSON body. Most endpoints take an id in the path, but a
141
+ * few collection-membership endpoints (audience list members) carry the
142
+ * member id in the body so a single route can address both members of
143
+ * the parent. Fetch + undici both allow DELETE bodies — keep separate
144
+ * from `del` so the common case stays query-only.
145
+ */
146
+ async delWithBody<T>(path: string, body: unknown): Promise<T> {
147
+ return this.request<T>("DELETE", path, { body })
148
+ }
149
+
139
150
  /**
140
151
  * Multipart upload. Body is a FormData; we deliberately do not set
141
152
  * Content-Type so the runtime (browser or Node undici) writes the
package/src/index.ts CHANGED
@@ -4,6 +4,10 @@ import { Mailboxes } from "./resources/mailboxes"
4
4
  import { Templates } from "./resources/templates"
5
5
  import { Inbox } from "./resources/inbox"
6
6
  import { Send } from "./resources/send"
7
+ import { Audience } from "./resources/audience"
8
+ import { Suppressions } from "./resources/suppressions"
9
+ import { Webhooks } from "./resources/webhooks"
10
+ import { Logs } from "./resources/logs"
7
11
  import { Buckets } from "./resources/buckets"
8
12
  import { MediaResource } from "./resources/media"
9
13
  import { Storage } from "./resources/storage"
@@ -15,6 +19,10 @@ export class Sentroy {
15
19
  public readonly templates: Templates
16
20
  public readonly inbox: Inbox
17
21
  public readonly send: Send
22
+ public readonly audience: Audience
23
+ public readonly suppressions: Suppressions
24
+ public readonly webhooks: Webhooks
25
+ public readonly logs: Logs
18
26
  public readonly buckets: Buckets
19
27
  public readonly media: MediaResource
20
28
  public readonly storage: Storage
@@ -64,6 +72,10 @@ export class Sentroy {
64
72
  this.templates = new Templates(mailHttp)
65
73
  this.inbox = new Inbox(mailHttp)
66
74
  this.send = new Send(mailHttp)
75
+ this.audience = new Audience(mailHttp)
76
+ this.suppressions = new Suppressions(mailHttp)
77
+ this.webhooks = new Webhooks(mailHttp)
78
+ this.logs = new Logs(mailHttp)
67
79
  this.buckets = new Buckets(storageHttp)
68
80
  this.media = new MediaResource(storageHttp)
69
81
  this.storage = new Storage(storageHttp)
@@ -101,6 +113,24 @@ export type {
101
113
  StorageUsage,
102
114
  StorageUsageBucket,
103
115
  StorageUsageByType,
116
+ Contact,
117
+ ContactStatus,
118
+ ContactList,
119
+ CreateContactParams,
120
+ UpdateContactParams,
121
+ ContactListParams,
122
+ ContactListResult,
123
+ CreateAudienceListParams,
124
+ Suppression,
125
+ AddSuppressionParams,
126
+ SuppressionListParams,
127
+ Webhook,
128
+ WebhookEvent,
129
+ CreateWebhookParams,
130
+ UpdateWebhookParams,
131
+ MailLog,
132
+ MailLogStatus,
133
+ LogListParams,
104
134
  } from "./types"
105
135
 
106
136
  export { SentroyError } from "./http"