@unsent/sdk 1.0.3 → 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 +1842 -1530
- package/dist/index.d.ts +1842 -1530
- package/dist/index.js +124 -23
- package/dist/index.mjs +124 -23
- package/package.json +6 -3
package/dist/index.js
CHANGED
|
@@ -35,8 +35,20 @@ var Contacts = class {
|
|
|
35
35
|
this.unsent = unsent2;
|
|
36
36
|
this.unsent = unsent2;
|
|
37
37
|
}
|
|
38
|
-
async list(contactBookId) {
|
|
39
|
-
|
|
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
|
+
};
|
|
40
52
|
}
|
|
41
53
|
async create(contactBookId, payload) {
|
|
42
54
|
const data = await this.unsent.post(
|
|
@@ -244,19 +256,39 @@ var ContactBooks = class {
|
|
|
244
256
|
this.unsent = unsent2;
|
|
245
257
|
}
|
|
246
258
|
async list() {
|
|
247
|
-
|
|
259
|
+
const data = await this.unsent.get("/contactBooks");
|
|
260
|
+
return {
|
|
261
|
+
data: data.data,
|
|
262
|
+
error: data.error
|
|
263
|
+
};
|
|
248
264
|
}
|
|
249
265
|
async create(payload) {
|
|
250
|
-
|
|
266
|
+
const data = await this.unsent.post("/contactBooks", payload);
|
|
267
|
+
return {
|
|
268
|
+
data: data.data,
|
|
269
|
+
error: data.error
|
|
270
|
+
};
|
|
251
271
|
}
|
|
252
272
|
async get(id) {
|
|
253
|
-
|
|
273
|
+
const data = await this.unsent.get(`/contactBooks/${id}`);
|
|
274
|
+
return {
|
|
275
|
+
data: data.data,
|
|
276
|
+
error: data.error
|
|
277
|
+
};
|
|
254
278
|
}
|
|
255
279
|
async update(id, payload) {
|
|
256
|
-
|
|
280
|
+
const data = await this.unsent.patch(`/contactBooks/${id}`, payload);
|
|
281
|
+
return {
|
|
282
|
+
data: data.data,
|
|
283
|
+
error: data.error
|
|
284
|
+
};
|
|
257
285
|
}
|
|
258
286
|
async delete(id) {
|
|
259
|
-
|
|
287
|
+
const data = await this.unsent.delete(`/contactBooks/${id}`);
|
|
288
|
+
return {
|
|
289
|
+
data: data.data,
|
|
290
|
+
error: data.error
|
|
291
|
+
};
|
|
260
292
|
}
|
|
261
293
|
};
|
|
262
294
|
|
|
@@ -267,19 +299,39 @@ var Templates = class {
|
|
|
267
299
|
this.unsent = unsent2;
|
|
268
300
|
}
|
|
269
301
|
async list() {
|
|
270
|
-
|
|
302
|
+
const data = await this.unsent.get("/templates");
|
|
303
|
+
return {
|
|
304
|
+
data: data.data,
|
|
305
|
+
error: data.error
|
|
306
|
+
};
|
|
271
307
|
}
|
|
272
308
|
async create(payload) {
|
|
273
|
-
|
|
309
|
+
const data = await this.unsent.post("/templates", payload);
|
|
310
|
+
return {
|
|
311
|
+
data: data.data,
|
|
312
|
+
error: data.error
|
|
313
|
+
};
|
|
274
314
|
}
|
|
275
315
|
async get(id) {
|
|
276
|
-
|
|
316
|
+
const data = await this.unsent.get(`/templates/${id}`);
|
|
317
|
+
return {
|
|
318
|
+
data: data.data,
|
|
319
|
+
error: data.error
|
|
320
|
+
};
|
|
277
321
|
}
|
|
278
322
|
async update(id, payload) {
|
|
279
|
-
|
|
323
|
+
const data = await this.unsent.patch(`/templates/${id}`, payload);
|
|
324
|
+
return {
|
|
325
|
+
data: data.data,
|
|
326
|
+
error: data.error
|
|
327
|
+
};
|
|
280
328
|
}
|
|
281
329
|
async delete(id) {
|
|
282
|
-
|
|
330
|
+
const data = await this.unsent.delete(`/templates/${id}`);
|
|
331
|
+
return {
|
|
332
|
+
data: data.data,
|
|
333
|
+
error: data.error
|
|
334
|
+
};
|
|
283
335
|
}
|
|
284
336
|
};
|
|
285
337
|
|
|
@@ -309,25 +361,37 @@ var Analytics = class {
|
|
|
309
361
|
this.unsent = unsent2;
|
|
310
362
|
this.unsent = unsent2;
|
|
311
363
|
}
|
|
312
|
-
async get(
|
|
313
|
-
|
|
364
|
+
async get() {
|
|
365
|
+
const data = await this.unsent.get("/analytics");
|
|
366
|
+
return {
|
|
367
|
+
data: data.data,
|
|
368
|
+
error: data.error
|
|
369
|
+
};
|
|
314
370
|
}
|
|
315
371
|
async getTimeSeries(query) {
|
|
316
372
|
const params = new URLSearchParams();
|
|
317
373
|
if (query?.days) params.append("days", query.days.toString());
|
|
318
374
|
if (query?.domain) params.append("domain", query.domain);
|
|
319
375
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
320
|
-
|
|
376
|
+
const data = await this.unsent.get(
|
|
321
377
|
`/analytics/time-series${queryString}`
|
|
322
378
|
);
|
|
379
|
+
return {
|
|
380
|
+
data: data.data,
|
|
381
|
+
error: data.error
|
|
382
|
+
};
|
|
323
383
|
}
|
|
324
384
|
async getReputation(query) {
|
|
325
385
|
const params = new URLSearchParams();
|
|
326
386
|
if (query?.domain) params.append("domain", query.domain);
|
|
327
387
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
328
|
-
|
|
388
|
+
const data = await this.unsent.get(
|
|
329
389
|
`/analytics/reputation${queryString}`
|
|
330
390
|
);
|
|
391
|
+
return {
|
|
392
|
+
data: data.data,
|
|
393
|
+
error: data.error
|
|
394
|
+
};
|
|
331
395
|
}
|
|
332
396
|
};
|
|
333
397
|
|
|
@@ -338,7 +402,11 @@ var Campaigns = class {
|
|
|
338
402
|
this.unsent = unsent2;
|
|
339
403
|
}
|
|
340
404
|
async list() {
|
|
341
|
-
|
|
405
|
+
const data = await this.unsent.get("/campaigns");
|
|
406
|
+
return {
|
|
407
|
+
data: data.data,
|
|
408
|
+
error: data.error
|
|
409
|
+
};
|
|
342
410
|
}
|
|
343
411
|
async create(payload) {
|
|
344
412
|
const data = await this.unsent.post(
|
|
@@ -386,14 +454,35 @@ var Suppressions = class {
|
|
|
386
454
|
const params = new URLSearchParams();
|
|
387
455
|
if (query?.page) params.append("page", query.page.toString());
|
|
388
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);
|
|
389
459
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
390
|
-
|
|
460
|
+
const response = await this.unsent.get(
|
|
461
|
+
`/suppressions${queryString}`
|
|
462
|
+
);
|
|
463
|
+
return {
|
|
464
|
+
data: response.data,
|
|
465
|
+
error: response.error
|
|
466
|
+
};
|
|
391
467
|
}
|
|
392
468
|
async add(payload) {
|
|
393
|
-
|
|
469
|
+
const data = await this.unsent.post(
|
|
470
|
+
"/suppressions",
|
|
471
|
+
payload
|
|
472
|
+
);
|
|
473
|
+
return {
|
|
474
|
+
data: data.data,
|
|
475
|
+
error: data.error
|
|
476
|
+
};
|
|
394
477
|
}
|
|
395
478
|
async delete(email) {
|
|
396
|
-
|
|
479
|
+
const data = await this.unsent.delete(
|
|
480
|
+
`/suppressions/email/${email}`
|
|
481
|
+
);
|
|
482
|
+
return {
|
|
483
|
+
data: data.data,
|
|
484
|
+
error: data.error
|
|
485
|
+
};
|
|
397
486
|
}
|
|
398
487
|
};
|
|
399
488
|
|
|
@@ -404,13 +493,25 @@ var ApiKeys = class {
|
|
|
404
493
|
this.unsent = unsent2;
|
|
405
494
|
}
|
|
406
495
|
async list() {
|
|
407
|
-
|
|
496
|
+
const data = await this.unsent.get("/api-keys");
|
|
497
|
+
return {
|
|
498
|
+
data: data.data,
|
|
499
|
+
error: data.error
|
|
500
|
+
};
|
|
408
501
|
}
|
|
409
502
|
async create(payload) {
|
|
410
|
-
|
|
503
|
+
const data = await this.unsent.post("/api-keys", payload);
|
|
504
|
+
return {
|
|
505
|
+
data: data.data,
|
|
506
|
+
error: data.error
|
|
507
|
+
};
|
|
411
508
|
}
|
|
412
509
|
async delete(id) {
|
|
413
|
-
|
|
510
|
+
const data = await this.unsent.delete(`/api-keys/${id}`);
|
|
511
|
+
return {
|
|
512
|
+
data: data.data,
|
|
513
|
+
error: data.error
|
|
514
|
+
};
|
|
414
515
|
}
|
|
415
516
|
};
|
|
416
517
|
|
package/dist/index.mjs
CHANGED
|
@@ -4,8 +4,20 @@ var Contacts = class {
|
|
|
4
4
|
this.unsent = unsent2;
|
|
5
5
|
this.unsent = unsent2;
|
|
6
6
|
}
|
|
7
|
-
async list(contactBookId) {
|
|
8
|
-
|
|
7
|
+
async list(contactBookId, query) {
|
|
8
|
+
const params = new URLSearchParams();
|
|
9
|
+
if (query?.emails) params.append("emails", query.emails);
|
|
10
|
+
if (query?.page) params.append("page", query.page.toString());
|
|
11
|
+
if (query?.limit) params.append("limit", query.limit.toString());
|
|
12
|
+
if (query?.ids) params.append("ids", query.ids);
|
|
13
|
+
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
14
|
+
const response = await this.unsent.get(
|
|
15
|
+
`/contactBooks/${contactBookId}/contacts${queryString}`
|
|
16
|
+
);
|
|
17
|
+
return {
|
|
18
|
+
data: response.data,
|
|
19
|
+
error: response.error
|
|
20
|
+
};
|
|
9
21
|
}
|
|
10
22
|
async create(contactBookId, payload) {
|
|
11
23
|
const data = await this.unsent.post(
|
|
@@ -213,19 +225,39 @@ var ContactBooks = class {
|
|
|
213
225
|
this.unsent = unsent2;
|
|
214
226
|
}
|
|
215
227
|
async list() {
|
|
216
|
-
|
|
228
|
+
const data = await this.unsent.get("/contactBooks");
|
|
229
|
+
return {
|
|
230
|
+
data: data.data,
|
|
231
|
+
error: data.error
|
|
232
|
+
};
|
|
217
233
|
}
|
|
218
234
|
async create(payload) {
|
|
219
|
-
|
|
235
|
+
const data = await this.unsent.post("/contactBooks", payload);
|
|
236
|
+
return {
|
|
237
|
+
data: data.data,
|
|
238
|
+
error: data.error
|
|
239
|
+
};
|
|
220
240
|
}
|
|
221
241
|
async get(id) {
|
|
222
|
-
|
|
242
|
+
const data = await this.unsent.get(`/contactBooks/${id}`);
|
|
243
|
+
return {
|
|
244
|
+
data: data.data,
|
|
245
|
+
error: data.error
|
|
246
|
+
};
|
|
223
247
|
}
|
|
224
248
|
async update(id, payload) {
|
|
225
|
-
|
|
249
|
+
const data = await this.unsent.patch(`/contactBooks/${id}`, payload);
|
|
250
|
+
return {
|
|
251
|
+
data: data.data,
|
|
252
|
+
error: data.error
|
|
253
|
+
};
|
|
226
254
|
}
|
|
227
255
|
async delete(id) {
|
|
228
|
-
|
|
256
|
+
const data = await this.unsent.delete(`/contactBooks/${id}`);
|
|
257
|
+
return {
|
|
258
|
+
data: data.data,
|
|
259
|
+
error: data.error
|
|
260
|
+
};
|
|
229
261
|
}
|
|
230
262
|
};
|
|
231
263
|
|
|
@@ -236,19 +268,39 @@ var Templates = class {
|
|
|
236
268
|
this.unsent = unsent2;
|
|
237
269
|
}
|
|
238
270
|
async list() {
|
|
239
|
-
|
|
271
|
+
const data = await this.unsent.get("/templates");
|
|
272
|
+
return {
|
|
273
|
+
data: data.data,
|
|
274
|
+
error: data.error
|
|
275
|
+
};
|
|
240
276
|
}
|
|
241
277
|
async create(payload) {
|
|
242
|
-
|
|
278
|
+
const data = await this.unsent.post("/templates", payload);
|
|
279
|
+
return {
|
|
280
|
+
data: data.data,
|
|
281
|
+
error: data.error
|
|
282
|
+
};
|
|
243
283
|
}
|
|
244
284
|
async get(id) {
|
|
245
|
-
|
|
285
|
+
const data = await this.unsent.get(`/templates/${id}`);
|
|
286
|
+
return {
|
|
287
|
+
data: data.data,
|
|
288
|
+
error: data.error
|
|
289
|
+
};
|
|
246
290
|
}
|
|
247
291
|
async update(id, payload) {
|
|
248
|
-
|
|
292
|
+
const data = await this.unsent.patch(`/templates/${id}`, payload);
|
|
293
|
+
return {
|
|
294
|
+
data: data.data,
|
|
295
|
+
error: data.error
|
|
296
|
+
};
|
|
249
297
|
}
|
|
250
298
|
async delete(id) {
|
|
251
|
-
|
|
299
|
+
const data = await this.unsent.delete(`/templates/${id}`);
|
|
300
|
+
return {
|
|
301
|
+
data: data.data,
|
|
302
|
+
error: data.error
|
|
303
|
+
};
|
|
252
304
|
}
|
|
253
305
|
};
|
|
254
306
|
|
|
@@ -278,25 +330,37 @@ var Analytics = class {
|
|
|
278
330
|
this.unsent = unsent2;
|
|
279
331
|
this.unsent = unsent2;
|
|
280
332
|
}
|
|
281
|
-
async get(
|
|
282
|
-
|
|
333
|
+
async get() {
|
|
334
|
+
const data = await this.unsent.get("/analytics");
|
|
335
|
+
return {
|
|
336
|
+
data: data.data,
|
|
337
|
+
error: data.error
|
|
338
|
+
};
|
|
283
339
|
}
|
|
284
340
|
async getTimeSeries(query) {
|
|
285
341
|
const params = new URLSearchParams();
|
|
286
342
|
if (query?.days) params.append("days", query.days.toString());
|
|
287
343
|
if (query?.domain) params.append("domain", query.domain);
|
|
288
344
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
289
|
-
|
|
345
|
+
const data = await this.unsent.get(
|
|
290
346
|
`/analytics/time-series${queryString}`
|
|
291
347
|
);
|
|
348
|
+
return {
|
|
349
|
+
data: data.data,
|
|
350
|
+
error: data.error
|
|
351
|
+
};
|
|
292
352
|
}
|
|
293
353
|
async getReputation(query) {
|
|
294
354
|
const params = new URLSearchParams();
|
|
295
355
|
if (query?.domain) params.append("domain", query.domain);
|
|
296
356
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
297
|
-
|
|
357
|
+
const data = await this.unsent.get(
|
|
298
358
|
`/analytics/reputation${queryString}`
|
|
299
359
|
);
|
|
360
|
+
return {
|
|
361
|
+
data: data.data,
|
|
362
|
+
error: data.error
|
|
363
|
+
};
|
|
300
364
|
}
|
|
301
365
|
};
|
|
302
366
|
|
|
@@ -307,7 +371,11 @@ var Campaigns = class {
|
|
|
307
371
|
this.unsent = unsent2;
|
|
308
372
|
}
|
|
309
373
|
async list() {
|
|
310
|
-
|
|
374
|
+
const data = await this.unsent.get("/campaigns");
|
|
375
|
+
return {
|
|
376
|
+
data: data.data,
|
|
377
|
+
error: data.error
|
|
378
|
+
};
|
|
311
379
|
}
|
|
312
380
|
async create(payload) {
|
|
313
381
|
const data = await this.unsent.post(
|
|
@@ -355,14 +423,35 @@ var Suppressions = class {
|
|
|
355
423
|
const params = new URLSearchParams();
|
|
356
424
|
if (query?.page) params.append("page", query.page.toString());
|
|
357
425
|
if (query?.limit) params.append("limit", query.limit.toString());
|
|
426
|
+
if (query?.search) params.append("search", query.search);
|
|
427
|
+
if (query?.reason) params.append("reason", query.reason);
|
|
358
428
|
const queryString = params.toString() ? `?${params.toString()}` : "";
|
|
359
|
-
|
|
429
|
+
const response = await this.unsent.get(
|
|
430
|
+
`/suppressions${queryString}`
|
|
431
|
+
);
|
|
432
|
+
return {
|
|
433
|
+
data: response.data,
|
|
434
|
+
error: response.error
|
|
435
|
+
};
|
|
360
436
|
}
|
|
361
437
|
async add(payload) {
|
|
362
|
-
|
|
438
|
+
const data = await this.unsent.post(
|
|
439
|
+
"/suppressions",
|
|
440
|
+
payload
|
|
441
|
+
);
|
|
442
|
+
return {
|
|
443
|
+
data: data.data,
|
|
444
|
+
error: data.error
|
|
445
|
+
};
|
|
363
446
|
}
|
|
364
447
|
async delete(email) {
|
|
365
|
-
|
|
448
|
+
const data = await this.unsent.delete(
|
|
449
|
+
`/suppressions/email/${email}`
|
|
450
|
+
);
|
|
451
|
+
return {
|
|
452
|
+
data: data.data,
|
|
453
|
+
error: data.error
|
|
454
|
+
};
|
|
366
455
|
}
|
|
367
456
|
};
|
|
368
457
|
|
|
@@ -373,13 +462,25 @@ var ApiKeys = class {
|
|
|
373
462
|
this.unsent = unsent2;
|
|
374
463
|
}
|
|
375
464
|
async list() {
|
|
376
|
-
|
|
465
|
+
const data = await this.unsent.get("/api-keys");
|
|
466
|
+
return {
|
|
467
|
+
data: data.data,
|
|
468
|
+
error: data.error
|
|
469
|
+
};
|
|
377
470
|
}
|
|
378
471
|
async create(payload) {
|
|
379
|
-
|
|
472
|
+
const data = await this.unsent.post("/api-keys", payload);
|
|
473
|
+
return {
|
|
474
|
+
data: data.data,
|
|
475
|
+
error: data.error
|
|
476
|
+
};
|
|
380
477
|
}
|
|
381
478
|
async delete(id) {
|
|
382
|
-
|
|
479
|
+
const data = await this.unsent.delete(`/api-keys/${id}`);
|
|
480
|
+
return {
|
|
481
|
+
data: data.data,
|
|
482
|
+
error: data.error
|
|
483
|
+
};
|
|
383
484
|
}
|
|
384
485
|
};
|
|
385
486
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unsent/sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "TypeScript SDK for the Unsent API - Send transactional emails with ease",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -33,14 +33,17 @@
|
|
|
33
33
|
"openapi-typescript": "^7.6.1",
|
|
34
34
|
"tsup": "^8.5.0",
|
|
35
35
|
"typescript": "^5.8.3",
|
|
36
|
-
"@unsent/typescript-config": "0.0.0"
|
|
36
|
+
"@unsent/typescript-config": "0.0.0",
|
|
37
|
+
"@unsent/vitest-config": "0.0.0"
|
|
37
38
|
},
|
|
38
39
|
"dependencies": {
|
|
39
40
|
"@react-email/render": "^1.0.6",
|
|
40
|
-
"react": "^19.1.0"
|
|
41
|
+
"react": "^19.1.0",
|
|
42
|
+
"vitest": "^2.1.8"
|
|
41
43
|
},
|
|
42
44
|
"scripts": {
|
|
43
45
|
"build": "rm -rf dist && tsup index.ts --format esm,cjs --dts",
|
|
46
|
+
"test": "vitest",
|
|
44
47
|
"publish-sdk": "pnpm run build && pnpm publish --no-git-checks --access public",
|
|
45
48
|
"openapi:generate": "openapi-typescript ../../apps/docs/public/api-reference.json -o types/schema.d.ts"
|
|
46
49
|
}
|