millionsend 0.3.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 +158 -18
- package/dist/http.d.ts +12 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +6 -2
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -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/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 +11 -9
- package/dist/resources/emails.d.ts.map +1 -1
- package/dist/resources/emails.js +29 -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 +400 -12
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,20 +1,40 @@
|
|
|
1
1
|
import type { Result } from "../error.js";
|
|
2
2
|
import type { HttpClient } from "../http.js";
|
|
3
|
-
import type { Contact, ContactAddress, ContactId, ContactListItem, CreateContactOptions, List,
|
|
3
|
+
import type { AddContactSegmentResponse, BatchContactsResponse, Contact, ContactAddress, ContactId, ContactListItem, ContactSegmentOptions, CreateContactOptions, CreateContactsBatchOptions, List, ListContactsOptions, RemoveContactResponse, RemoveContactSegmentResponse, UpdateContactOptions, UpdateContactTopicsOptions, UpdateContactTopicsResponse } from "../types.js";
|
|
4
4
|
/** Per-contact topic subscriptions (opt in/out of a topic). */
|
|
5
5
|
export declare class ContactTopics {
|
|
6
6
|
private readonly http;
|
|
7
7
|
constructor(http: HttpClient);
|
|
8
8
|
update(options: UpdateContactTopicsOptions): Promise<Result<UpdateContactTopicsResponse>>;
|
|
9
9
|
}
|
|
10
|
+
/** Contact ↔ segment membership. */
|
|
11
|
+
export declare class ContactSegments {
|
|
12
|
+
private readonly http;
|
|
13
|
+
constructor(http: HttpClient);
|
|
14
|
+
private path;
|
|
15
|
+
/** POST /contacts/:id/segments/:segmentId */
|
|
16
|
+
add(options: ContactSegmentOptions): Promise<Result<AddContactSegmentResponse>>;
|
|
17
|
+
/** DELETE /contacts/:id/segments/:segmentId */
|
|
18
|
+
remove(options: ContactSegmentOptions): Promise<Result<RemoveContactSegmentResponse>>;
|
|
19
|
+
}
|
|
20
|
+
/** Bulk contact creation (MillionSend extension; Resend imports contacts via CSV only). */
|
|
21
|
+
export declare class ContactsBatch {
|
|
22
|
+
private readonly http;
|
|
23
|
+
constructor(http: HttpClient);
|
|
24
|
+
/** POST /contacts/batch — 1–1000 contacts; `onConflict` and `batchValidation` shape the outcome. */
|
|
25
|
+
create(payload: CreateContactOptions[], options?: CreateContactsBatchOptions): Promise<Result<BatchContactsResponse>>;
|
|
26
|
+
}
|
|
10
27
|
export declare class Contacts {
|
|
11
28
|
private readonly http;
|
|
12
29
|
readonly topics: ContactTopics;
|
|
30
|
+
readonly segments: ContactSegments;
|
|
31
|
+
readonly batch: ContactsBatch;
|
|
13
32
|
constructor(http: HttpClient);
|
|
14
33
|
create(payload: CreateContactOptions): Promise<Result<ContactId>>;
|
|
15
34
|
get(address: string | ContactAddress): Promise<Result<Contact>>;
|
|
16
35
|
update(options: UpdateContactOptions): Promise<Result<ContactId>>;
|
|
17
36
|
remove(address: string | ContactAddress): Promise<Result<RemoveContactResponse>>;
|
|
18
|
-
|
|
37
|
+
/** GET /contacts, or GET /segments/:segmentId/contacts when `segmentId` is given. */
|
|
38
|
+
list(options?: ListContactsOptions): Promise<Result<List<ContactListItem>>>;
|
|
19
39
|
}
|
|
20
40
|
//# sourceMappingURL=contacts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/resources/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/resources/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,IAAI,EACJ,mBAAmB,EACnB,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAgCrB,+DAA+D;AAC/D,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,MAAM,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;CAQ1F;AAED,oCAAoC;AACpC,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,OAAO,CAAC,IAAI;IAKZ,6CAA6C;IAC7C,GAAG,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAI/E,+CAA+C;IAC/C,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;CAGtF;AAED,2FAA2F;AAC3F,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,oGAAoG;IACpG,MAAM,CACJ,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;CAS1C;AAED,qBAAa,QAAQ;IAKP,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;gBAED,IAAI,EAAE,UAAU;IAM7C,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAIjE,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAI/D,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAIjE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAIhF,qFAAqF;IACrF,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;CAM5E"}
|
|
@@ -13,6 +13,8 @@ function createBody(o) {
|
|
|
13
13
|
last_name: o.lastName,
|
|
14
14
|
unsubscribed: o.unsubscribed,
|
|
15
15
|
properties: o.properties,
|
|
16
|
+
segments: o.segments,
|
|
17
|
+
topics: o.topics,
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
20
|
function updateBody(o) {
|
|
@@ -38,12 +40,52 @@ export class ContactTopics {
|
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
42
|
}
|
|
43
|
+
/** Contact ↔ segment membership. */
|
|
44
|
+
export class ContactSegments {
|
|
45
|
+
http;
|
|
46
|
+
constructor(http) {
|
|
47
|
+
this.http = http;
|
|
48
|
+
}
|
|
49
|
+
path(o) {
|
|
50
|
+
const contact = encodeURIComponent(o.email ?? o.id ?? o.contactId ?? "");
|
|
51
|
+
return `/contacts/${contact}/segments/${encodeURIComponent(o.segmentId)}`;
|
|
52
|
+
}
|
|
53
|
+
/** POST /contacts/:id/segments/:segmentId */
|
|
54
|
+
add(options) {
|
|
55
|
+
return this.http.request({ method: "POST", path: this.path(options) });
|
|
56
|
+
}
|
|
57
|
+
/** DELETE /contacts/:id/segments/:segmentId */
|
|
58
|
+
remove(options) {
|
|
59
|
+
return this.http.request({ method: "DELETE", path: this.path(options) });
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** Bulk contact creation (MillionSend extension; Resend imports contacts via CSV only). */
|
|
63
|
+
export class ContactsBatch {
|
|
64
|
+
http;
|
|
65
|
+
constructor(http) {
|
|
66
|
+
this.http = http;
|
|
67
|
+
}
|
|
68
|
+
/** POST /contacts/batch — 1–1000 contacts; `onConflict` and `batchValidation` shape the outcome. */
|
|
69
|
+
create(payload, options = {}) {
|
|
70
|
+
return this.http.request({
|
|
71
|
+
method: "POST",
|
|
72
|
+
path: "/contacts/batch",
|
|
73
|
+
query: { on_conflict: options.onConflict },
|
|
74
|
+
body: payload.map(createBody),
|
|
75
|
+
headers: { "x-batch-validation": options.batchValidation },
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
41
79
|
export class Contacts {
|
|
42
80
|
http;
|
|
43
81
|
topics;
|
|
82
|
+
segments;
|
|
83
|
+
batch;
|
|
44
84
|
constructor(http) {
|
|
45
85
|
this.http = http;
|
|
46
86
|
this.topics = new ContactTopics(http);
|
|
87
|
+
this.segments = new ContactSegments(http);
|
|
88
|
+
this.batch = new ContactsBatch(http);
|
|
47
89
|
}
|
|
48
90
|
create(payload) {
|
|
49
91
|
return this.http.request({ method: "POST", path: "/contacts", body: createBody(payload) });
|
|
@@ -57,8 +99,12 @@ export class Contacts {
|
|
|
57
99
|
remove(address) {
|
|
58
100
|
return this.http.request({ method: "DELETE", path: contactPath(normalize(address)) });
|
|
59
101
|
}
|
|
102
|
+
/** GET /contacts, or GET /segments/:segmentId/contacts when `segmentId` is given. */
|
|
60
103
|
list(options) {
|
|
61
|
-
|
|
104
|
+
const path = options?.segmentId
|
|
105
|
+
? `/segments/${encodeURIComponent(options.segmentId)}/contacts`
|
|
106
|
+
: "/contacts";
|
|
107
|
+
return this.http.request({ method: "GET", path, query: listQuery(options) });
|
|
62
108
|
}
|
|
63
109
|
}
|
|
64
110
|
//# sourceMappingURL=contacts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/resources/contacts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/resources/contacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Result } from "../error.js";
|
|
2
|
+
import type { HttpClient } from "../http.js";
|
|
3
|
+
import type { CreateDomainOptions, CreateDomainResponse, Domain, DomainListItem, List, ListOptions, RemoveDomainResponse, UpdateDomainOptions } from "../types.js";
|
|
4
|
+
/** Sending domains and their DNS records. */
|
|
5
|
+
export declare class Domains {
|
|
6
|
+
private readonly http;
|
|
7
|
+
constructor(http: HttpClient);
|
|
8
|
+
/** POST /domains — returns the DNS records to publish. */
|
|
9
|
+
create(payload: CreateDomainOptions): Promise<Result<CreateDomainResponse>>;
|
|
10
|
+
list(options?: ListOptions): Promise<Result<List<DomainListItem>>>;
|
|
11
|
+
get(id: string): Promise<Result<Domain>>;
|
|
12
|
+
/** PATCH /domains/:id — tracking settings; `trackingSubdomain: null` clears it. */
|
|
13
|
+
update(payload: UpdateDomainOptions): Promise<Result<Domain>>;
|
|
14
|
+
/** POST /domains/:id/verify — re-checks DNS and returns the domain. */
|
|
15
|
+
verify(id: string): Promise<Result<Domain>>;
|
|
16
|
+
remove(id: string): Promise<Result<RemoveDomainResponse>>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=domains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/resources/domains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,6CAA6C;AAC7C,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,0DAA0D;IAC1D,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAe3E,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAIlE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAIxC,mFAAmF;IACnF,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAc7D,uEAAuE;IACvE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAO3C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;CAG1D"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { listQuery } from "../query.js";
|
|
2
|
+
/** Sending domains and their DNS records. */
|
|
3
|
+
export class Domains {
|
|
4
|
+
http;
|
|
5
|
+
constructor(http) {
|
|
6
|
+
this.http = http;
|
|
7
|
+
}
|
|
8
|
+
/** POST /domains — returns the DNS records to publish. */
|
|
9
|
+
create(payload) {
|
|
10
|
+
return this.http.request({
|
|
11
|
+
method: "POST",
|
|
12
|
+
path: "/domains",
|
|
13
|
+
body: {
|
|
14
|
+
name: payload.name,
|
|
15
|
+
region: payload.region,
|
|
16
|
+
custom_return_path: payload.customReturnPath,
|
|
17
|
+
open_tracking: payload.openTracking,
|
|
18
|
+
click_tracking: payload.clickTracking,
|
|
19
|
+
tracking_subdomain: payload.trackingSubdomain,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
list(options) {
|
|
24
|
+
return this.http.request({ method: "GET", path: "/domains", query: listQuery(options) });
|
|
25
|
+
}
|
|
26
|
+
get(id) {
|
|
27
|
+
return this.http.request({ method: "GET", path: `/domains/${encodeURIComponent(id)}` });
|
|
28
|
+
}
|
|
29
|
+
/** PATCH /domains/:id — tracking settings; `trackingSubdomain: null` clears it. */
|
|
30
|
+
update(payload) {
|
|
31
|
+
return this.http.request({
|
|
32
|
+
method: "PATCH",
|
|
33
|
+
path: `/domains/${encodeURIComponent(payload.id)}`,
|
|
34
|
+
body: {
|
|
35
|
+
open_tracking: payload.openTracking,
|
|
36
|
+
click_tracking: payload.clickTracking,
|
|
37
|
+
tracking_subdomain: payload.trackingSubdomain,
|
|
38
|
+
tls: payload.tls,
|
|
39
|
+
capabilities: payload.capabilities,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/** POST /domains/:id/verify — re-checks DNS and returns the domain. */
|
|
44
|
+
verify(id) {
|
|
45
|
+
return this.http.request({
|
|
46
|
+
method: "POST",
|
|
47
|
+
path: `/domains/${encodeURIComponent(id)}/verify`,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
remove(id) {
|
|
51
|
+
return this.http.request({ method: "DELETE", path: `/domains/${encodeURIComponent(id)}` });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=domains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/resources/domains.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYxC,6CAA6C;AAC7C,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,0DAA0D;IAC1D,MAAM,CAAC,OAA4B;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,kBAAkB,EAAE,OAAO,CAAC,gBAAgB;gBAC5C,aAAa,EAAE,OAAO,CAAC,YAAY;gBACnC,cAAc,EAAE,OAAO,CAAC,aAAa;gBACrC,kBAAkB,EAAE,OAAO,CAAC,iBAAiB;aAC9C;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAqB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,mFAAmF;IACnF,MAAM,CAAC,OAA4B;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,YAAY,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAClD,IAAI,EAAE;gBACJ,aAAa,EAAE,OAAO,CAAC,YAAY;gBACnC,cAAc,EAAE,OAAO,CAAC,aAAa;gBACrC,kBAAkB,EAAE,OAAO,CAAC,iBAAiB;gBAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Result } from "../error.js";
|
|
2
|
-
import type { HttpClient, RequestOptions } from "../http.js";
|
|
3
|
-
import type { CancelEmailResponse, CreateEmailResponse, Email, EmailInsights, SendEmailOptions } from "../types.js";
|
|
2
|
+
import type { BatchRequestOptions, HttpClient, RequestOptions } from "../http.js";
|
|
3
|
+
import type { BatchResponse, CancelEmailResponse, CreateEmailResponse, Email, EmailInsights, EmailListItem, List, ListOptions, RemoveEmailResponse, SendEmailOptions, UpdateEmailOptions, UpdateEmailResponse } from "../types.js";
|
|
4
4
|
export declare class Emails {
|
|
5
5
|
private readonly http;
|
|
6
6
|
constructor(http: HttpClient);
|
|
@@ -10,21 +10,23 @@ export declare class Emails {
|
|
|
10
10
|
create(payload: SendEmailOptions, options?: RequestOptions): Promise<Result<CreateEmailResponse>>;
|
|
11
11
|
/** GET /emails/:id */
|
|
12
12
|
get(id: string): Promise<Result<Email>>;
|
|
13
|
+
/** GET /emails */
|
|
14
|
+
list(options?: ListOptions): Promise<Result<List<EmailListItem>>>;
|
|
15
|
+
/** PATCH /emails/:id — reschedule a scheduled, unsent email. */
|
|
16
|
+
update(payload: UpdateEmailOptions): Promise<Result<UpdateEmailResponse>>;
|
|
13
17
|
/** GET /emails/:id/insights — not_found until insights exist for the email. */
|
|
14
18
|
getInsights(id: string): Promise<Result<EmailInsights>>;
|
|
15
19
|
/** POST /emails/:id/cancel — only scheduled, unsent emails. */
|
|
16
20
|
cancel(id: string): Promise<Result<CancelEmailResponse>>;
|
|
21
|
+
/** DELETE /emails/:id — removes the email and its events. */
|
|
22
|
+
remove(id: string): Promise<Result<RemoveEmailResponse>>;
|
|
17
23
|
}
|
|
18
24
|
export declare class Batch {
|
|
19
25
|
private readonly http;
|
|
20
26
|
constructor(http: HttpClient);
|
|
21
|
-
/** POST /emails/batch — 1–100 emails in one call; supports an Idempotency-Key
|
|
22
|
-
send(payload: SendEmailOptions[], options?:
|
|
23
|
-
data: CreateEmailResponse[];
|
|
24
|
-
}>>;
|
|
27
|
+
/** POST /emails/batch — 1–100 emails in one call; supports an Idempotency-Key and `batchValidation`. */
|
|
28
|
+
send(payload: SendEmailOptions[], options?: BatchRequestOptions): Promise<Result<BatchResponse>>;
|
|
25
29
|
/** Alias of {@link send}, mirroring Resend. */
|
|
26
|
-
create(payload: SendEmailOptions[], options?:
|
|
27
|
-
data: CreateEmailResponse[];
|
|
28
|
-
}>>;
|
|
30
|
+
create(payload: SendEmailOptions[], options?: BatchRequestOptions): Promise<Result<BatchResponse>>;
|
|
29
31
|
}
|
|
30
32
|
//# sourceMappingURL=emails.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/resources/emails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/resources/emails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAElF,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,EACL,aAAa,EACb,aAAa,EACb,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AA2BrB,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,kDAAkD;IAClD,IAAI,CACF,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IASvC,+CAA+C;IAC/C,MAAM,CACJ,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAIvC,sBAAsB;IACtB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAIvC,kBAAkB;IAClB,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAIjE,gEAAgE;IAChE,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAQzE,+EAA+E;IAC/E,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAOvD,+DAA+D;IAC/D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAOxD,6DAA6D;IAC7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;CAGzD;AAED,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,wGAAwG;IACxG,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAUpG,+CAA+C;IAC/C,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;CAGvG"}
|
package/dist/resources/emails.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { listQuery } from "../query.js";
|
|
1
2
|
function toWire(o) {
|
|
2
3
|
return {
|
|
3
4
|
from: o.from,
|
|
@@ -10,6 +11,16 @@ function toWire(o) {
|
|
|
10
11
|
reply_to: o.replyTo,
|
|
11
12
|
scheduled_at: o.scheduledAt,
|
|
12
13
|
tags: o.tags,
|
|
14
|
+
topic_id: o.topicId,
|
|
15
|
+
attachments: o.attachments?.map((a) => ({
|
|
16
|
+
filename: a.filename,
|
|
17
|
+
content: Buffer.isBuffer(a.content) ? a.content.toString("base64") : a.content,
|
|
18
|
+
content_type: a.contentType,
|
|
19
|
+
content_id: a.contentId,
|
|
20
|
+
path: a.path,
|
|
21
|
+
})),
|
|
22
|
+
headers: o.headers,
|
|
23
|
+
template: o.template,
|
|
13
24
|
};
|
|
14
25
|
}
|
|
15
26
|
export class Emails {
|
|
@@ -34,6 +45,18 @@ export class Emails {
|
|
|
34
45
|
get(id) {
|
|
35
46
|
return this.http.request({ method: "GET", path: `/emails/${encodeURIComponent(id)}` });
|
|
36
47
|
}
|
|
48
|
+
/** GET /emails */
|
|
49
|
+
list(options) {
|
|
50
|
+
return this.http.request({ method: "GET", path: "/emails", query: listQuery(options) });
|
|
51
|
+
}
|
|
52
|
+
/** PATCH /emails/:id — reschedule a scheduled, unsent email. */
|
|
53
|
+
update(payload) {
|
|
54
|
+
return this.http.request({
|
|
55
|
+
method: "PATCH",
|
|
56
|
+
path: `/emails/${encodeURIComponent(payload.id)}`,
|
|
57
|
+
body: { scheduled_at: payload.scheduledAt },
|
|
58
|
+
});
|
|
59
|
+
}
|
|
37
60
|
/** GET /emails/:id/insights — not_found until insights exist for the email. */
|
|
38
61
|
getInsights(id) {
|
|
39
62
|
return this.http.request({
|
|
@@ -48,19 +71,24 @@ export class Emails {
|
|
|
48
71
|
path: `/emails/${encodeURIComponent(id)}/cancel`,
|
|
49
72
|
});
|
|
50
73
|
}
|
|
74
|
+
/** DELETE /emails/:id — removes the email and its events. */
|
|
75
|
+
remove(id) {
|
|
76
|
+
return this.http.request({ method: "DELETE", path: `/emails/${encodeURIComponent(id)}` });
|
|
77
|
+
}
|
|
51
78
|
}
|
|
52
79
|
export class Batch {
|
|
53
80
|
http;
|
|
54
81
|
constructor(http) {
|
|
55
82
|
this.http = http;
|
|
56
83
|
}
|
|
57
|
-
/** POST /emails/batch — 1–100 emails in one call; supports an Idempotency-Key
|
|
84
|
+
/** POST /emails/batch — 1–100 emails in one call; supports an Idempotency-Key and `batchValidation`. */
|
|
58
85
|
send(payload, options = {}) {
|
|
59
86
|
return this.http.request({
|
|
60
87
|
method: "POST",
|
|
61
88
|
path: "/emails/batch",
|
|
62
89
|
body: payload.map(toWire),
|
|
63
90
|
idempotencyKey: options.idempotencyKey,
|
|
91
|
+
headers: { "x-batch-validation": options.batchValidation },
|
|
64
92
|
});
|
|
65
93
|
}
|
|
66
94
|
/** Alias of {@link send}, mirroring Resend. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emails.js","sourceRoot":"","sources":["../../src/resources/emails.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"emails.js","sourceRoot":"","sources":["../../src/resources/emails.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAgBxC,SAAS,MAAM,CAAC,CAAmB;IACjC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,QAAQ,EAAE,CAAC,CAAC,OAAO;QACnB,YAAY,EAAE,CAAC,CAAC,WAAW;QAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,OAAO;QACnB,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;YAC9E,YAAY,EAAE,CAAC,CAAC,WAAW;YAC3B,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,kDAAkD;IAClD,IAAI,CACF,OAAyB,EACzB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;YACrB,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,MAAM,CACJ,OAAyB,EACzB,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,sBAAsB;IACtB,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC,OAAqB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,gEAAgE;IAChE,MAAM,CAAC,OAA2B;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACjD,IAAI,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,WAAW,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,WAAW,kBAAkB,CAAC,EAAE,CAAC,WAAW;SACnD,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,WAAW,kBAAkB,CAAC,EAAE,CAAC,SAAS;SACjD,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;CACF;AAED,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,wGAAwG;IACxG,IAAI,CAAC,OAA2B,EAAE,UAA+B,EAAE;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YACzB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,OAAO,EAAE,EAAE,oBAAoB,EAAE,OAAO,CAAC,eAAe,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,MAAM,CAAC,OAA2B,EAAE,UAA+B,EAAE;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Result } from "../error.js";
|
|
2
|
+
import type { HttpClient } from "../http.js";
|
|
3
|
+
import type { AddSuppressionOptions, BatchAddSuppressionsOptions, BatchRemoveSuppressionsOptions, List, ListSuppressionsOptions, RemoveSuppressionResponse, Suppression, SuppressionId, SuppressionListItem } from "../types.js";
|
|
4
|
+
/** Bulk suppression add/remove (up to 1000 per call). */
|
|
5
|
+
export declare class SuppressionsBatch {
|
|
6
|
+
private readonly http;
|
|
7
|
+
constructor(http: HttpClient);
|
|
8
|
+
/** POST /suppressions/batch/add */
|
|
9
|
+
add(options: BatchAddSuppressionsOptions): Promise<Result<{
|
|
10
|
+
data: SuppressionId[];
|
|
11
|
+
}>>;
|
|
12
|
+
/** POST /suppressions/batch/remove — by `emails` or by `ids`. */
|
|
13
|
+
remove(options: BatchRemoveSuppressionsOptions): Promise<Result<{
|
|
14
|
+
data: RemoveSuppressionResponse[];
|
|
15
|
+
}>>;
|
|
16
|
+
}
|
|
17
|
+
/** The team's suppression list: addresses that are never sent to. */
|
|
18
|
+
export declare class Suppressions {
|
|
19
|
+
private readonly http;
|
|
20
|
+
readonly batch: SuppressionsBatch;
|
|
21
|
+
constructor(http: HttpClient);
|
|
22
|
+
/** POST /suppressions */
|
|
23
|
+
add(options: AddSuppressionOptions): Promise<Result<SuppressionId>>;
|
|
24
|
+
/** Alias of {@link add}. */
|
|
25
|
+
create(options: AddSuppressionOptions): Promise<Result<SuppressionId>>;
|
|
26
|
+
/** GET /suppressions — optionally filtered by `origin`. */
|
|
27
|
+
list(options?: ListSuppressionsOptions): Promise<Result<List<SuppressionListItem>>>;
|
|
28
|
+
/** GET /suppressions/:idOrEmail */
|
|
29
|
+
get(idOrEmail: string): Promise<Result<Suppression>>;
|
|
30
|
+
/** DELETE /suppressions/:idOrEmail */
|
|
31
|
+
remove(idOrEmail: string): Promise<Result<RemoveSuppressionResponse>>;
|
|
32
|
+
}
|
|
33
|
+
//# 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,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,IAAI,EACJ,uBAAuB,EACvB,yBAAyB,EACzB,WAAW,EACX,aAAa,EACb,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,yDAAyD;AACzD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,mCAAmC;IACnC,GAAG,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC;QAAE,IAAI,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC,CAAC;IAQrF,iEAAiE;IACjE,MAAM,CACJ,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,MAAM,CAAC;QAAE,IAAI,EAAE,yBAAyB,EAAE,CAAA;KAAE,CAAC,CAAC;CAO1D;AAED,qEAAqE;AACrE,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;gBAEL,IAAI,EAAE,UAAU;IAI7C,yBAAyB;IACzB,GAAG,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAQnE,4BAA4B;IAC5B,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAItE,2DAA2D;IAC3D,IAAI,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAQnF,mCAAmC;IACnC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAOpD,sCAAsC;IACtC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;CAMtE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { listQuery } from "../query.js";
|
|
2
|
+
/** Bulk suppression add/remove (up to 1000 per call). */
|
|
3
|
+
export class SuppressionsBatch {
|
|
4
|
+
http;
|
|
5
|
+
constructor(http) {
|
|
6
|
+
this.http = http;
|
|
7
|
+
}
|
|
8
|
+
/** POST /suppressions/batch/add */
|
|
9
|
+
add(options) {
|
|
10
|
+
return this.http.request({
|
|
11
|
+
method: "POST",
|
|
12
|
+
path: "/suppressions/batch/add",
|
|
13
|
+
body: { emails: options.emails, origin: options.origin },
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/** POST /suppressions/batch/remove — by `emails` or by `ids`. */
|
|
17
|
+
remove(options) {
|
|
18
|
+
return this.http.request({
|
|
19
|
+
method: "POST",
|
|
20
|
+
path: "/suppressions/batch/remove",
|
|
21
|
+
body: { emails: options.emails, ids: options.ids },
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** The team's suppression list: addresses that are never sent to. */
|
|
26
|
+
export class Suppressions {
|
|
27
|
+
http;
|
|
28
|
+
batch;
|
|
29
|
+
constructor(http) {
|
|
30
|
+
this.http = http;
|
|
31
|
+
this.batch = new SuppressionsBatch(http);
|
|
32
|
+
}
|
|
33
|
+
/** POST /suppressions */
|
|
34
|
+
add(options) {
|
|
35
|
+
return this.http.request({
|
|
36
|
+
method: "POST",
|
|
37
|
+
path: "/suppressions",
|
|
38
|
+
body: { email: options.email, origin: options.origin },
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/** Alias of {@link add}. */
|
|
42
|
+
create(options) {
|
|
43
|
+
return this.add(options);
|
|
44
|
+
}
|
|
45
|
+
/** GET /suppressions — optionally filtered by `origin`. */
|
|
46
|
+
list(options) {
|
|
47
|
+
return this.http.request({
|
|
48
|
+
method: "GET",
|
|
49
|
+
path: "/suppressions",
|
|
50
|
+
query: { ...listQuery(options), origin: options?.origin },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/** GET /suppressions/:idOrEmail */
|
|
54
|
+
get(idOrEmail) {
|
|
55
|
+
return this.http.request({
|
|
56
|
+
method: "GET",
|
|
57
|
+
path: `/suppressions/${encodeURIComponent(idOrEmail)}`,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/** DELETE /suppressions/:idOrEmail */
|
|
61
|
+
remove(idOrEmail) {
|
|
62
|
+
return this.http.request({
|
|
63
|
+
method: "DELETE",
|
|
64
|
+
path: `/suppressions/${encodeURIComponent(idOrEmail)}`,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=suppressions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suppressions.js","sourceRoot":"","sources":["../../src/resources/suppressions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAaxC,yDAAyD;AACzD,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,mCAAmC;IACnC,GAAG,CAAC,OAAoC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,MAAM,CACJ,OAAuC;QAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;CACF;AAED,qEAAqE;AACrE,MAAM,OAAO,YAAY;IAGM;IAFpB,KAAK,CAAoB;IAElC,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,yBAAyB;IACzB,GAAG,CAAC,OAA8B;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;SACvD,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,OAA8B;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,2DAA2D;IAC3D,IAAI,CAAC,OAAiC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,GAAG,CAAC,SAAiB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,iBAAiB,kBAAkB,CAAC,SAAS,CAAC,EAAE;SACvD,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,MAAM,CAAC,SAAiB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,iBAAiB,kBAAkB,CAAC,SAAS,CAAC,EAAE;SACvD,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Result } from "../error.js";
|
|
2
|
+
import type { HttpClient } from "../http.js";
|
|
3
|
+
import type { CreateTemplateOptions, List, ListOptions, RemoveTemplateResponse, Template, TemplateId, TemplateListItem, UpdateTemplateOptions } from "../types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Email templates. Every save is live, so `publish` is a no-op kept for
|
|
6
|
+
* Resend compatibility. `id` arguments accept the template id or its alias.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Templates {
|
|
9
|
+
private readonly http;
|
|
10
|
+
constructor(http: HttpClient);
|
|
11
|
+
create(payload: CreateTemplateOptions): Promise<Result<TemplateId>>;
|
|
12
|
+
list(options?: ListOptions): Promise<Result<List<TemplateListItem>>>;
|
|
13
|
+
get(idOrAlias: string): Promise<Result<Template>>;
|
|
14
|
+
/** PATCH /templates/:idOrAlias — `alias`/`subject`/`text: null` clear the field. */
|
|
15
|
+
update(idOrAlias: string, payload: UpdateTemplateOptions): Promise<Result<TemplateId>>;
|
|
16
|
+
remove(idOrAlias: string): Promise<Result<RemoveTemplateResponse>>;
|
|
17
|
+
/** POST /templates/:idOrAlias/publish — no-op (templates are always live). */
|
|
18
|
+
publish(idOrAlias: string): Promise<Result<TemplateId>>;
|
|
19
|
+
/** POST /templates/:idOrAlias/duplicate — copies into a new template (id of the copy). */
|
|
20
|
+
duplicate(idOrAlias: string): Promise<Result<TemplateId>>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/resources/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EACV,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAerB;;;GAGG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAInE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAIpE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAIjD,oFAAoF;IACpF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAQtF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAOlE,8EAA8E;IAC9E,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAOvD,0FAA0F;IAC1F,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAM1D"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { listQuery } from "../query.js";
|
|
2
|
+
function toWire(o) {
|
|
3
|
+
return {
|
|
4
|
+
name: o.name,
|
|
5
|
+
html: o.html,
|
|
6
|
+
subject: o.subject,
|
|
7
|
+
text: o.text,
|
|
8
|
+
alias: o.alias,
|
|
9
|
+
from: o.from,
|
|
10
|
+
reply_to: o.replyTo,
|
|
11
|
+
variables: o.variables,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Email templates. Every save is live, so `publish` is a no-op kept for
|
|
16
|
+
* Resend compatibility. `id` arguments accept the template id or its alias.
|
|
17
|
+
*/
|
|
18
|
+
export class Templates {
|
|
19
|
+
http;
|
|
20
|
+
constructor(http) {
|
|
21
|
+
this.http = http;
|
|
22
|
+
}
|
|
23
|
+
create(payload) {
|
|
24
|
+
return this.http.request({ method: "POST", path: "/templates", body: toWire(payload) });
|
|
25
|
+
}
|
|
26
|
+
list(options) {
|
|
27
|
+
return this.http.request({ method: "GET", path: "/templates", query: listQuery(options) });
|
|
28
|
+
}
|
|
29
|
+
get(idOrAlias) {
|
|
30
|
+
return this.http.request({ method: "GET", path: `/templates/${encodeURIComponent(idOrAlias)}` });
|
|
31
|
+
}
|
|
32
|
+
/** PATCH /templates/:idOrAlias — `alias`/`subject`/`text: null` clear the field. */
|
|
33
|
+
update(idOrAlias, payload) {
|
|
34
|
+
return this.http.request({
|
|
35
|
+
method: "PATCH",
|
|
36
|
+
path: `/templates/${encodeURIComponent(idOrAlias)}`,
|
|
37
|
+
body: toWire(payload),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
remove(idOrAlias) {
|
|
41
|
+
return this.http.request({
|
|
42
|
+
method: "DELETE",
|
|
43
|
+
path: `/templates/${encodeURIComponent(idOrAlias)}`,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/** POST /templates/:idOrAlias/publish — no-op (templates are always live). */
|
|
47
|
+
publish(idOrAlias) {
|
|
48
|
+
return this.http.request({
|
|
49
|
+
method: "POST",
|
|
50
|
+
path: `/templates/${encodeURIComponent(idOrAlias)}/publish`,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/** POST /templates/:idOrAlias/duplicate — copies into a new template (id of the copy). */
|
|
54
|
+
duplicate(idOrAlias) {
|
|
55
|
+
return this.http.request({
|
|
56
|
+
method: "POST",
|
|
57
|
+
path: `/templates/${encodeURIComponent(idOrAlias)}/duplicate`,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/resources/templates.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYxC,SAAS,MAAM,CAAC,CAAgD;IAC9D,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,OAAO;QACnB,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,MAAM,CAAC,OAA8B;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,CAAC,OAAqB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,oFAAoF;IACpF,MAAM,CAAC,SAAiB,EAAE,OAA8B;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,cAAc,kBAAkB,CAAC,SAAS,CAAC,EAAE;YACnD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAiB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,cAAc,kBAAkB,CAAC,SAAS,CAAC,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,OAAO,CAAC,SAAiB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc,kBAAkB,CAAC,SAAS,CAAC,UAAU;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,0FAA0F;IAC1F,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc,kBAAkB,CAAC,SAAS,CAAC,YAAY;SAC9D,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import type { Result } from "../error.js";
|
|
2
2
|
import type { HttpClient } from "../http.js";
|
|
3
|
-
import type { CreateTopicOptions, RemoveTopicResponse, Topic, TopicId } from "../types.js";
|
|
3
|
+
import type { CreateTopicOptions, List, RemoveTopicResponse, Topic, TopicId, UpdateTopicOptions } from "../types.js";
|
|
4
4
|
/** Subscription topics — granular unsubscribe categories for a team. */
|
|
5
5
|
export declare class Topics {
|
|
6
6
|
private readonly http;
|
|
7
7
|
constructor(http: HttpClient);
|
|
8
8
|
create(payload: CreateTopicOptions): Promise<Result<TopicId>>;
|
|
9
9
|
get(id: string): Promise<Result<Topic>>;
|
|
10
|
-
/** GET /topics —
|
|
11
|
-
list(): Promise<Result<
|
|
12
|
-
|
|
13
|
-
}>>;
|
|
10
|
+
/** GET /topics — the list envelope with `has_more` always false (topics are unpaginated). */
|
|
11
|
+
list(): Promise<Result<List<Topic>>>;
|
|
12
|
+
update(id: string, payload: UpdateTopicOptions): Promise<Result<TopicId>>;
|
|
14
13
|
remove(id: string): Promise<Result<RemoveTopicResponse>>;
|
|
15
14
|
}
|
|
16
15
|
//# sourceMappingURL=topics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../src/resources/topics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../src/resources/topics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,kBAAkB,EAClB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,OAAO,EACP,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,wEAAwE;AACxE,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAa7D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAIvC,6FAA6F;IAC7F,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAIpC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAQzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;CAGzD"}
|
package/dist/resources/topics.js
CHANGED
|
@@ -12,16 +12,24 @@ export class Topics {
|
|
|
12
12
|
name: payload.name,
|
|
13
13
|
description: payload.description,
|
|
14
14
|
default_subscription: payload.defaultSubscription,
|
|
15
|
+
visibility: payload.visibility,
|
|
15
16
|
},
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
get(id) {
|
|
19
20
|
return this.http.request({ method: "GET", path: `/topics/${encodeURIComponent(id)}` });
|
|
20
21
|
}
|
|
21
|
-
/** GET /topics —
|
|
22
|
+
/** GET /topics — the list envelope with `has_more` always false (topics are unpaginated). */
|
|
22
23
|
list() {
|
|
23
24
|
return this.http.request({ method: "GET", path: "/topics" });
|
|
24
25
|
}
|
|
26
|
+
update(id, payload) {
|
|
27
|
+
return this.http.request({
|
|
28
|
+
method: "PATCH",
|
|
29
|
+
path: `/topics/${encodeURIComponent(id)}`,
|
|
30
|
+
body: { name: payload.name, description: payload.description, visibility: payload.visibility },
|
|
31
|
+
});
|
|
32
|
+
}
|
|
25
33
|
remove(id) {
|
|
26
34
|
return this.http.request({ method: "DELETE", path: `/topics/${encodeURIComponent(id)}` });
|
|
27
35
|
}
|