@zavudev/sdk 0.9.0 → 0.11.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.
@@ -48,6 +48,25 @@ export {
48
48
  type MessageSendParams,
49
49
  type MessagesCursor,
50
50
  } from './messages';
51
+ export {
52
+ PhoneNumbers,
53
+ type AvailablePhoneNumber,
54
+ type OwnedPhoneNumber,
55
+ type OwnedPhoneNumberPricing,
56
+ type PhoneNumberCapabilities,
57
+ type PhoneNumberPricing,
58
+ type PhoneNumberStatus,
59
+ type PhoneNumberType,
60
+ type PhoneNumberRetrieveResponse,
61
+ type PhoneNumberUpdateResponse,
62
+ type PhoneNumberPurchaseResponse,
63
+ type PhoneNumberSearchAvailableResponse,
64
+ type PhoneNumberUpdateParams,
65
+ type PhoneNumberListParams,
66
+ type PhoneNumberPurchaseParams,
67
+ type PhoneNumberSearchAvailableParams,
68
+ type OwnedPhoneNumbersCursor,
69
+ } from './phone-numbers';
51
70
  export {
52
71
  Senders,
53
72
  type Sender,
@@ -0,0 +1,297 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import { APIPromise } from '../core/api-promise';
5
+ import { Cursor, type CursorParams, PagePromise } from '../core/pagination';
6
+ import { buildHeaders } from '../internal/headers';
7
+ import { RequestOptions } from '../internal/request-options';
8
+ import { path } from '../internal/utils/path';
9
+
10
+ export class PhoneNumbers extends APIResource {
11
+ /**
12
+ * Get details of a specific phone number.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const phoneNumber = await client.phoneNumbers.retrieve(
17
+ * 'phoneNumberId',
18
+ * );
19
+ * ```
20
+ */
21
+ retrieve(phoneNumberID: string, options?: RequestOptions): APIPromise<PhoneNumberRetrieveResponse> {
22
+ return this._client.get(path`/v1/phone-numbers/${phoneNumberID}`, options);
23
+ }
24
+
25
+ /**
26
+ * Update a phone number's name or sender assignment.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const phoneNumber = await client.phoneNumbers.update(
31
+ * 'phoneNumberId',
32
+ * { name: 'Support Line' },
33
+ * );
34
+ * ```
35
+ */
36
+ update(
37
+ phoneNumberID: string,
38
+ body: PhoneNumberUpdateParams,
39
+ options?: RequestOptions,
40
+ ): APIPromise<PhoneNumberUpdateResponse> {
41
+ return this._client.patch(path`/v1/phone-numbers/${phoneNumberID}`, { body, ...options });
42
+ }
43
+
44
+ /**
45
+ * List all phone numbers owned by this project.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * // Automatically fetches more pages as needed.
50
+ * for await (const ownedPhoneNumber of client.phoneNumbers.list()) {
51
+ * // ...
52
+ * }
53
+ * ```
54
+ */
55
+ list(
56
+ query: PhoneNumberListParams | null | undefined = {},
57
+ options?: RequestOptions,
58
+ ): PagePromise<OwnedPhoneNumbersCursor, OwnedPhoneNumber> {
59
+ return this._client.getAPIList('/v1/phone-numbers', Cursor<OwnedPhoneNumber>, { query, ...options });
60
+ }
61
+
62
+ /**
63
+ * Purchase an available phone number. The first US phone number is free for each
64
+ * team.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * const response = await client.phoneNumbers.purchase({
69
+ * phoneNumber: '+15551234567',
70
+ * name: 'Primary Line',
71
+ * });
72
+ * ```
73
+ */
74
+ purchase(
75
+ body: PhoneNumberPurchaseParams,
76
+ options?: RequestOptions,
77
+ ): APIPromise<PhoneNumberPurchaseResponse> {
78
+ return this._client.post('/v1/phone-numbers', { body, ...options });
79
+ }
80
+
81
+ /**
82
+ * Release a phone number. The phone number must not be assigned to a sender.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * await client.phoneNumbers.release('phoneNumberId');
87
+ * ```
88
+ */
89
+ release(phoneNumberID: string, options?: RequestOptions): APIPromise<void> {
90
+ return this._client.delete(path`/v1/phone-numbers/${phoneNumberID}`, {
91
+ ...options,
92
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
93
+ });
94
+ }
95
+
96
+ /**
97
+ * Search for available phone numbers to purchase by country and type.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * const response = await client.phoneNumbers.searchAvailable({
102
+ * countryCode: 'xx',
103
+ * });
104
+ * ```
105
+ */
106
+ searchAvailable(
107
+ query: PhoneNumberSearchAvailableParams,
108
+ options?: RequestOptions,
109
+ ): APIPromise<PhoneNumberSearchAvailableResponse> {
110
+ return this._client.get('/v1/phone-numbers/available', { query, ...options });
111
+ }
112
+ }
113
+
114
+ export type OwnedPhoneNumbersCursor = Cursor<OwnedPhoneNumber>;
115
+
116
+ export interface AvailablePhoneNumber {
117
+ capabilities: PhoneNumberCapabilities;
118
+
119
+ phoneNumber: string;
120
+
121
+ pricing: PhoneNumberPricing;
122
+
123
+ friendlyName?: string;
124
+
125
+ locality?: string;
126
+
127
+ region?: string;
128
+ }
129
+
130
+ export interface OwnedPhoneNumber {
131
+ id: string;
132
+
133
+ capabilities: Array<string>;
134
+
135
+ createdAt: string;
136
+
137
+ phoneNumber: string;
138
+
139
+ pricing: OwnedPhoneNumberPricing;
140
+
141
+ status: PhoneNumberStatus;
142
+
143
+ /**
144
+ * Optional custom name for the phone number.
145
+ */
146
+ name?: string;
147
+
148
+ nextRenewalDate?: string;
149
+
150
+ /**
151
+ * Sender ID if the phone number is assigned to a sender.
152
+ */
153
+ senderId?: string;
154
+
155
+ updatedAt?: string;
156
+ }
157
+
158
+ export interface OwnedPhoneNumberPricing {
159
+ /**
160
+ * Whether this is a free number.
161
+ */
162
+ isFreeNumber?: boolean;
163
+
164
+ /**
165
+ * Monthly cost in cents.
166
+ */
167
+ monthlyCost?: number;
168
+
169
+ /**
170
+ * Monthly price in USD.
171
+ */
172
+ monthlyPrice?: number;
173
+
174
+ /**
175
+ * One-time purchase cost in cents.
176
+ */
177
+ upfrontCost?: number;
178
+ }
179
+
180
+ export interface PhoneNumberCapabilities {
181
+ mms?: boolean;
182
+
183
+ sms?: boolean;
184
+
185
+ voice?: boolean;
186
+ }
187
+
188
+ export interface PhoneNumberPricing {
189
+ /**
190
+ * Whether this number qualifies for the free first US number offer.
191
+ */
192
+ isFreeEligible?: boolean;
193
+
194
+ /**
195
+ * Monthly price in USD.
196
+ */
197
+ monthlyPrice?: number;
198
+
199
+ /**
200
+ * One-time purchase price in USD.
201
+ */
202
+ upfrontPrice?: number;
203
+ }
204
+
205
+ export type PhoneNumberStatus = 'active' | 'suspended' | 'pending';
206
+
207
+ export type PhoneNumberType = 'local' | 'mobile' | 'tollFree';
208
+
209
+ export interface PhoneNumberRetrieveResponse {
210
+ phoneNumber: OwnedPhoneNumber;
211
+ }
212
+
213
+ export interface PhoneNumberUpdateResponse {
214
+ phoneNumber: OwnedPhoneNumber;
215
+ }
216
+
217
+ export interface PhoneNumberPurchaseResponse {
218
+ phoneNumber: OwnedPhoneNumber;
219
+ }
220
+
221
+ export interface PhoneNumberSearchAvailableResponse {
222
+ items: Array<AvailablePhoneNumber>;
223
+ }
224
+
225
+ export interface PhoneNumberUpdateParams {
226
+ /**
227
+ * Custom name for the phone number. Set to null to clear.
228
+ */
229
+ name?: string | null;
230
+
231
+ /**
232
+ * Sender ID to assign the phone number to. Set to null to unassign.
233
+ */
234
+ senderId?: string | null;
235
+ }
236
+
237
+ export interface PhoneNumberListParams extends CursorParams {
238
+ /**
239
+ * Filter by phone number status.
240
+ */
241
+ status?: PhoneNumberStatus;
242
+ }
243
+
244
+ export interface PhoneNumberPurchaseParams {
245
+ /**
246
+ * Phone number in E.164 format.
247
+ */
248
+ phoneNumber: string;
249
+
250
+ /**
251
+ * Optional custom name for the phone number.
252
+ */
253
+ name?: string;
254
+ }
255
+
256
+ export interface PhoneNumberSearchAvailableParams {
257
+ /**
258
+ * Two-letter ISO country code.
259
+ */
260
+ countryCode: string;
261
+
262
+ /**
263
+ * Search for numbers containing this string.
264
+ */
265
+ contains?: string;
266
+
267
+ /**
268
+ * Maximum number of results to return.
269
+ */
270
+ limit?: number;
271
+
272
+ /**
273
+ * Type of phone number to search for.
274
+ */
275
+ type?: PhoneNumberType;
276
+ }
277
+
278
+ export declare namespace PhoneNumbers {
279
+ export {
280
+ type AvailablePhoneNumber as AvailablePhoneNumber,
281
+ type OwnedPhoneNumber as OwnedPhoneNumber,
282
+ type OwnedPhoneNumberPricing as OwnedPhoneNumberPricing,
283
+ type PhoneNumberCapabilities as PhoneNumberCapabilities,
284
+ type PhoneNumberPricing as PhoneNumberPricing,
285
+ type PhoneNumberStatus as PhoneNumberStatus,
286
+ type PhoneNumberType as PhoneNumberType,
287
+ type PhoneNumberRetrieveResponse as PhoneNumberRetrieveResponse,
288
+ type PhoneNumberUpdateResponse as PhoneNumberUpdateResponse,
289
+ type PhoneNumberPurchaseResponse as PhoneNumberPurchaseResponse,
290
+ type PhoneNumberSearchAvailableResponse as PhoneNumberSearchAvailableResponse,
291
+ type OwnedPhoneNumbersCursor as OwnedPhoneNumbersCursor,
292
+ type PhoneNumberUpdateParams as PhoneNumberUpdateParams,
293
+ type PhoneNumberListParams as PhoneNumberListParams,
294
+ type PhoneNumberPurchaseParams as PhoneNumberPurchaseParams,
295
+ type PhoneNumberSearchAvailableParams as PhoneNumberSearchAvailableParams,
296
+ };
297
+ }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.9.0'; // x-release-please-version
1
+ export const VERSION = '0.11.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.9.0";
1
+ export declare const VERSION = "0.11.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.mts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.mts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.mts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.9.0";
1
+ export declare const VERSION = "0.11.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.9.0'; // x-release-please-version
4
+ exports.VERSION = '0.11.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC,CAAC,2BAA2B"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,QAAQ,CAAC,CAAC,2BAA2B"}
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.9.0'; // x-release-please-version
1
+ export const VERSION = '0.11.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map
package/version.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,2BAA2B"}
1
+ {"version":3,"file":"version.mjs","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,2BAA2B"}