Skip to main content

CallPrompt

Represents a current or past prompting session in a call.

Obtain instances of this class by starting a Prompt with one of the following methods:

Example

Prompting for a PIN to be entered using the keypad, then waiting for the user to finish entering the PIN before proceeding with the next instructions.

import { SignalWire } from "@signalwire/realtime-api";

const client = await SignalWire({ project: "ProjectID Here", token: "Token Here" })

const call = await client.voice.dialPhone({
from: "+YYYYYYYYYY",
to: "+XXXXXXXXXX",
});

// Prompt for digits
await call.promptTTS({
text: "Please enter your PIN",
digits: {
max: 5,
digitTimeout: 5,
terminators: "#*",
},
listen: {
onStarted: () => console.log("Prompt started"),
onUpdated: (event) => console.log("Prompt updated", event.result),
onEnded: async (event) => {
console.log("Prompt ended", event.result);
console.log("Users Pin", event.digits);
call.hangup();
},
onFailed: () => console.log("Prompt failed"),
}
}).onStarted();

Properties

confidence
number

Confidence level for the speech recognition result (if type is "speech"), from 0 to 100. For example, 83.2.

digits
string

The digits that have been collected (if type is "digit"). For example, "12345".

id
string

The unique id for this prompt.

reason
"no_match" | "no_input" | "error"

Alias for type, in case of errors. Use this field to check the reason of the error.

terminator
string

The terminator used to complete the prompt (if type is "digit"). For example, "#".

text
string

The text that has been collected (if type is "speech"). For example, "hello who's there".

type
"error" | "no_input" | "no_match" | "digit" | "speech"

The type of this prompt.

result
object

The raw result object from the prompt operation.

speech
string

Alias for text. The text that has been collected (if type is "speech").

hasEnded
boolean

Whether the prompt has ended. Returns true if the result type is one of: "no_input", "error", "no_match", "digit", or "speech".

Methods

ended

ended(): Promise<CallPrompt>

Returns a promise that is resolved only after this prompt finishes (or is stopped).

Returns

Promise<CallPrompt>

A promise that is resolves to CallPrompt when the prompt has been ended.

Example

const prompt = await call.promptTTS({
text: "Please enter your PIN",
digits: {
max: 5,
digitTimeout: 2,
terminators: "#*",
},
});
const { type, digits, terminator } = await prompt.ended();

setVolume

setVolume(volume): Promise<CallPrompt>

Changes the volume of the audio.

Parameters

volume
numberrequired

Volume value between -40dB and +40dB.

Returns

Promise<CallPrompt>

A promise that is resolves to CallPrompt when the volume is changed.

Example

const prompt = await call.promptTTS({
text: "Please enter your PIN",
digits: {
max: 5,
digitTimeout: 2,
terminators: "#*",
},
});
await prompt.setVolume(-20);

stop

stop(): Promise<CallPrompt>

Stops the prompt.

Returns

Promise<CallPrompt>

A promise that is resolves to CallPrompt when the prompt stops.

Example

const prompt = await call.promptTTS({
text: "Please enter your PIN",
digits: {
max: 5,
digitTimeout: 2,
terminators: "#*",
},
});
await prompt.stop();

Events

onStarted

CallPrompt.listen({ onStarted: Callback }})

Emitted when the prompt starts. Your event handler will receive an instance of CallPrompt.

Parameters

prompt
CallPromptrequired

The prompt that started. See CallPrompt.

onUpdated

CallPrompt.listen({ onUpdated: Callback }})

Emitted when the prompt is updated. Your event handler will receive an instance of CallPrompt.

Parameters

prompt
CallPromptrequired

The prompt that updated. See CallPrompt.

onFailed

CallPrompt.listen({ onFailed: Callback }})

Emitted when the prompt fails. Your event handler will receive an instance of CallPrompt.

Parameters

prompt
CallPromptrequired

The prompt that failed. See CallPrompt.

onEnded

CallPrompt.listen({ onEnded: Callback }})

Emitted when the prompt ends. Your event handler will receive an instance of CallPrompt.

Parameters

prompt
CallPromptrequired

The prompt that ended. See CallPrompt.