@sentdm/sentdm 0.46.0 → 0.47.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 +8 -0
- package/client.d.mts +3 -1
- package/client.d.mts.map +1 -1
- package/client.d.ts +3 -1
- package/client.d.ts.map +1 -1
- package/client.js.map +1 -1
- package/client.mjs.map +1 -1
- package/core/pagination.d.mts +25 -0
- package/core/pagination.d.mts.map +1 -1
- package/core/pagination.d.ts +25 -0
- package/core/pagination.d.ts.map +1 -1
- package/core/pagination.js +28 -1
- package/core/pagination.js.map +1 -1
- package/core/pagination.mjs +26 -0
- package/core/pagination.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/channels/voice.d.mts +68 -19
- package/resources/channels/voice.d.mts.map +1 -1
- package/resources/channels/voice.d.ts +68 -19
- package/resources/channels/voice.d.ts.map +1 -1
- package/resources/channels/voice.js +31 -12
- package/resources/channels/voice.js.map +1 -1
- package/resources/channels/voice.mjs +31 -12
- package/resources/channels/voice.mjs.map +1 -1
- package/resources/profiles/campaigns.d.mts +3 -2
- package/resources/profiles/campaigns.d.mts.map +1 -1
- package/resources/profiles/campaigns.d.ts +3 -2
- package/resources/profiles/campaigns.d.ts.map +1 -1
- package/resources/profiles/campaigns.js +3 -2
- package/resources/profiles/campaigns.js.map +1 -1
- package/resources/profiles/campaigns.mjs +3 -2
- package/resources/profiles/campaigns.mjs.map +1 -1
- package/resources/voice/agents.d.mts +524 -0
- package/resources/voice/agents.d.mts.map +1 -0
- package/resources/voice/agents.d.ts +524 -0
- package/resources/voice/agents.d.ts.map +1 -0
- package/resources/voice/agents.js +193 -0
- package/resources/voice/agents.js.map +1 -0
- package/resources/voice/agents.mjs +189 -0
- package/resources/voice/agents.mjs.map +1 -0
- package/resources/voice/calls/calls.d.mts +87 -15
- package/resources/voice/calls/calls.d.mts.map +1 -1
- package/resources/voice/calls/calls.d.ts +87 -15
- package/resources/voice/calls/calls.d.ts.map +1 -1
- package/resources/voice/calls/calls.js +18 -11
- package/resources/voice/calls/calls.js.map +1 -1
- package/resources/voice/calls/calls.mjs +18 -11
- package/resources/voice/calls/calls.mjs.map +1 -1
- package/resources/voice/calls/participants.d.mts +2 -0
- package/resources/voice/calls/participants.d.mts.map +1 -1
- package/resources/voice/calls/participants.d.ts +2 -0
- package/resources/voice/calls/participants.d.ts.map +1 -1
- package/resources/voice/calls/participants.js +2 -0
- package/resources/voice/calls/participants.js.map +1 -1
- package/resources/voice/calls/participants.mjs +2 -0
- package/resources/voice/calls/participants.mjs.map +1 -1
- package/resources/voice/catalogue.d.mts +86 -0
- package/resources/voice/catalogue.d.mts.map +1 -0
- package/resources/voice/catalogue.d.ts +86 -0
- package/resources/voice/catalogue.d.ts.map +1 -0
- package/resources/voice/catalogue.js +40 -0
- package/resources/voice/catalogue.js.map +1 -0
- package/resources/voice/catalogue.mjs +36 -0
- package/resources/voice/catalogue.mjs.map +1 -0
- package/resources/voice/index.d.mts +2 -0
- package/resources/voice/index.d.mts.map +1 -1
- package/resources/voice/index.d.ts +2 -0
- package/resources/voice/index.d.ts.map +1 -1
- package/resources/voice/index.js +5 -1
- package/resources/voice/index.js.map +1 -1
- package/resources/voice/index.mjs +2 -0
- package/resources/voice/index.mjs.map +1 -1
- package/resources/voice/tokens.d.mts +2 -0
- package/resources/voice/tokens.d.mts.map +1 -1
- package/resources/voice/tokens.d.ts +2 -0
- package/resources/voice/tokens.d.ts.map +1 -1
- package/resources/voice/tokens.js +2 -0
- package/resources/voice/tokens.js.map +1 -1
- package/resources/voice/tokens.mjs +2 -0
- package/resources/voice/tokens.mjs.map +1 -1
- package/resources/voice/voice.d.mts +8 -0
- package/resources/voice/voice.d.mts.map +1 -1
- package/resources/voice/voice.d.ts +8 -0
- package/resources/voice/voice.d.ts.map +1 -1
- package/resources/voice/voice.js +8 -0
- package/resources/voice/voice.js.map +1 -1
- package/resources/voice/voice.mjs +8 -0
- package/resources/voice/voice.mjs.map +1 -1
- package/resources/webhooks.d.mts +151 -29
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +151 -29
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +51 -11
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +51 -11
- package/resources/webhooks.mjs.map +1 -1
- package/src/client.ts +8 -0
- package/src/core/pagination.ts +64 -0
- package/src/resources/channels/voice.ts +72 -19
- package/src/resources/profiles/campaigns.ts +3 -2
- package/src/resources/voice/agents.ts +729 -0
- package/src/resources/voice/calls/calls.ts +98 -15
- package/src/resources/voice/calls/participants.ts +2 -0
- package/src/resources/voice/catalogue.ts +118 -0
- package/src/resources/voice/index.ts +33 -0
- package/src/resources/voice/tokens.ts +2 -0
- package/src/resources/voice/voice.ts +74 -0
- package/src/resources/webhooks.ts +159 -29
- 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
|
@@ -11,13 +11,17 @@ import { RequestOptions } from "../../../internal/request-options.js";
|
|
|
11
11
|
* `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
|
|
12
12
|
*
|
|
13
13
|
* Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
|
|
14
|
+
*
|
|
15
|
+
* **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
|
|
14
16
|
*/
|
|
15
17
|
export declare class Calls extends APIResource {
|
|
16
18
|
participants: ParticipantsAPI.Participants;
|
|
17
19
|
/**
|
|
18
|
-
* Retrieves one of your calls by id: the parties, the owning number, the
|
|
19
|
-
*
|
|
20
|
-
*
|
|
20
|
+
* Retrieves one of your calls by id: the parties, the owning number, the phone
|
|
21
|
+
* number the call was connected to and the caller id it showed, the current status
|
|
22
|
+
* with its failure reason, duration, price with the billed legs and what each
|
|
23
|
+
* cost, recording availability, and a timeline of when the call entered each
|
|
24
|
+
* status.
|
|
21
25
|
*
|
|
22
26
|
* @example
|
|
23
27
|
* ```ts
|
|
@@ -29,9 +33,12 @@ export declare class Calls extends APIResource {
|
|
|
29
33
|
retrieve(id: string, params?: CallRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<APIResponseOfCall>;
|
|
30
34
|
/**
|
|
31
35
|
* Retrieves a paginated list of your calls, most recent first. Filter by
|
|
32
|
-
* direction, status, the owning number,
|
|
33
|
-
*
|
|
34
|
-
*
|
|
36
|
+
* direction, status, the owning number, the mode (inapp, or agent for calls your
|
|
37
|
+
* voice agents answered), the agent that answered, and the time the call started
|
|
38
|
+
* (from and to are inclusive). Each call carries the phone number it was connected
|
|
39
|
+
* to, the caller id it showed, and the billed legs with what each cost. Use the
|
|
40
|
+
* call webhooks for real-time updates; this list is for looking calls up
|
|
41
|
+
* afterwards.
|
|
35
42
|
*
|
|
36
43
|
* @example
|
|
37
44
|
* ```ts
|
|
@@ -46,8 +53,8 @@ export declare class Calls extends APIResource {
|
|
|
46
53
|
* Ends one of your live calls. The call then ends the way any other call does once
|
|
47
54
|
* the disconnect is reported: an answered call as COMPLETED with call.completed, a
|
|
48
55
|
* call still ringing as NO_ANSWER, REJECTED or FAILED with call.failed. A call
|
|
49
|
-
* that has already ended answers 409,
|
|
50
|
-
*
|
|
56
|
+
* that has already ended answers 409, as do a call with no phone leg, such as one
|
|
57
|
+
* between two app users, and a call one of your voice agents answers.
|
|
51
58
|
*
|
|
52
59
|
* @example
|
|
53
60
|
* ```ts
|
|
@@ -78,9 +85,9 @@ export declare class Calls extends APIResource {
|
|
|
78
85
|
/**
|
|
79
86
|
* Starts or stops recording one of your live calls. Use start to begin recording
|
|
80
87
|
* mid-call, or stop to end a recording, whether it was started here or by a
|
|
81
|
-
* connect answer with record set. A call that has already ended answers 409,
|
|
82
|
-
*
|
|
83
|
-
* be recorded.
|
|
88
|
+
* connect answer with record set. A call that has already ended answers 409, as do
|
|
89
|
+
* a call with no phone leg, such as one between two app users, and a call one of
|
|
90
|
+
* your voice agents answers, neither of which can be recorded this way.
|
|
84
91
|
*
|
|
85
92
|
* @example
|
|
86
93
|
* ```ts
|
|
@@ -164,11 +171,28 @@ export interface Call {
|
|
|
164
171
|
* webhook
|
|
165
172
|
*/
|
|
166
173
|
id?: string;
|
|
174
|
+
/**
|
|
175
|
+
* The voice agent that answered the call, such as
|
|
176
|
+
* agent_9f2ab000-0000-4000-8000-000000000001. Null for an inapp call
|
|
177
|
+
*/
|
|
178
|
+
agent_id?: string | null;
|
|
167
179
|
/**
|
|
168
180
|
* When the call was answered (UTC). Null until then, and always null for a call
|
|
169
181
|
* between two of your app users
|
|
170
182
|
*/
|
|
171
183
|
answered_at?: string | null;
|
|
184
|
+
/**
|
|
185
|
+
* The caller id shown on the phone leg, in E.164 format: the one your answer
|
|
186
|
+
* chose, or the owning number when it chose none. Null for a call with no phone
|
|
187
|
+
* leg
|
|
188
|
+
*/
|
|
189
|
+
caller_id_used?: string | null;
|
|
190
|
+
/**
|
|
191
|
+
* The phone number the call was connected to, in E.164 format: the number your
|
|
192
|
+
* answer dialed, or the fallback number a call to one of your voice agents
|
|
193
|
+
* reached. Null when the call was not connected to a phone number
|
|
194
|
+
*/
|
|
195
|
+
connected_number?: string | null;
|
|
172
196
|
/**
|
|
173
197
|
* outbound for a call placed from your app, inbound for a call to one of your
|
|
174
198
|
* numbers
|
|
@@ -184,18 +208,26 @@ export interface Call {
|
|
|
184
208
|
ended_at?: string | null;
|
|
185
209
|
/**
|
|
186
210
|
* Why the call did not complete: callback_timeout, invalid_answer,
|
|
187
|
-
* insufficient_balance, destination_blocked, callback_not_configured, rejected
|
|
188
|
-
* no_answer
|
|
189
|
-
* without a recorded reason
|
|
211
|
+
* insufficient_balance, destination_blocked, callback_not_configured, rejected,
|
|
212
|
+
* no_answer, or for an agent call agent_busy or agent_unreachable. Null while the
|
|
213
|
+
* call is live, when it completed, and when it failed without a recorded reason
|
|
190
214
|
*/
|
|
191
215
|
failure_reason?: string | null;
|
|
192
216
|
/**
|
|
193
217
|
* One end of a call
|
|
194
218
|
*/
|
|
195
219
|
from?: CallParty;
|
|
220
|
+
/**
|
|
221
|
+
* The legs the price covers, one entry per billed leg, each with its own cost: a
|
|
222
|
+
* call your answer connected to a phone number ran the caller's leg to your number
|
|
223
|
+
* and the leg to the connected number at once, and both are billed. Null until the
|
|
224
|
+
* call has been priced
|
|
225
|
+
*/
|
|
226
|
+
legs?: Array<Call.Leg> | null;
|
|
196
227
|
/**
|
|
197
228
|
* The calling mode: inapp for a call between people in your app and phone numbers,
|
|
198
|
-
* routed by your number's callback URL
|
|
229
|
+
* routed by your number's callback URL; agent for a call one of your voice agents
|
|
230
|
+
* answered
|
|
199
231
|
*/
|
|
200
232
|
mode?: string;
|
|
201
233
|
/**
|
|
@@ -229,6 +261,36 @@ export interface Call {
|
|
|
229
261
|
*/
|
|
230
262
|
to?: CallParty;
|
|
231
263
|
}
|
|
264
|
+
export declare namespace Call {
|
|
265
|
+
/**
|
|
266
|
+
* One leg of a call the price covers
|
|
267
|
+
*/
|
|
268
|
+
interface Leg {
|
|
269
|
+
/**
|
|
270
|
+
* The whole minutes the leg was billed for
|
|
271
|
+
*/
|
|
272
|
+
billed_minutes?: number;
|
|
273
|
+
/**
|
|
274
|
+
* What the leg cost, in the same unit as the call's price
|
|
275
|
+
*/
|
|
276
|
+
cost?: number;
|
|
277
|
+
/**
|
|
278
|
+
* The currency of the cost: USD
|
|
279
|
+
*/
|
|
280
|
+
currency?: string;
|
|
281
|
+
/**
|
|
282
|
+
* inbound for the caller's leg to your number, outbound for a leg placed on your
|
|
283
|
+
* behalf
|
|
284
|
+
*/
|
|
285
|
+
direction?: string;
|
|
286
|
+
/**
|
|
287
|
+
* The phone number the leg reached, in E.164 format: your number for the inbound
|
|
288
|
+
* leg, the number dialed for an outbound one. Null for a leg to one of your app
|
|
289
|
+
* users or a room
|
|
290
|
+
*/
|
|
291
|
+
number?: string | null;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
232
294
|
/**
|
|
233
295
|
* One end of a call
|
|
234
296
|
*/
|
|
@@ -307,6 +369,11 @@ export interface CallRetrieveParams {
|
|
|
307
369
|
'x-profile-id'?: string;
|
|
308
370
|
}
|
|
309
371
|
export interface CallListParams extends CallsPageParams {
|
|
372
|
+
/**
|
|
373
|
+
* Query param: Optional filter on the voice agent that answered the call, such as
|
|
374
|
+
* agent_9f2ab000-0000-4000-8000-000000000001
|
|
375
|
+
*/
|
|
376
|
+
agent_id?: string | null;
|
|
310
377
|
/**
|
|
311
378
|
* Query param: Optional direction filter: outbound for calls placed from your app,
|
|
312
379
|
* inbound for calls to one of your numbers
|
|
@@ -316,6 +383,11 @@ export interface CallListParams extends CallsPageParams {
|
|
|
316
383
|
* Query param: Only calls started at or after this time (ISO 8601)
|
|
317
384
|
*/
|
|
318
385
|
from?: string | null;
|
|
386
|
+
/**
|
|
387
|
+
* Query param: Optional mode filter: inapp for calls routed by your number's
|
|
388
|
+
* callback URL, agent for calls one of your voice agents answered
|
|
389
|
+
*/
|
|
390
|
+
mode?: string | null;
|
|
319
391
|
/**
|
|
320
392
|
* Query param: Optional filter on the number that owns the call, one of your
|
|
321
393
|
* voice-enabled numbers in E.164 format
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/resources/voice/calls/calls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kCAA+B;AACrD,OAAO,KAAK,WAAW,0BAAuB;AAC9C,OAAO,KAAK,eAAe,0BAAuB;AAClD,OAAO,EACL,kCAAkC,EAClC,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACb,0BAAuB;AACxB,OAAO,EAAE,UAAU,EAAE,qCAAkC;AACvD,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,WAAW,EAAE,oCAAiC;AAExF,OAAO,EAAE,cAAc,EAAE,6CAA0C;AAGnE
|
|
1
|
+
{"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/resources/voice/calls/calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ const path_1 = require("../../../internal/utils/path.js");
|
|
|
15
15
|
* `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
|
|
16
16
|
*
|
|
17
17
|
* Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
|
|
18
|
+
*
|
|
19
|
+
* **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
|
|
18
20
|
*/
|
|
19
21
|
class Calls extends resource_1.APIResource {
|
|
20
22
|
constructor() {
|
|
@@ -22,9 +24,11 @@ class Calls extends resource_1.APIResource {
|
|
|
22
24
|
this.participants = new ParticipantsAPI.Participants(this._client);
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
|
-
* Retrieves one of your calls by id: the parties, the owning number, the
|
|
26
|
-
*
|
|
27
|
-
*
|
|
27
|
+
* Retrieves one of your calls by id: the parties, the owning number, the phone
|
|
28
|
+
* number the call was connected to and the caller id it showed, the current status
|
|
29
|
+
* with its failure reason, duration, price with the billed legs and what each
|
|
30
|
+
* cost, recording availability, and a timeline of when the call entered each
|
|
31
|
+
* status.
|
|
28
32
|
*
|
|
29
33
|
* @example
|
|
30
34
|
* ```ts
|
|
@@ -45,9 +49,12 @@ class Calls extends resource_1.APIResource {
|
|
|
45
49
|
}
|
|
46
50
|
/**
|
|
47
51
|
* Retrieves a paginated list of your calls, most recent first. Filter by
|
|
48
|
-
* direction, status, the owning number,
|
|
49
|
-
*
|
|
50
|
-
*
|
|
52
|
+
* direction, status, the owning number, the mode (inapp, or agent for calls your
|
|
53
|
+
* voice agents answered), the agent that answered, and the time the call started
|
|
54
|
+
* (from and to are inclusive). Each call carries the phone number it was connected
|
|
55
|
+
* to, the caller id it showed, and the billed legs with what each cost. Use the
|
|
56
|
+
* call webhooks for real-time updates; this list is for looking calls up
|
|
57
|
+
* afterwards.
|
|
51
58
|
*
|
|
52
59
|
* @example
|
|
53
60
|
* ```ts
|
|
@@ -72,8 +79,8 @@ class Calls extends resource_1.APIResource {
|
|
|
72
79
|
* Ends one of your live calls. The call then ends the way any other call does once
|
|
73
80
|
* the disconnect is reported: an answered call as COMPLETED with call.completed, a
|
|
74
81
|
* call still ringing as NO_ANSWER, REJECTED or FAILED with call.failed. A call
|
|
75
|
-
* that has already ended answers 409,
|
|
76
|
-
*
|
|
82
|
+
* that has already ended answers 409, as do a call with no phone leg, such as one
|
|
83
|
+
* between two app users, and a call one of your voice agents answers.
|
|
77
84
|
*
|
|
78
85
|
* @example
|
|
79
86
|
* ```ts
|
|
@@ -127,9 +134,9 @@ class Calls extends resource_1.APIResource {
|
|
|
127
134
|
/**
|
|
128
135
|
* Starts or stops recording one of your live calls. Use start to begin recording
|
|
129
136
|
* mid-call, or stop to end a recording, whether it was started here or by a
|
|
130
|
-
* connect answer with record set. A call that has already ended answers 409,
|
|
131
|
-
*
|
|
132
|
-
* be recorded.
|
|
137
|
+
* connect answer with record set. A call that has already ended answers 409, as do
|
|
138
|
+
* a call with no phone leg, such as one between two app users, and a call one of
|
|
139
|
+
* your voice agents answers, neither of which can be recorded this way.
|
|
133
140
|
*
|
|
134
141
|
* @example
|
|
135
142
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/resources/voice/calls/calls.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;AAEtF,wDAAqD;AAErD,2EAAkD;AAClD,oDAUwB;AAExB,4DAAwF;AACxF,0DAAyD;AAEzD,0DAAoD;AAEpD
|
|
1
|
+
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/resources/voice/calls/calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ import { path } from "../../../internal/utils/path.mjs";
|
|
|
11
11
|
* `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
|
|
12
12
|
*
|
|
13
13
|
* Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
|
|
14
|
+
*
|
|
15
|
+
* **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
|
|
14
16
|
*/
|
|
15
17
|
export class Calls extends APIResource {
|
|
16
18
|
constructor() {
|
|
@@ -18,9 +20,11 @@ export class Calls extends APIResource {
|
|
|
18
20
|
this.participants = new ParticipantsAPI.Participants(this._client);
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
|
-
* Retrieves one of your calls by id: the parties, the owning number, the
|
|
22
|
-
*
|
|
23
|
-
*
|
|
23
|
+
* Retrieves one of your calls by id: the parties, the owning number, the phone
|
|
24
|
+
* number the call was connected to and the caller id it showed, the current status
|
|
25
|
+
* with its failure reason, duration, price with the billed legs and what each
|
|
26
|
+
* cost, recording availability, and a timeline of when the call entered each
|
|
27
|
+
* status.
|
|
24
28
|
*
|
|
25
29
|
* @example
|
|
26
30
|
* ```ts
|
|
@@ -41,9 +45,12 @@ export class Calls extends APIResource {
|
|
|
41
45
|
}
|
|
42
46
|
/**
|
|
43
47
|
* Retrieves a paginated list of your calls, most recent first. Filter by
|
|
44
|
-
* direction, status, the owning number,
|
|
45
|
-
*
|
|
46
|
-
*
|
|
48
|
+
* direction, status, the owning number, the mode (inapp, or agent for calls your
|
|
49
|
+
* voice agents answered), the agent that answered, and the time the call started
|
|
50
|
+
* (from and to are inclusive). Each call carries the phone number it was connected
|
|
51
|
+
* to, the caller id it showed, and the billed legs with what each cost. Use the
|
|
52
|
+
* call webhooks for real-time updates; this list is for looking calls up
|
|
53
|
+
* afterwards.
|
|
47
54
|
*
|
|
48
55
|
* @example
|
|
49
56
|
* ```ts
|
|
@@ -68,8 +75,8 @@ export class Calls extends APIResource {
|
|
|
68
75
|
* Ends one of your live calls. The call then ends the way any other call does once
|
|
69
76
|
* the disconnect is reported: an answered call as COMPLETED with call.completed, a
|
|
70
77
|
* call still ringing as NO_ANSWER, REJECTED or FAILED with call.failed. A call
|
|
71
|
-
* that has already ended answers 409,
|
|
72
|
-
*
|
|
78
|
+
* that has already ended answers 409, as do a call with no phone leg, such as one
|
|
79
|
+
* between two app users, and a call one of your voice agents answers.
|
|
73
80
|
*
|
|
74
81
|
* @example
|
|
75
82
|
* ```ts
|
|
@@ -123,9 +130,9 @@ export class Calls extends APIResource {
|
|
|
123
130
|
/**
|
|
124
131
|
* Starts or stops recording one of your live calls. Use start to begin recording
|
|
125
132
|
* mid-call, or stop to end a recording, whether it was started here or by a
|
|
126
|
-
* connect answer with record set. A call that has already ended answers 409,
|
|
127
|
-
*
|
|
128
|
-
* be recorded.
|
|
133
|
+
* connect answer with record set. A call that has already ended answers 409, as do
|
|
134
|
+
* a call with no phone leg, such as one between two app users, and a call one of
|
|
135
|
+
* your voice agents answers, neither of which can be recorded this way.
|
|
129
136
|
*
|
|
130
137
|
* @example
|
|
131
138
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calls.mjs","sourceRoot":"","sources":["../../../src/resources/voice/calls/calls.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,WAAW,EAAE,mCAA+B;AAErD,OAAO,KAAK,eAAe,2BAAuB;AAClD,OAAO,EASL,YAAY,GACb,2BAAuB;AAExB,OAAO,EAAE,SAAS,EAAqC,qCAAiC;AACxF,OAAO,EAAE,YAAY,EAAE,sCAAkC;AAEzD,OAAO,EAAE,IAAI,EAAE,yCAAqC;AAEpD
|
|
1
|
+
{"version":3,"file":"calls.mjs","sourceRoot":"","sources":["../../../src/resources/voice/calls/calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ import { RequestOptions } from "../../../internal/request-options.mjs";
|
|
|
9
9
|
* `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
|
|
10
10
|
*
|
|
11
11
|
* Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
|
|
12
|
+
*
|
|
13
|
+
* **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
|
|
12
14
|
*/
|
|
13
15
|
export declare class Participants extends APIResource {
|
|
14
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participants.d.mts","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,mCAA+B;AACrD,OAAO,KAAK,WAAW,2BAAuB;AAC9C,OAAO,KAAK,QAAQ,oBAAgB;AACpC,OAAO,EAAE,UAAU,EAAE,sCAAkC;AAEvD,OAAO,EAAE,cAAc,EAAE,8CAA0C;AAGnE
|
|
1
|
+
{"version":3,"file":"participants.d.mts","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ import { RequestOptions } from "../../../internal/request-options.js";
|
|
|
9
9
|
* `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
|
|
10
10
|
*
|
|
11
11
|
* Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
|
|
12
|
+
*
|
|
13
|
+
* **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
|
|
12
14
|
*/
|
|
13
15
|
export declare class Participants extends APIResource {
|
|
14
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participants.d.ts","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,kCAA+B;AACrD,OAAO,KAAK,WAAW,0BAAuB;AAC9C,OAAO,KAAK,QAAQ,mBAAgB;AACpC,OAAO,EAAE,UAAU,EAAE,qCAAkC;AAEvD,OAAO,EAAE,cAAc,EAAE,6CAA0C;AAGnE
|
|
1
|
+
{"version":3,"file":"participants.d.ts","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ const path_1 = require("../../../internal/utils/path.js");
|
|
|
11
11
|
* `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
|
|
12
12
|
*
|
|
13
13
|
* Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
|
|
14
|
+
*
|
|
15
|
+
* **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
|
|
14
16
|
*/
|
|
15
17
|
class Participants extends resource_1.APIResource {
|
|
16
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participants.js","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,wDAAqD;AAIrD,0DAAyD;AAEzD,0DAAoD;AAEpD
|
|
1
|
+
{"version":3,"file":"participants.js","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ import { path } from "../../../internal/utils/path.mjs";
|
|
|
8
8
|
* `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
|
|
9
9
|
*
|
|
10
10
|
* Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
|
|
11
|
+
*
|
|
12
|
+
* **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
|
|
11
13
|
*/
|
|
12
14
|
export class Participants extends APIResource {
|
|
13
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participants.mjs","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,WAAW,EAAE,mCAA+B;AAIrD,OAAO,EAAE,YAAY,EAAE,sCAAkC;AAEzD,OAAO,EAAE,IAAI,EAAE,yCAAqC;AAEpD
|
|
1
|
+
{"version":3,"file":"participants.mjs","sourceRoot":"","sources":["../../../src/resources/voice/calls/participants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { APIResource } from "../../core/resource.mjs";
|
|
2
|
+
import * as WebhooksAPI from "../webhooks.mjs";
|
|
3
|
+
import { APIPromise } from "../../core/api-promise.mjs";
|
|
4
|
+
import { RequestOptions } from "../../internal/request-options.mjs";
|
|
5
|
+
/**
|
|
6
|
+
* Phone calls from the numbers you hold, driven by your own callback URL.
|
|
7
|
+
*
|
|
8
|
+
* `POST /v3/channels/voice` enables a number for calls, with the callback URL Sent asks what to do with each call on it, and `POST /v3/voice/tokens` mints a short-lived token that lets a user of your app place and receive calls as that number. When a call arrives or a caller presses a key, a signed question is POSTed to the callback URL and the answer decides the call; `POST /v3/channels/voice/{number}/test` checks the URL answers the way we need before a real call reaches it, and `POST /v3/channels/voice/{number}/rotate-secret` replaces the signing secret. The call events themselves (`call.completed` and the rest) arrive through your webhooks.
|
|
9
|
+
*
|
|
10
|
+
* Every call is a record under `/v3/voice/calls`: read it, list its recordings once one is ready, hang it up, start or stop recording, and add, mute or remove conference participants while it is live. A leg to a phone number runs for at most what your balance affords at the destination's rate.
|
|
11
|
+
*
|
|
12
|
+
* **Voice agents.** `POST /v3/voice/agents` creates an agent that answers calls through the Sent Voice Gateway: `session_type` says whether Sent carries the call as text (speech recognised and spoken for the agent) or as audio, `websocket_url` is where the gateway dials the agent for each call (leave it out and the agent dials in with your API key), and `tools`, `transfer_targets`, `fallback` and `limits` say what it may do on a call. The agent's `signing_secret` is shown on create and on `POST /v3/voice/agents/{id}/rotate-secret` only. Voices and languages for text sessions come from `GET /v3/voice/voices`. A number takes calls to an agent once it is bound to it on `/v3/channels/voice`.
|
|
13
|
+
*/
|
|
14
|
+
export declare class Catalogue extends APIResource {
|
|
15
|
+
/**
|
|
16
|
+
* The names a voice agent's `speech.voice` and `speech.language` accept, with the
|
|
17
|
+
* default marked. The list grows as voices are added; a name is never removed
|
|
18
|
+
* without notice.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const apiResponseOfVoiceCatalogue =
|
|
23
|
+
* await client.voice.catalogue.list();
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
list(params?: CatalogueListParams | null | undefined, options?: RequestOptions): APIPromise<APIResponseOfVoiceCatalogue>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Standard API response envelope for all v3 endpoints
|
|
30
|
+
*/
|
|
31
|
+
export interface APIResponseOfVoiceCatalogue {
|
|
32
|
+
/**
|
|
33
|
+
* The voices and languages a text-session agent may name in its speech settings:
|
|
34
|
+
* what GET /v3/voice/voices and the admin GET /voice/voices answer, in one shape.
|
|
35
|
+
*/
|
|
36
|
+
data?: VoiceCatalogue | null;
|
|
37
|
+
/**
|
|
38
|
+
* Error information
|
|
39
|
+
*/
|
|
40
|
+
error?: WebhooksAPI.ErrorDetail | null;
|
|
41
|
+
/**
|
|
42
|
+
* Request and response metadata
|
|
43
|
+
*/
|
|
44
|
+
meta?: WebhooksAPI.APIMeta;
|
|
45
|
+
/**
|
|
46
|
+
* Indicates whether the request was successful
|
|
47
|
+
*/
|
|
48
|
+
success?: boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The voices and languages a text-session agent may name in its speech settings:
|
|
52
|
+
* what GET /v3/voice/voices and the admin GET /voice/voices answer, in one shape.
|
|
53
|
+
*/
|
|
54
|
+
export interface VoiceCatalogue {
|
|
55
|
+
/**
|
|
56
|
+
* BCP 47 tags accepted as speech.language.
|
|
57
|
+
*/
|
|
58
|
+
languages?: Array<string>;
|
|
59
|
+
voices?: Array<VoiceCatalogueVoice>;
|
|
60
|
+
}
|
|
61
|
+
export interface VoiceCatalogueVoice {
|
|
62
|
+
/**
|
|
63
|
+
* Whether this is the voice used when an agent names none.
|
|
64
|
+
*/
|
|
65
|
+
default?: boolean;
|
|
66
|
+
description?: string;
|
|
67
|
+
/**
|
|
68
|
+
* The language the voice speaks.
|
|
69
|
+
*/
|
|
70
|
+
language?: string;
|
|
71
|
+
/**
|
|
72
|
+
* The value to send as speech.voice.
|
|
73
|
+
*/
|
|
74
|
+
name?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface CatalogueListParams {
|
|
77
|
+
/**
|
|
78
|
+
* Profile UUID to scope the request to a child profile. Only organization API keys
|
|
79
|
+
* can use this header. The profile must belong to the calling organization.
|
|
80
|
+
*/
|
|
81
|
+
'x-profile-id'?: string;
|
|
82
|
+
}
|
|
83
|
+
export declare namespace Catalogue {
|
|
84
|
+
export { type APIResponseOfVoiceCatalogue as APIResponseOfVoiceCatalogue, type VoiceCatalogue as VoiceCatalogue, type VoiceCatalogueVoice as VoiceCatalogueVoice, type CatalogueListParams as CatalogueListParams, };
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=catalogue.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalogue.d.mts","sourceRoot":"","sources":["../../src/resources/voice/catalogue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,gCAA4B;AAClD,OAAO,KAAK,WAAW,wBAAoB;AAC3C,OAAO,EAAE,UAAU,EAAE,mCAA+B;AAEpD,OAAO,EAAE,cAAc,EAAE,2CAAuC;AAEhE;;;;;;;;GAQG;AACH,qBAAa,SAAU,SAAQ,WAAW;IACxC;;;;;;;;;;OAUG;IACH,IAAI,CACF,MAAM,GAAE,mBAAmB,GAAG,IAAI,GAAG,SAAc,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,2BAA2B,CAAC;CAU3C;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;IAEvC;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;IAE3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,OAAO,EACL,KAAK,2BAA2B,IAAI,2BAA2B,EAC/D,KAAK,cAAc,IAAI,cAAc,EACrC,KAAK,mBAAmB,IAAI,mBAAmB,EAC/C,KAAK,mBAAmB,IAAI,mBAAmB,GAChD,CAAC;CACH"}
|