@unsent/sdk 1.0.2 → 1.0.4
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 +2303 -1021
- package/dist/index.d.ts +2303 -1021
- package/dist/index.js +332 -2
- package/dist/index.mjs +327 -1
- package/package.json +7 -4
package/dist/index.js
CHANGED
|
@@ -20,8 +20,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
+
analytics: () => Analytics,
|
|
23
24
|
campaigns: () => Campaigns,
|
|
24
|
-
|
|
25
|
+
contactBooks: () => ContactBooks,
|
|
26
|
+
templates: () => Templates,
|
|
27
|
+
unsent: () => unsent,
|
|
28
|
+
webhooks: () => Webhooks
|
|
25
29
|
});
|
|
26
30
|
module.exports = __toCommonJS(index_exports);
|
|
27
31
|
|
|
@@ -31,6 +35,21 @@ var Contacts = class {
|
|
|
31
35
|
this.unsent = unsent2;
|
|
32
36
|
this.unsent = unsent2;
|
|
33
37
|
}
|
|
38
|
+
async list(contactBookId, query) {
|
|
39
|
+
const params = new URLSearchParams();
|
|
40
|
+
if (query?.emails) params.append("emails", query.emails);
|
|
41
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
42
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
43
|
+
if (query?.ids) params.append("ids", query.ids);
|
|
44
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
45
|
+
const response = await this.unsent.get(
|
|
46
|
+
`/contactBooks/${contactBookId}/contacts${queryString}`
|
|
47
|
+
);
|
|
48
|
+
return {
|
|
49
|
+
data: response.data,
|
|
50
|
+
error: response.error
|
|
51
|
+
};
|
|
52
|
+
}
|
|
34
53
|
async create(contactBookId, payload) {
|
|
35
54
|
const data = await this.unsent.post(
|
|
36
55
|
`/contactBooks/${contactBookId}/contacts`,
|
|
@@ -105,6 +124,71 @@ var Emails = class {
|
|
|
105
124
|
error: response.error
|
|
106
125
|
};
|
|
107
126
|
}
|
|
127
|
+
async list(query) {
|
|
128
|
+
const params = new URLSearchParams();
|
|
129
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
130
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
131
|
+
if (query?.startDate) params.append("startDate", query.startDate);
|
|
132
|
+
if (query?.endDate) params.append("endDate", query.endDate);
|
|
133
|
+
if (query?.domainId) {
|
|
134
|
+
if (Array.isArray(query.domainId)) {
|
|
135
|
+
query.domainId.forEach((id) => params.append("domainId", id));
|
|
136
|
+
} else {
|
|
137
|
+
params.append("domainId", query.domainId);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
141
|
+
const response = await this.unsent.get(
|
|
142
|
+
`/emails${queryString}`
|
|
143
|
+
);
|
|
144
|
+
return {
|
|
145
|
+
data: response.data?.data ?? null,
|
|
146
|
+
count: response.data?.count ?? null,
|
|
147
|
+
error: response.error
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
async getComplaints(query) {
|
|
151
|
+
const params = new URLSearchParams();
|
|
152
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
153
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
154
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
155
|
+
const response = await this.unsent.get(
|
|
156
|
+
`/emails/complaints${queryString}`
|
|
157
|
+
);
|
|
158
|
+
return {
|
|
159
|
+
data: response.data?.data ?? null,
|
|
160
|
+
count: response.data?.count ?? null,
|
|
161
|
+
error: response.error
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
async getBounces(query) {
|
|
165
|
+
const params = new URLSearchParams();
|
|
166
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
167
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
168
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
169
|
+
const response = await this.unsent.get(
|
|
170
|
+
`/emails/bounces${queryString}`
|
|
171
|
+
);
|
|
172
|
+
return {
|
|
173
|
+
data: response.data?.data ?? null,
|
|
174
|
+
count: response.data?.count ?? null,
|
|
175
|
+
error: response.error
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
async getUnsubscribes(query) {
|
|
179
|
+
const params = new URLSearchParams();
|
|
180
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
181
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
182
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
183
|
+
const response = await this.unsent.get(
|
|
184
|
+
`/emails/unsubscribes${queryString}`
|
|
185
|
+
);
|
|
186
|
+
return {
|
|
187
|
+
data: response.data?.data ?? null,
|
|
188
|
+
count: response.data?.count ?? null,
|
|
189
|
+
error: response.error
|
|
190
|
+
};
|
|
191
|
+
}
|
|
108
192
|
async get(id) {
|
|
109
193
|
const data = await this.unsent.get(
|
|
110
194
|
`/emails/${id}`
|
|
@@ -165,12 +249,165 @@ var Domains = class {
|
|
|
165
249
|
}
|
|
166
250
|
};
|
|
167
251
|
|
|
252
|
+
// src/contact-book.ts
|
|
253
|
+
var ContactBooks = class {
|
|
254
|
+
constructor(unsent2) {
|
|
255
|
+
this.unsent = unsent2;
|
|
256
|
+
this.unsent = unsent2;
|
|
257
|
+
}
|
|
258
|
+
async list() {
|
|
259
|
+
const data = await this.unsent.get("/contactBooks");
|
|
260
|
+
return {
|
|
261
|
+
data: data.data,
|
|
262
|
+
error: data.error
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
async create(payload) {
|
|
266
|
+
const data = await this.unsent.post("/contactBooks", payload);
|
|
267
|
+
return {
|
|
268
|
+
data: data.data,
|
|
269
|
+
error: data.error
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
async get(id) {
|
|
273
|
+
const data = await this.unsent.get(`/contactBooks/${id}`);
|
|
274
|
+
return {
|
|
275
|
+
data: data.data,
|
|
276
|
+
error: data.error
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
async update(id, payload) {
|
|
280
|
+
const data = await this.unsent.patch(`/contactBooks/${id}`, payload);
|
|
281
|
+
return {
|
|
282
|
+
data: data.data,
|
|
283
|
+
error: data.error
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
async delete(id) {
|
|
287
|
+
const data = await this.unsent.delete(`/contactBooks/${id}`);
|
|
288
|
+
return {
|
|
289
|
+
data: data.data,
|
|
290
|
+
error: data.error
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
// src/template.ts
|
|
296
|
+
var Templates = class {
|
|
297
|
+
constructor(unsent2) {
|
|
298
|
+
this.unsent = unsent2;
|
|
299
|
+
this.unsent = unsent2;
|
|
300
|
+
}
|
|
301
|
+
async list() {
|
|
302
|
+
const data = await this.unsent.get("/templates");
|
|
303
|
+
return {
|
|
304
|
+
data: data.data,
|
|
305
|
+
error: data.error
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
async create(payload) {
|
|
309
|
+
const data = await this.unsent.post("/templates", payload);
|
|
310
|
+
return {
|
|
311
|
+
data: data.data,
|
|
312
|
+
error: data.error
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
async get(id) {
|
|
316
|
+
const data = await this.unsent.get(`/templates/${id}`);
|
|
317
|
+
return {
|
|
318
|
+
data: data.data,
|
|
319
|
+
error: data.error
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
async update(id, payload) {
|
|
323
|
+
const data = await this.unsent.patch(`/templates/${id}`, payload);
|
|
324
|
+
return {
|
|
325
|
+
data: data.data,
|
|
326
|
+
error: data.error
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
async delete(id) {
|
|
330
|
+
const data = await this.unsent.delete(`/templates/${id}`);
|
|
331
|
+
return {
|
|
332
|
+
data: data.data,
|
|
333
|
+
error: data.error
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
// src/webhook.ts
|
|
339
|
+
var Webhooks = class {
|
|
340
|
+
constructor(unsent2) {
|
|
341
|
+
this.unsent = unsent2;
|
|
342
|
+
this.unsent = unsent2;
|
|
343
|
+
}
|
|
344
|
+
async list() {
|
|
345
|
+
return this.unsent.get("/webhooks");
|
|
346
|
+
}
|
|
347
|
+
async create(payload) {
|
|
348
|
+
return this.unsent.post("/webhooks", payload);
|
|
349
|
+
}
|
|
350
|
+
async update(id, payload) {
|
|
351
|
+
return this.unsent.patch(`/webhooks/${id}`, payload);
|
|
352
|
+
}
|
|
353
|
+
async delete(id) {
|
|
354
|
+
return this.unsent.delete(`/webhooks/${id}`);
|
|
355
|
+
}
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
// src/analytics.ts
|
|
359
|
+
var Analytics = class {
|
|
360
|
+
constructor(unsent2) {
|
|
361
|
+
this.unsent = unsent2;
|
|
362
|
+
this.unsent = unsent2;
|
|
363
|
+
}
|
|
364
|
+
async get() {
|
|
365
|
+
const data = await this.unsent.get("/analytics");
|
|
366
|
+
return {
|
|
367
|
+
data: data.data,
|
|
368
|
+
error: data.error
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
async getTimeSeries(query) {
|
|
372
|
+
const params = new URLSearchParams();
|
|
373
|
+
if (query?.days) params.append("days", query.days.toString());
|
|
374
|
+
if (query?.domain) params.append("domain", query.domain);
|
|
375
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
376
|
+
const data = await this.unsent.get(
|
|
377
|
+
`/analytics/time-series${queryString}`
|
|
378
|
+
);
|
|
379
|
+
return {
|
|
380
|
+
data: data.data,
|
|
381
|
+
error: data.error
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
async getReputation(query) {
|
|
385
|
+
const params = new URLSearchParams();
|
|
386
|
+
if (query?.domain) params.append("domain", query.domain);
|
|
387
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
388
|
+
const data = await this.unsent.get(
|
|
389
|
+
`/analytics/reputation${queryString}`
|
|
390
|
+
);
|
|
391
|
+
return {
|
|
392
|
+
data: data.data,
|
|
393
|
+
error: data.error
|
|
394
|
+
};
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
|
|
168
398
|
// src/campaign.ts
|
|
169
399
|
var Campaigns = class {
|
|
170
400
|
constructor(unsent2) {
|
|
171
401
|
this.unsent = unsent2;
|
|
172
402
|
this.unsent = unsent2;
|
|
173
403
|
}
|
|
404
|
+
async list() {
|
|
405
|
+
const data = await this.unsent.get("/campaigns");
|
|
406
|
+
return {
|
|
407
|
+
data: data.data,
|
|
408
|
+
error: data.error
|
|
409
|
+
};
|
|
410
|
+
}
|
|
174
411
|
async create(payload) {
|
|
175
412
|
const data = await this.unsent.post(
|
|
176
413
|
`/campaigns`,
|
|
@@ -207,6 +444,88 @@ var Campaigns = class {
|
|
|
207
444
|
}
|
|
208
445
|
};
|
|
209
446
|
|
|
447
|
+
// src/suppression.ts
|
|
448
|
+
var Suppressions = class {
|
|
449
|
+
constructor(unsent2) {
|
|
450
|
+
this.unsent = unsent2;
|
|
451
|
+
this.unsent = unsent2;
|
|
452
|
+
}
|
|
453
|
+
async list(query) {
|
|
454
|
+
const params = new URLSearchParams();
|
|
455
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
456
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
457
|
+
if (query?.search) params.append("search", query.search);
|
|
458
|
+
if (query?.reason) params.append("reason", query.reason);
|
|
459
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
460
|
+
const response = await this.unsent.get(
|
|
461
|
+
`/suppressions${queryString}`
|
|
462
|
+
);
|
|
463
|
+
return {
|
|
464
|
+
data: response.data,
|
|
465
|
+
error: response.error
|
|
466
|
+
};
|
|
467
|
+
}
|
|
468
|
+
async add(payload) {
|
|
469
|
+
const data = await this.unsent.post(
|
|
470
|
+
"/suppressions",
|
|
471
|
+
payload
|
|
472
|
+
);
|
|
473
|
+
return {
|
|
474
|
+
data: data.data,
|
|
475
|
+
error: data.error
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
async delete(email) {
|
|
479
|
+
const data = await this.unsent.delete(
|
|
480
|
+
`/suppressions/email/${email}`
|
|
481
|
+
);
|
|
482
|
+
return {
|
|
483
|
+
data: data.data,
|
|
484
|
+
error: data.error
|
|
485
|
+
};
|
|
486
|
+
}
|
|
487
|
+
};
|
|
488
|
+
|
|
489
|
+
// src/api-key.ts
|
|
490
|
+
var ApiKeys = class {
|
|
491
|
+
constructor(unsent2) {
|
|
492
|
+
this.unsent = unsent2;
|
|
493
|
+
this.unsent = unsent2;
|
|
494
|
+
}
|
|
495
|
+
async list() {
|
|
496
|
+
const data = await this.unsent.get("/api-keys");
|
|
497
|
+
return {
|
|
498
|
+
data: data.data,
|
|
499
|
+
error: data.error
|
|
500
|
+
};
|
|
501
|
+
}
|
|
502
|
+
async create(payload) {
|
|
503
|
+
const data = await this.unsent.post("/api-keys", payload);
|
|
504
|
+
return {
|
|
505
|
+
data: data.data,
|
|
506
|
+
error: data.error
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
async delete(id) {
|
|
510
|
+
const data = await this.unsent.delete(`/api-keys/${id}`);
|
|
511
|
+
return {
|
|
512
|
+
data: data.data,
|
|
513
|
+
error: data.error
|
|
514
|
+
};
|
|
515
|
+
}
|
|
516
|
+
};
|
|
517
|
+
|
|
518
|
+
// src/settings.ts
|
|
519
|
+
var Settings = class {
|
|
520
|
+
constructor(unsent2) {
|
|
521
|
+
this.unsent = unsent2;
|
|
522
|
+
this.unsent = unsent2;
|
|
523
|
+
}
|
|
524
|
+
async get() {
|
|
525
|
+
return this.unsent.get("/settings");
|
|
526
|
+
}
|
|
527
|
+
};
|
|
528
|
+
|
|
210
529
|
// src/unsent.ts
|
|
211
530
|
var defaultBaseUrl = "https://api.unsent.dev";
|
|
212
531
|
var baseUrl = `${process?.env?.UNSENT_BASE_URL ?? process?.env?.UNSENT_BASE_URL ?? defaultBaseUrl}/v1`;
|
|
@@ -238,7 +557,14 @@ var unsent = class {
|
|
|
238
557
|
domains = new Domains(this);
|
|
239
558
|
emails = new Emails(this);
|
|
240
559
|
contacts = new Contacts(this);
|
|
560
|
+
contactBooks = new ContactBooks(this);
|
|
561
|
+
templates = new Templates(this);
|
|
562
|
+
webhooks = new Webhooks(this);
|
|
563
|
+
analytics = new Analytics(this);
|
|
241
564
|
campaigns = new Campaigns(this);
|
|
565
|
+
suppressions = new Suppressions(this);
|
|
566
|
+
apiKeys = new ApiKeys(this);
|
|
567
|
+
settings = new Settings(this);
|
|
242
568
|
url = baseUrl;
|
|
243
569
|
async fetchRequest(path, options = {}) {
|
|
244
570
|
const fullUrl = `${this.url}${path}`;
|
|
@@ -328,6 +654,10 @@ var unsent = class {
|
|
|
328
654
|
};
|
|
329
655
|
// Annotate the CommonJS export names for ESM import in node:
|
|
330
656
|
0 && (module.exports = {
|
|
657
|
+
analytics,
|
|
331
658
|
campaigns,
|
|
332
|
-
|
|
659
|
+
contactBooks,
|
|
660
|
+
templates,
|
|
661
|
+
unsent,
|
|
662
|
+
webhooks
|
|
333
663
|
});
|