@zavudev/sdk 0.7.0 → 0.9.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/CHANGELOG.md +16 -0
- package/README.md +48 -15
- package/client.d.mts +3 -0
- package/client.d.mts.map +1 -1
- package/client.d.ts +3 -0
- package/client.d.ts.map +1 -1
- package/client.js +3 -0
- package/client.js.map +1 -1
- package/client.mjs +3 -0
- package/client.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/broadcasts/broadcasts.d.mts +361 -0
- package/resources/broadcasts/broadcasts.d.mts.map +1 -0
- package/resources/broadcasts/broadcasts.d.ts +361 -0
- package/resources/broadcasts/broadcasts.d.ts.map +1 -0
- package/resources/broadcasts/broadcasts.js +131 -0
- package/resources/broadcasts/broadcasts.js.map +1 -0
- package/resources/broadcasts/broadcasts.mjs +126 -0
- package/resources/broadcasts/broadcasts.mjs.map +1 -0
- package/resources/broadcasts/contacts.d.mts +120 -0
- package/resources/broadcasts/contacts.d.mts.map +1 -0
- package/resources/broadcasts/contacts.d.ts +120 -0
- package/resources/broadcasts/contacts.d.ts.map +1 -0
- package/resources/broadcasts/contacts.js +76 -0
- package/resources/broadcasts/contacts.js.map +1 -0
- package/resources/broadcasts/contacts.mjs +72 -0
- package/resources/broadcasts/contacts.mjs.map +1 -0
- package/resources/broadcasts/index.d.mts +3 -0
- package/resources/broadcasts/index.d.mts.map +1 -0
- package/resources/broadcasts/index.d.ts +3 -0
- package/resources/broadcasts/index.d.ts.map +1 -0
- package/resources/broadcasts/index.js +9 -0
- package/resources/broadcasts/index.js.map +1 -0
- package/resources/broadcasts/index.mjs +4 -0
- package/resources/broadcasts/index.mjs.map +1 -0
- package/resources/broadcasts.d.mts +2 -0
- package/resources/broadcasts.d.mts.map +1 -0
- package/resources/broadcasts.d.ts +2 -0
- package/resources/broadcasts.d.ts.map +1 -0
- package/resources/broadcasts.js +6 -0
- package/resources/broadcasts.js.map +1 -0
- package/resources/broadcasts.mjs +3 -0
- package/resources/broadcasts.mjs.map +1 -0
- package/resources/index.d.mts +1 -0
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -0
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/src/client.ts +45 -0
- package/src/resources/broadcasts/broadcasts.ts +519 -0
- package/src/resources/broadcasts/contacts.ts +160 -0
- package/src/resources/broadcasts/index.ts +31 -0
- package/src/resources/broadcasts.ts +3 -0
- package/src/resources/index.ts +22 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
import { APIResource } from "../../core/resource.js";
|
|
2
|
+
import * as ContactsAPI from "./contacts.js";
|
|
3
|
+
import { ContactAddParams, ContactAddResponse, ContactListParams, ContactRemoveParams, Contacts } from "./contacts.js";
|
|
4
|
+
import { APIPromise } from "../../core/api-promise.js";
|
|
5
|
+
import { Cursor, type CursorParams, PagePromise } from "../../core/pagination.js";
|
|
6
|
+
import { RequestOptions } from "../../internal/request-options.js";
|
|
7
|
+
export declare class Broadcasts extends APIResource {
|
|
8
|
+
contacts: ContactsAPI.Contacts;
|
|
9
|
+
/**
|
|
10
|
+
* Create a new broadcast campaign. Add contacts after creation, then send.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const broadcast = await client.broadcasts.create({
|
|
15
|
+
* channel: 'sms',
|
|
16
|
+
* name: 'Black Friday Sale',
|
|
17
|
+
* text: 'Hi {{name}}, check out our Black Friday deals! Use code FRIDAY20 for 20% off.',
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
create(body: BroadcastCreateParams, options?: RequestOptions): APIPromise<BroadcastCreateResponse>;
|
|
22
|
+
/**
|
|
23
|
+
* Get broadcast
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const broadcast = await client.broadcasts.retrieve(
|
|
28
|
+
* 'broadcastId',
|
|
29
|
+
* );
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
retrieve(broadcastID: string, options?: RequestOptions): APIPromise<BroadcastRetrieveResponse>;
|
|
33
|
+
/**
|
|
34
|
+
* Update a broadcast in draft status.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const broadcast = await client.broadcasts.update(
|
|
39
|
+
* 'broadcastId',
|
|
40
|
+
* );
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
update(broadcastID: string, body: BroadcastUpdateParams, options?: RequestOptions): APIPromise<BroadcastUpdateResponse>;
|
|
44
|
+
/**
|
|
45
|
+
* List broadcasts for this project.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* // Automatically fetches more pages as needed.
|
|
50
|
+
* for await (const broadcast of client.broadcasts.list()) {
|
|
51
|
+
* // ...
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
list(query?: BroadcastListParams | null | undefined, options?: RequestOptions): PagePromise<BroadcastsCursor, Broadcast>;
|
|
56
|
+
/**
|
|
57
|
+
* Delete a broadcast in draft status.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
61
|
+
* await client.broadcasts.delete('broadcastId');
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
delete(broadcastID: string, options?: RequestOptions): APIPromise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Cancel a broadcast. Pending contacts will be skipped, but already queued
|
|
67
|
+
* messages may still be delivered.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* const response = await client.broadcasts.cancel(
|
|
72
|
+
* 'broadcastId',
|
|
73
|
+
* );
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
cancel(broadcastID: string, options?: RequestOptions): APIPromise<BroadcastCancelResponse>;
|
|
77
|
+
/**
|
|
78
|
+
* Get real-time progress of a broadcast including delivery counts and estimated
|
|
79
|
+
* completion time.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```ts
|
|
83
|
+
* const broadcastProgress = await client.broadcasts.progress(
|
|
84
|
+
* 'broadcastId',
|
|
85
|
+
* );
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
progress(broadcastID: string, options?: RequestOptions): APIPromise<BroadcastProgress>;
|
|
89
|
+
/**
|
|
90
|
+
* Start sending the broadcast immediately or schedule for later. Reserves the
|
|
91
|
+
* estimated cost from your balance.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```ts
|
|
95
|
+
* const response = await client.broadcasts.send(
|
|
96
|
+
* 'broadcastId',
|
|
97
|
+
* );
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
send(broadcastID: string, body?: BroadcastSendParams | null | undefined, options?: RequestOptions): APIPromise<BroadcastSendResponse>;
|
|
101
|
+
}
|
|
102
|
+
export type BroadcastsCursor = Cursor<Broadcast>;
|
|
103
|
+
export type BroadcastContactsCursor = Cursor<BroadcastContact>;
|
|
104
|
+
export interface Broadcast {
|
|
105
|
+
id: string;
|
|
106
|
+
/**
|
|
107
|
+
* Broadcast delivery channel.
|
|
108
|
+
*/
|
|
109
|
+
channel: BroadcastChannel;
|
|
110
|
+
createdAt: string;
|
|
111
|
+
/**
|
|
112
|
+
* Type of message for broadcast.
|
|
113
|
+
*/
|
|
114
|
+
messageType: BroadcastMessageType;
|
|
115
|
+
name: string;
|
|
116
|
+
/**
|
|
117
|
+
* Current status of the broadcast.
|
|
118
|
+
*/
|
|
119
|
+
status: BroadcastStatus;
|
|
120
|
+
/**
|
|
121
|
+
* Total number of contacts in the broadcast.
|
|
122
|
+
*/
|
|
123
|
+
totalContacts: number;
|
|
124
|
+
/**
|
|
125
|
+
* Actual cost so far in USD.
|
|
126
|
+
*/
|
|
127
|
+
actualCost?: number | null;
|
|
128
|
+
completedAt?: string;
|
|
129
|
+
/**
|
|
130
|
+
* Content for non-text broadcast message types.
|
|
131
|
+
*/
|
|
132
|
+
content?: BroadcastContent;
|
|
133
|
+
deliveredCount?: number;
|
|
134
|
+
emailSubject?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Estimated total cost in USD.
|
|
137
|
+
*/
|
|
138
|
+
estimatedCost?: number | null;
|
|
139
|
+
failedCount?: number;
|
|
140
|
+
metadata?: {
|
|
141
|
+
[key: string]: string;
|
|
142
|
+
};
|
|
143
|
+
pendingCount?: number;
|
|
144
|
+
/**
|
|
145
|
+
* Amount reserved from balance in USD.
|
|
146
|
+
*/
|
|
147
|
+
reservedAmount?: number | null;
|
|
148
|
+
scheduledAt?: string;
|
|
149
|
+
senderId?: string;
|
|
150
|
+
sendingCount?: number;
|
|
151
|
+
startedAt?: string;
|
|
152
|
+
text?: string;
|
|
153
|
+
updatedAt?: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Broadcast delivery channel.
|
|
157
|
+
*/
|
|
158
|
+
export type BroadcastChannel = 'sms' | 'whatsapp' | 'email';
|
|
159
|
+
export interface BroadcastContact {
|
|
160
|
+
id: string;
|
|
161
|
+
createdAt: string;
|
|
162
|
+
recipient: string;
|
|
163
|
+
recipientType: 'phone' | 'email';
|
|
164
|
+
/**
|
|
165
|
+
* Status of a contact within a broadcast.
|
|
166
|
+
*/
|
|
167
|
+
status: BroadcastContactStatus;
|
|
168
|
+
cost?: number | null;
|
|
169
|
+
errorCode?: string;
|
|
170
|
+
errorMessage?: string;
|
|
171
|
+
/**
|
|
172
|
+
* Associated message ID after processing.
|
|
173
|
+
*/
|
|
174
|
+
messageId?: string;
|
|
175
|
+
processedAt?: string;
|
|
176
|
+
templateVariables?: {
|
|
177
|
+
[key: string]: string;
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Status of a contact within a broadcast.
|
|
182
|
+
*/
|
|
183
|
+
export type BroadcastContactStatus = 'pending' | 'queued' | 'sending' | 'delivered' | 'failed' | 'skipped';
|
|
184
|
+
/**
|
|
185
|
+
* Content for non-text broadcast message types.
|
|
186
|
+
*/
|
|
187
|
+
export interface BroadcastContent {
|
|
188
|
+
/**
|
|
189
|
+
* Filename for documents.
|
|
190
|
+
*/
|
|
191
|
+
filename?: string;
|
|
192
|
+
/**
|
|
193
|
+
* Media ID if already uploaded.
|
|
194
|
+
*/
|
|
195
|
+
mediaId?: string;
|
|
196
|
+
/**
|
|
197
|
+
* URL of the media file.
|
|
198
|
+
*/
|
|
199
|
+
mediaUrl?: string;
|
|
200
|
+
/**
|
|
201
|
+
* MIME type of the media.
|
|
202
|
+
*/
|
|
203
|
+
mimeType?: string;
|
|
204
|
+
/**
|
|
205
|
+
* Template ID for template messages.
|
|
206
|
+
*/
|
|
207
|
+
templateId?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Default template variables (can be overridden per contact).
|
|
210
|
+
*/
|
|
211
|
+
templateVariables?: {
|
|
212
|
+
[key: string]: string;
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Type of message for broadcast.
|
|
217
|
+
*/
|
|
218
|
+
export type BroadcastMessageType = 'text' | 'image' | 'video' | 'audio' | 'document' | 'template';
|
|
219
|
+
export interface BroadcastProgress {
|
|
220
|
+
broadcastId: string;
|
|
221
|
+
/**
|
|
222
|
+
* Successfully delivered.
|
|
223
|
+
*/
|
|
224
|
+
delivered: number;
|
|
225
|
+
/**
|
|
226
|
+
* Failed to deliver.
|
|
227
|
+
*/
|
|
228
|
+
failed: number;
|
|
229
|
+
/**
|
|
230
|
+
* Not yet queued for sending.
|
|
231
|
+
*/
|
|
232
|
+
pending: number;
|
|
233
|
+
/**
|
|
234
|
+
* Percentage complete (0-100).
|
|
235
|
+
*/
|
|
236
|
+
percentComplete: number;
|
|
237
|
+
/**
|
|
238
|
+
* Currently being sent.
|
|
239
|
+
*/
|
|
240
|
+
sending: number;
|
|
241
|
+
/**
|
|
242
|
+
* Skipped (broadcast cancelled).
|
|
243
|
+
*/
|
|
244
|
+
skipped: number;
|
|
245
|
+
/**
|
|
246
|
+
* Current status of the broadcast.
|
|
247
|
+
*/
|
|
248
|
+
status: BroadcastStatus;
|
|
249
|
+
/**
|
|
250
|
+
* Total contacts in broadcast.
|
|
251
|
+
*/
|
|
252
|
+
total: number;
|
|
253
|
+
/**
|
|
254
|
+
* Actual cost so far in USD.
|
|
255
|
+
*/
|
|
256
|
+
actualCost?: number | null;
|
|
257
|
+
estimatedCompletionAt?: string;
|
|
258
|
+
/**
|
|
259
|
+
* Estimated total cost in USD.
|
|
260
|
+
*/
|
|
261
|
+
estimatedCost?: number | null;
|
|
262
|
+
/**
|
|
263
|
+
* Amount reserved from balance in USD.
|
|
264
|
+
*/
|
|
265
|
+
reservedAmount?: number | null;
|
|
266
|
+
startedAt?: string;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Current status of the broadcast.
|
|
270
|
+
*/
|
|
271
|
+
export type BroadcastStatus = 'draft' | 'scheduled' | 'sending' | 'paused' | 'completed' | 'cancelled' | 'failed';
|
|
272
|
+
export interface BroadcastCreateResponse {
|
|
273
|
+
broadcast: Broadcast;
|
|
274
|
+
}
|
|
275
|
+
export interface BroadcastRetrieveResponse {
|
|
276
|
+
broadcast: Broadcast;
|
|
277
|
+
}
|
|
278
|
+
export interface BroadcastUpdateResponse {
|
|
279
|
+
broadcast: Broadcast;
|
|
280
|
+
}
|
|
281
|
+
export interface BroadcastCancelResponse {
|
|
282
|
+
broadcast: Broadcast;
|
|
283
|
+
}
|
|
284
|
+
export interface BroadcastSendResponse {
|
|
285
|
+
broadcast: Broadcast;
|
|
286
|
+
}
|
|
287
|
+
export interface BroadcastCreateParams {
|
|
288
|
+
/**
|
|
289
|
+
* Broadcast delivery channel.
|
|
290
|
+
*/
|
|
291
|
+
channel: BroadcastChannel;
|
|
292
|
+
/**
|
|
293
|
+
* Name of the broadcast campaign.
|
|
294
|
+
*/
|
|
295
|
+
name: string;
|
|
296
|
+
/**
|
|
297
|
+
* Content for non-text broadcast message types.
|
|
298
|
+
*/
|
|
299
|
+
content?: BroadcastContent;
|
|
300
|
+
/**
|
|
301
|
+
* HTML body for email broadcasts.
|
|
302
|
+
*/
|
|
303
|
+
emailHtmlBody?: string;
|
|
304
|
+
/**
|
|
305
|
+
* Email subject line. Required for email broadcasts.
|
|
306
|
+
*/
|
|
307
|
+
emailSubject?: string;
|
|
308
|
+
/**
|
|
309
|
+
* Idempotency key to prevent duplicate broadcasts.
|
|
310
|
+
*/
|
|
311
|
+
idempotencyKey?: string;
|
|
312
|
+
/**
|
|
313
|
+
* Type of message for broadcast.
|
|
314
|
+
*/
|
|
315
|
+
messageType?: BroadcastMessageType;
|
|
316
|
+
metadata?: {
|
|
317
|
+
[key: string]: string;
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* Schedule the broadcast for future delivery.
|
|
321
|
+
*/
|
|
322
|
+
scheduledAt?: string;
|
|
323
|
+
/**
|
|
324
|
+
* Sender profile ID. Uses default sender if omitted.
|
|
325
|
+
*/
|
|
326
|
+
senderId?: string;
|
|
327
|
+
/**
|
|
328
|
+
* Text content or caption. Supports template variables: {{name}}, {{1}}, etc.
|
|
329
|
+
*/
|
|
330
|
+
text?: string;
|
|
331
|
+
}
|
|
332
|
+
export interface BroadcastUpdateParams {
|
|
333
|
+
/**
|
|
334
|
+
* Content for non-text broadcast message types.
|
|
335
|
+
*/
|
|
336
|
+
content?: BroadcastContent;
|
|
337
|
+
emailHtmlBody?: string;
|
|
338
|
+
emailSubject?: string;
|
|
339
|
+
metadata?: {
|
|
340
|
+
[key: string]: string;
|
|
341
|
+
};
|
|
342
|
+
name?: string;
|
|
343
|
+
text?: string;
|
|
344
|
+
}
|
|
345
|
+
export interface BroadcastListParams extends CursorParams {
|
|
346
|
+
/**
|
|
347
|
+
* Current status of the broadcast.
|
|
348
|
+
*/
|
|
349
|
+
status?: BroadcastStatus;
|
|
350
|
+
}
|
|
351
|
+
export interface BroadcastSendParams {
|
|
352
|
+
/**
|
|
353
|
+
* Schedule for future delivery. Omit to send immediately.
|
|
354
|
+
*/
|
|
355
|
+
scheduledAt?: string;
|
|
356
|
+
}
|
|
357
|
+
export declare namespace Broadcasts {
|
|
358
|
+
export { type Broadcast as Broadcast, type BroadcastChannel as BroadcastChannel, type BroadcastContact as BroadcastContact, type BroadcastContactStatus as BroadcastContactStatus, type BroadcastContent as BroadcastContent, type BroadcastMessageType as BroadcastMessageType, type BroadcastProgress as BroadcastProgress, type BroadcastStatus as BroadcastStatus, type BroadcastCreateResponse as BroadcastCreateResponse, type BroadcastRetrieveResponse as BroadcastRetrieveResponse, type BroadcastUpdateResponse as BroadcastUpdateResponse, type BroadcastCancelResponse as BroadcastCancelResponse, type BroadcastSendResponse as BroadcastSendResponse, type BroadcastsCursor as BroadcastsCursor, type BroadcastCreateParams as BroadcastCreateParams, type BroadcastUpdateParams as BroadcastUpdateParams, type BroadcastListParams as BroadcastListParams, type BroadcastSendParams as BroadcastSendParams, };
|
|
359
|
+
export { Contacts as Contacts, type ContactAddResponse as ContactAddResponse, type ContactListParams as ContactListParams, type ContactAddParams as ContactAddParams, type ContactRemoveParams as ContactRemoveParams, };
|
|
360
|
+
}
|
|
361
|
+
//# sourceMappingURL=broadcasts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcasts.d.ts","sourceRoot":"","sources":["../../src/resources/broadcasts/broadcasts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Broadcasts = void 0;
|
|
5
|
+
const tslib_1 = require("../../internal/tslib.js");
|
|
6
|
+
const resource_1 = require("../../core/resource.js");
|
|
7
|
+
const ContactsAPI = tslib_1.__importStar(require("./contacts.js"));
|
|
8
|
+
const contacts_1 = require("./contacts.js");
|
|
9
|
+
const pagination_1 = require("../../core/pagination.js");
|
|
10
|
+
const headers_1 = require("../../internal/headers.js");
|
|
11
|
+
const path_1 = require("../../internal/utils/path.js");
|
|
12
|
+
class Broadcasts extends resource_1.APIResource {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.contacts = new ContactsAPI.Contacts(this._client);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a new broadcast campaign. Add contacts after creation, then send.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const broadcast = await client.broadcasts.create({
|
|
23
|
+
* channel: 'sms',
|
|
24
|
+
* name: 'Black Friday Sale',
|
|
25
|
+
* text: 'Hi {{name}}, check out our Black Friday deals! Use code FRIDAY20 for 20% off.',
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
create(body, options) {
|
|
30
|
+
return this._client.post('/v1/broadcasts', { body, ...options });
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get broadcast
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const broadcast = await client.broadcasts.retrieve(
|
|
38
|
+
* 'broadcastId',
|
|
39
|
+
* );
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
retrieve(broadcastID, options) {
|
|
43
|
+
return this._client.get((0, path_1.path) `/v1/broadcasts/${broadcastID}`, options);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Update a broadcast in draft status.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* const broadcast = await client.broadcasts.update(
|
|
51
|
+
* 'broadcastId',
|
|
52
|
+
* );
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
update(broadcastID, body, options) {
|
|
56
|
+
return this._client.patch((0, path_1.path) `/v1/broadcasts/${broadcastID}`, { body, ...options });
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* List broadcasts for this project.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* // Automatically fetches more pages as needed.
|
|
64
|
+
* for await (const broadcast of client.broadcasts.list()) {
|
|
65
|
+
* // ...
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
list(query = {}, options) {
|
|
70
|
+
return this._client.getAPIList('/v1/broadcasts', (pagination_1.Cursor), { query, ...options });
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Delete a broadcast in draft status.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```ts
|
|
77
|
+
* await client.broadcasts.delete('broadcastId');
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
delete(broadcastID, options) {
|
|
81
|
+
return this._client.delete((0, path_1.path) `/v1/broadcasts/${broadcastID}`, {
|
|
82
|
+
...options,
|
|
83
|
+
headers: (0, headers_1.buildHeaders)([{ Accept: '*/*' }, options?.headers]),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Cancel a broadcast. Pending contacts will be skipped, but already queued
|
|
88
|
+
* messages may still be delivered.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const response = await client.broadcasts.cancel(
|
|
93
|
+
* 'broadcastId',
|
|
94
|
+
* );
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
cancel(broadcastID, options) {
|
|
98
|
+
return this._client.post((0, path_1.path) `/v1/broadcasts/${broadcastID}/cancel`, options);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get real-time progress of a broadcast including delivery counts and estimated
|
|
102
|
+
* completion time.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* const broadcastProgress = await client.broadcasts.progress(
|
|
107
|
+
* 'broadcastId',
|
|
108
|
+
* );
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
progress(broadcastID, options) {
|
|
112
|
+
return this._client.get((0, path_1.path) `/v1/broadcasts/${broadcastID}/progress`, options);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Start sending the broadcast immediately or schedule for later. Reserves the
|
|
116
|
+
* estimated cost from your balance.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```ts
|
|
120
|
+
* const response = await client.broadcasts.send(
|
|
121
|
+
* 'broadcastId',
|
|
122
|
+
* );
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
send(broadcastID, body = {}, options) {
|
|
126
|
+
return this._client.post((0, path_1.path) `/v1/broadcasts/${broadcastID}/send`, { body, ...options });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.Broadcasts = Broadcasts;
|
|
130
|
+
Broadcasts.Contacts = contacts_1.Contacts;
|
|
131
|
+
//# sourceMappingURL=broadcasts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcasts.js","sourceRoot":"","sources":["../../src/resources/broadcasts/broadcasts.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;AAEtF,qDAAkD;AAClD,mEAA0C;AAC1C,4CAMoB;AAEpB,yDAA+E;AAC/E,uDAAsD;AAEtD,uDAAiD;AAEjD,MAAa,UAAW,SAAQ,sBAAW;IAA3C;;QACE,aAAQ,GAAyB,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAmI1E,CAAC;IAjIC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAA2B,EAAE,OAAwB;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAmB,EAAE,OAAwB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,kBAAkB,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CACJ,WAAmB,EACnB,IAA2B,EAC3B,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,WAAI,EAAA,kBAAkB,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAAgD,EAAE,EAClD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAA,mBAAiB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,WAAmB,EAAE,OAAwB;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,kBAAkB,WAAW,EAAE,EAAE;YAC9D,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,WAAmB,EAAE,OAAwB;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,WAAI,EAAA,kBAAkB,WAAW,SAAS,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAmB,EAAE,OAAwB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,kBAAkB,WAAW,WAAW,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,WAAmB,EACnB,OAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,WAAI,EAAA,kBAAkB,WAAW,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;CACF;AApID,gCAoIC;AAkVD,UAAU,CAAC,QAAQ,GAAG,mBAAQ,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
import { APIResource } from "../../core/resource.mjs";
|
|
3
|
+
import * as ContactsAPI from "./contacts.mjs";
|
|
4
|
+
import { Contacts, } from "./contacts.mjs";
|
|
5
|
+
import { Cursor } from "../../core/pagination.mjs";
|
|
6
|
+
import { buildHeaders } from "../../internal/headers.mjs";
|
|
7
|
+
import { path } from "../../internal/utils/path.mjs";
|
|
8
|
+
export class Broadcasts extends APIResource {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.contacts = new ContactsAPI.Contacts(this._client);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create a new broadcast campaign. Add contacts after creation, then send.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const broadcast = await client.broadcasts.create({
|
|
19
|
+
* channel: 'sms',
|
|
20
|
+
* name: 'Black Friday Sale',
|
|
21
|
+
* text: 'Hi {{name}}, check out our Black Friday deals! Use code FRIDAY20 for 20% off.',
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
create(body, options) {
|
|
26
|
+
return this._client.post('/v1/broadcasts', { body, ...options });
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get broadcast
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* const broadcast = await client.broadcasts.retrieve(
|
|
34
|
+
* 'broadcastId',
|
|
35
|
+
* );
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
retrieve(broadcastID, options) {
|
|
39
|
+
return this._client.get(path `/v1/broadcasts/${broadcastID}`, options);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Update a broadcast in draft status.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const broadcast = await client.broadcasts.update(
|
|
47
|
+
* 'broadcastId',
|
|
48
|
+
* );
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
update(broadcastID, body, options) {
|
|
52
|
+
return this._client.patch(path `/v1/broadcasts/${broadcastID}`, { body, ...options });
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* List broadcasts for this project.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* // Automatically fetches more pages as needed.
|
|
60
|
+
* for await (const broadcast of client.broadcasts.list()) {
|
|
61
|
+
* // ...
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
list(query = {}, options) {
|
|
66
|
+
return this._client.getAPIList('/v1/broadcasts', (Cursor), { query, ...options });
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Delete a broadcast in draft status.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* await client.broadcasts.delete('broadcastId');
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
delete(broadcastID, options) {
|
|
77
|
+
return this._client.delete(path `/v1/broadcasts/${broadcastID}`, {
|
|
78
|
+
...options,
|
|
79
|
+
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Cancel a broadcast. Pending contacts will be skipped, but already queued
|
|
84
|
+
* messages may still be delivered.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* const response = await client.broadcasts.cancel(
|
|
89
|
+
* 'broadcastId',
|
|
90
|
+
* );
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
cancel(broadcastID, options) {
|
|
94
|
+
return this._client.post(path `/v1/broadcasts/${broadcastID}/cancel`, options);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get real-time progress of a broadcast including delivery counts and estimated
|
|
98
|
+
* completion time.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* const broadcastProgress = await client.broadcasts.progress(
|
|
103
|
+
* 'broadcastId',
|
|
104
|
+
* );
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
progress(broadcastID, options) {
|
|
108
|
+
return this._client.get(path `/v1/broadcasts/${broadcastID}/progress`, options);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Start sending the broadcast immediately or schedule for later. Reserves the
|
|
112
|
+
* estimated cost from your balance.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* const response = await client.broadcasts.send(
|
|
117
|
+
* 'broadcastId',
|
|
118
|
+
* );
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
send(broadcastID, body = {}, options) {
|
|
122
|
+
return this._client.post(path `/v1/broadcasts/${broadcastID}/send`, { body, ...options });
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
Broadcasts.Contacts = Contacts;
|
|
126
|
+
//# sourceMappingURL=broadcasts.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcasts.mjs","sourceRoot":"","sources":["../../src/resources/broadcasts/broadcasts.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OACf,KAAK,WAAW;OAChB,EAKL,QAAQ,GACT;OAEM,EAAE,MAAM,EAAkC;OAC1C,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,UAAW,SAAQ,WAAW;IAA3C;;QACE,aAAQ,GAAyB,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAmI1E,CAAC;IAjIC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAA2B,EAAE,OAAwB;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAmB,EAAE,OAAwB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,kBAAkB,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CACJ,WAAmB,EACnB,IAA2B,EAC3B,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA,kBAAkB,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAAgD,EAAE,EAClD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAA,MAAiB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,WAAmB,EAAE,OAAwB;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,kBAAkB,WAAW,EAAE,EAAE;YAC9D,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,WAAmB,EAAE,OAAwB;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,kBAAkB,WAAW,SAAS,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAmB,EAAE,OAAwB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,kBAAkB,WAAW,WAAW,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,WAAmB,EACnB,OAA+C,EAAE,EACjD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAA,kBAAkB,WAAW,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;CACF;AAkVD,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC"}
|