Get Number
Get a number entered as a series of digit keypresses. You can set a prompt and configure how many digits are required or the digit that signifies the end of the number. This action is simpler to use than get input for digit input.
language wrappers and examples
The get number properties are:
Property | Required/Optional | Default | Description |
---|---|---|---|
next page | required | A web page request object that defines the web page to be requested once the get number action has completed successfully. The digits entered will be sent to this page. | |
prompt | optional | - | A play action that can prompt for digits. |
digit count | optional | 0 | The number of digits to enter. 0 signifies an unlimited number of digits, in which case end digit must be set. |
end digit | optional | "#" | A single digit that, when pressed, will indicate the end of the number. An empty string signifies no end digit, in which case digit count must not be zero. Valid digits are 0123456789ABCD#*. |
valid digits | optional | "0123456789" | A string that represents the set of digits that are deemed to be valid. Note that the help digit and end digit are also valid entries in addition to those set here. Any valid Dual Tone Multi Frequency
(DTMF) digit can be included in this string. Valid digits are 0123456789ABCD#*. |
help digit | optional | "*" | A single digit that, when pressed, will result in the prompt being repeated. An emtpy string signifies no help digit. Valid digits are 0123456789ABCD#*. |
seconds timeout from API V2.0 | optional | 30 | The time in seconds that the action waits for input to complete after the prompt has finished. A value of 0 means that the action will return immediately with whatever digits are currently available. |
milliseconds inter digit timeout from API V2.0 | optional | 5000 | An integer. The time period in milliseconds that the action waits for each consecutive digit to be entered. A value of 0 or a negative value signifies that this timeout is disabled. |
milliseconds initial timeout from API V2.0 | optional | milliseconds inter digit timeout | An integer. The time period in milliseconds that the action waits for the initial digit to be entered. A value of 0 or a negative value signifies that this timeout is disabled. If this value is omitted the value of milliseconds inter digit timeout is used. |
on digit timeout messages | optional | "Sorry, I did not hear that.", "Please listen to the instructions and then use your telephone keypad to enter a valid number." | An array of play actions. This defines messages to play if no digit is pressed within the digit timeout period. Each play action in the array is played once for each successive timeout. When all messages have been played the get number action finishes. Note that barge in is disabled by default for these actions. |
on invalid digit messages | optional | "Sorry, that was not a valid number.", "Please listen to the instructions and enter a valid number." | An array of play actions. This defines messages to play if an invalid digit is pressed (a digit that is not defined in valid digits). Each play action in the array is played once for each successive invalid digit. When all messages have been played the get number action finishes. Note that barge in is disabled by default for these actions. |
Remarks
get number
supports typing ahead.
It inspects any digits that have already been cached from barge in on a preceding play action.
If they are valid digits they prefix any digits subsequently entered.
If these digits on their own satisfy digit count
or end digit
this action will return immediately.
To avoid this behaviour you can insert a clear input action after the play action.
Returns
The digits entered will be returned via the subsequent HTTP Request to thenext page
in the action result as follows:Property | Availability | Description |
---|---|---|
entered number | always | A string of the digits that were entered in response to the prompt. The end digit , if entered, is not returned in this string. |
See also:
Examples:
"get_number" :
{
"prompt" :
{
"play" :
{
"play_list" :
[
{
"text_to_say" : "Please enter your number followed by a hash."
}
]
}
},
"next_page" :
{
"url" : "usenumberpage"
}
}
"action_result" :
{
"action" : "get_number",
"result" :
{
"entered_number" : "0287368394"
}
}
"get_number" :
{
"prompt" :
{
"play" :
{
"play_list" :
[
{
"text_to_say" : "Please enter your 16 digit number"
}
]
}
},
"digit_count" : 16,
"end_digit" : "",
"next_page" :
{
"url" : "usenumberpage"
}
}
"action_result" :
{
"action" : "get_number",
"result" :
{
"entered_number" : "8825620287368394"
}
}
"get_number" :
{
"prompt" :
{
"play" :
{
"play_list" :
[
{
"text_to_say" : "Please enter 4 digits between 1 and 8"
}
]
}
},
"digit_count" : 4,
"end_digit" : "",
"valid_digits" : "12345678",
"next_page" :
{
"url" : "usenumberpage"
}
}
"action_result" :
{
"action" : "get_number",
"result" :
{
"entered_number" : "6816"
}
}
"get_number" :
{
"prompt" :
{
"play" :
{
"play_list" :
[
{
"text_to_say" : "Please enter your id followed by a hash"
}
]
}
},
"digit_count" : 0,
"end_digit" : "#",
"help_digit" : "*",
"milliseconds_inter_digit_timeout" : 10000,
"on_digit_timeout_messages" :
[
{
"play" :
{
"play_list" :
[
"file_to_play" : "silencemessage1.wav"
]
}
},
{
"play" :
{
"play_list" :
[
"file_to_play" : "silencemessage2.wav"
]
}
}
],
"on_invalid_digit_messages" :
[
{
"play" :
{
"play_list" :
[
"text_to_say" : "Please enter only numeric digits followed by a hash"
]
}
},
{
"play" :
{
"play_list" :
[
"text_to_say" : "No really!",
"text_to_say" : "Please enter only numeric digits followed by a hash"
]
}
}
],
"next_page" :
{
"url" : "usenumberpage"
}
}
"action_result" :
{
"action" : "get_number",
"result" :
{
"entered_number" : "716723"
}
}
GetNumber Class
Namespace: Aculab.Cloud.RestAPIWrapper
Assembly: Aculab.Cloud.RestAPIWrapper.dll
An action to prompt the caller to enter a number and wait for it to be entered.
public class GetNumber : TelephonyAction
{
// Constructors
[Obsolete] public GetNumber(Play prompt);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage, int digitCount);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage, char endDigit);
public GetNumber(WebPageRequest nextPage, Play prompt = null, int? digitCount = null, char? endDigit = null);
// Members
public Play Prompt;
public int DigitCount;
public char EndDigit;
public String ValidDigits;
public char HelpDigit;
public int SecondsTimeout;
public int MillisecondsInitialTimeout;
public int MillisecondsInterDigitTimeout;
[Obsolete] public int SecondsDigitTimeout;
public List<Play> OnDigitTimeoutMessages;
public List<Play> OnInvalidDigitMessages;
public WebPageRequest NextPage;
}
Examples:
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your number followed by a hash.");
var getInputAction = new GetInput(new WebPageRequest("UseNumberPage.aspx"), prompt)
{
DigitInputEnabled = false
};
actions.Add(getInputAction);
// Unpack the request
var telephonyRequest = new TelephonyRequest(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your 16 digit number.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.DigitCount = 16;
getNumberAction.EndDigit = '\0';
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = new TelephonyRequest(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter 4 digits between 1 and 8.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.DigitCount = 4;
getNumberAction.EndDigit = '\0';
getNumberAction.ValidDigits = "12345678";
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = new TelephonyRequest(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your id followed by a hash.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.MillisecondsInterDigitTimeout = 10000;
var digitTimeoutMessages = new List<Play>();
digitTimeoutMessages.Add(Play.PlayFile("silencemessage1.wav"));
digitTimeoutMessages.Add(Play.PlayFile("silencemessage2.wav"));
getNumberAction.OnDigitTimeoutMessages = digitTimeoutMessages;
var invalidDigitMessages = new List<Play>();
invalidDigitMessages.Add(Play.SayText("Please enter only numeric digits followed by a hash"));
var secondMessage = Play.SayText("No really!");
secondMessage.AddText("Please enter only numeric digits followed by a hash");
invalidDigitMessages.Add(secondMessage);
getNumberAction.OnInvalidDigitMessages = invalidDigitMessages;
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = new TelephonyRequest(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
public class GetNumber : TelephonyAction
{
// Constructors
[Obsolete] public GetNumber(Play prompt);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage, int digitCount);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage, char endDigit);
public GetNumber(WebPageRequest nextPage, Play prompt = null, int? digitCount = null, char? endDigit = null);
// Members
public Play Prompt;
public int DigitCount;
public char EndDigit;
public String ValidDigits;
public char HelpDigit;
public int SecondsTimeout;
public int MillisecondsInitialTimeout;
public int MillisecondsInterDigitTimeout;
[Obsolete] public int SecondsDigitTimeout;
public List<Play> OnDigitTimeoutMessages;
public List<Play> OnInvalidDigitMessages;
public WebPageRequest NextPage;
}
Examples:
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your number followed by a hash.");
var getInputAction = new GetInput(new WebPageRequest("UseNumberPage.aspx"), prompt)
{
DigitInputEnabled = false
};
actions.Add(getInputAction);
// Unpack the request
var telephonyRequest = new TelephonyRequest(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your 16 digit number.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.DigitCount = 16;
getNumberAction.EndDigit = '\0';
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = new TelephonyRequest(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter 4 digits between 1 and 8.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.DigitCount = 4;
getNumberAction.EndDigit = '\0';
getNumberAction.ValidDigits = "12345678";
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = new TelephonyRequest(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your id followed by a hash.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.MillisecondsInterDigitTimeout = 10000;
var digitTimeoutMessages = new List<Play>();
digitTimeoutMessages.Add(Play.PlayFile("silencemessage1.wav"));
digitTimeoutMessages.Add(Play.PlayFile("silencemessage2.wav"));
getNumberAction.OnDigitTimeoutMessages = digitTimeoutMessages;
var invalidDigitMessages = new List<Play>();
invalidDigitMessages.Add(Play.SayText("Please enter only numeric digits followed by a hash"));
var secondMessage = Play.SayText("No really!");
secondMessage.AddText("Please enter only numeric digits followed by a hash");
invalidDigitMessages.Add(secondMessage);
getNumberAction.OnInvalidDigitMessages = invalidDigitMessages;
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = new TelephonyRequest(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
public class GetNumber : TelephonyAction
{
// Constructors
[Obsolete] public GetNumber(Play prompt);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage, int digitCount);
[Obsolete] public GetNumber(Play prompt, WebPageRequest nextPage, char endDigit);
public GetNumber(WebPageRequest nextPage, Play prompt = null, int? digitCount = null, char? endDigit = null);
// Members
public Play Prompt;
public int DigitCount;
public char EndDigit;
public String ValidDigits;
public char HelpDigit;
public int SecondsTimeout;
public int MillisecondsInitialTimeout;
public int MillisecondsInterDigitTimeout;
[Obsolete] public int SecondsDigitTimeout;
public List<Play> OnDigitTimeoutMessages;
public List<Play> OnInvalidDigitMessages;
public WebPageRequest NextPage;
}
Examples:
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your number followed by a hash.");
var getInputAction = new GetInput(new WebPageRequest("UseNumberPage.aspx"), prompt)
{
DigitInputEnabled = false
};
actions.Add(getInputAction);
// Unpack the request
var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your 16 digit number.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.DigitCount = 16;
getNumberAction.EndDigit = '\0';
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter 4 digits between 1 and 8.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.DigitCount = 4;
getNumberAction.EndDigit = '\0';
getNumberAction.ValidDigits = "12345678";
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
List<TelephonyAction> actions = new List<TelephonyAction>();
var prompt = Play.SayText("Please enter your id followed by a hash.");
var getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage.aspx"), prompt);
getNumberAction.MillisecondsInterDigitTimeout = 10000;
var digitTimeoutMessages = new List<Play>();
digitTimeoutMessages.Add(Play.PlayFile("silencemessage1.wav"));
digitTimeoutMessages.Add(Play.PlayFile("silencemessage2.wav"));
getNumberAction.OnDigitTimeoutMessages = digitTimeoutMessages;
var invalidDigitMessages = new List<Play>();
invalidDigitMessages.Add(Play.SayText("Please enter only numeric digits followed by a hash"));
var secondMessage = Play.SayText("No really!");
secondMessage.AddText("Please enter only numeric digits followed by a hash");
invalidDigitMessages.Add(secondMessage);
getNumberAction.OnInvalidDigitMessages = invalidDigitMessages;
actions.Add(getNumberAction);
// Unpack the request
var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request);
var getNumberResult = (GetNumberResult)telephonyRequest.InstanceInfo.ActionResult;
var enteredNumber = getNumberResult.EnteredNumber;
GetNumber Class
Namespace: Aculab.Cloud.RestAPIWrapper
Assembly: Aculab.Cloud.RestAPIWrapper.dll
An action to prompt the caller to enter a number and wait for it to be entered.
Public Class GetNumber
Inherits TelephonyAction
' Constructors
[Obsolete] Public Sub New (prompt As Play)
[Obsolete] Public Sub New (prompt As Play, nextPage As Webpagerequest)
[Obsolete] Public Sub New (prompt As Play, nextPage As Webpagerequest, digitCount As Integer)
[Obsolete] Public Sub New (prompt As Play, nextPage As Webpagerequest, endDigit As Char)
Public Sub New (nextPage As Webpagerequest, Optional prompt As Play = Nothing, Optional digitCount As Integer? = Nothing, Optional endDigit As Char? = Nothing)
' Members
Public Property Prompt As Play
Public Property DigitCount As Integer
Public Property EndDigit As Char
Public Property ValidDigits As String
Public Property HelpDigit As Char
Public Property SecondsTimeout As Integer
Public Property MillisecondsInitialTimeout As Integer
Public Property MillisecondsInterDigitTimeout As Integer
[Obsolete] Public Property SecondsDigitTimeout As Integer
Public Property OnDigitTimeoutMessages As List(Of Play)
Public Property OnInvalidDigitMessages As List(Of Play)
Public Property NextPage As Webpagerequest
End Class
Examples:
Dim actions = New List(Of TelephonyAction)
Dim prompt = Play.SayText("Please enter your number followed by a hash.")
Dim getInputAction = New GetInput(New WebPageRequest("UseNumberPage.aspx"), prompt)
getInputAction.DigitInputEnabled = False
actions.Add(getInputAction)
' Unpack the request
Dim telephonyRequest = New TelephonyRequest(Request)
Dim getNumberResult As GetNumberResult = telephonyRequest.InstanceInfo.ActionResult
Dim enteredNumber = getNumberResult.EnteredNumber
Dim actions = New List(Of TelephonyAction)
Dim prompt = Play.SayText("Please enter your 16 digit number.")
Dim getNumberAction = New GetNumber(New WebPageRequest("UseNumberPage.aspx"), prompt)
getNumberAction.DigitCount = 16
getNumberAction.EndDigit = Chr(0)
actions.Add(getNumberAction)
' Unpack the request
Dim telephonyRequest = New TelephonyRequest(Request)
Dim getNumberResult As GetNumberResult = telephonyRequest.InstanceInfo.ActionResult
Dim enteredNumber = getNumberResult.EnteredNumber
Dim actions = New List(Of TelephonyAction)
Dim prompt = Play.SayText("Please enter 4 digits between 1 and 8.")
Dim getNumberAction = New GetNumber(New WebPageRequest("UseNumberPage.aspx"), prompt)
getNumberAction.DigitCount = 4
getNumberAction.EndDigit = Chr(0)
getNumberAction.ValidDigits = "12345678"
actions.Add(getNumberAction)
' Unpack the request
Dim telephonyRequest = New TelephonyRequest(Request)
Dim getNumberResult As GetNumberResult = telephonyRequest.InstanceInfo.ActionResult
Dim enteredNumber = getNumberResult.EnteredNumber
Dim actions = New List(Of TelephonyAction)
Dim prompt = Play.SayText("Please enter your id followed by a hash.")
Dim getNumberAction = New GetNumber(New WebPageRequest("UseNumberPage.aspx"), prompt)
getNumberAction.MillisecondsInterDigitTimeout = 10000
Dim digitTimeoutMessages = New List(Of Play)
digitTimeoutMessages.Add(Play.PlayFile("silencemessage1.wav"))
digitTimeoutMessages.Add(Play.PlayFile("silencemessage2.wav"))
getNumberAction.OnDigitTimeoutMessages = digitTimeoutMessages
Dim invalidDigitMessages = New List(Of Play)
invalidDigitMessages.Add(Play.SayText("Please enter only numeric digits followed by a hash"))
Dim secondMessage = Play.SayText("No really!")
secondMessage.AddText("Please enter only numeric digits followed by a hash")
invalidDigitMessages.Add(secondMessage)
getNumberAction.OnInvalidDigitMessages = invalidDigitMessages
actions.Add(getNumberAction)
' Unpack the request
Dim telephonyRequest = New TelephonyRequest(Request)
Dim getNumberResult As GetNumberResult = telephonyRequest.InstanceInfo.ActionResult
Dim enteredNumber = getNumberResult.EnteredNumber
Public Class GetNumber
Inherits TelephonyAction
' Constructors
[Obsolete] Public Sub New (prompt As Play)
[Obsolete] Public Sub New (prompt As Play, nextPage As Webpagerequest)
[Obsolete] Public Sub New (prompt As Play, nextPage As Webpagerequest, digitCount As Integer)
[Obsolete] Public Sub New (prompt As Play, nextPage As Webpagerequest, endDigit As Char)
Public Sub New (nextPage As Webpagerequest, Optional prompt As Play = Nothing, Optional digitCount As Integer? = Nothing, Optional endDigit As Char? = Nothing)
' Members
Public Property Prompt As Play
Public Property DigitCount As Integer
Public Property EndDigit As Char
Public Property ValidDigits As String
Public Property HelpDigit As Char
Public Property SecondsTimeout As Integer
Public Property MillisecondsInitialTimeout As Integer
Public Property MillisecondsInterDigitTimeout As Integer
[Obsolete] Public Property SecondsDigitTimeout As Integer
Public Property OnDigitTimeoutMessages As List(Of Play)
Public Property OnInvalidDigitMessages As List(Of Play)
Public Property NextPage As Webpagerequest
End Class
Examples:
Dim actions = New List(Of TelephonyAction)
Dim prompt = Play.SayText("Please enter your number followed by a hash.")
Dim getInputAction = New GetInput(New WebPageRequest("UseNumberPage.aspx"), prompt)
getInputAction.DigitInputEnabled = False
actions.Add(getInputAction)
' Unpack the request
Dim telephonyRequest = New TelephonyRequest(Request)
Dim getNumberResult As GetNumberResult = telephonyRequest.InstanceInfo.ActionResult
Dim enteredNumber = getNumberResult.EnteredNumber
Dim actions = New List(Of TelephonyAction)
Dim prompt = Play.SayText("Please enter your 16 digit number.")
Dim getNumberAction = New GetNumber(New WebPageRequest("UseNumberPage.aspx"), prompt)
getNumberAction.DigitCount = 16
getNumberAction.EndDigit = Chr(0)
actions.Add(getNumberAction)
' Unpack the request
Dim telephonyRequest = New TelephonyRequest(Request)
Dim getNumberResult As GetNumberResult = telephonyRequest.InstanceInfo.ActionResult
Dim enteredNumber = getNumberResult.EnteredNumber
Dim actions = New List(Of TelephonyAction)
Dim prompt = Play.SayText("Please enter 4 digits between 1 and 8.")
Dim getNumberAction = New GetNumber(New WebPageRequest("UseNumberPage.aspx"), prompt)
getNumberAction.DigitCount = 4
getNumberAction.EndDigit = Chr(0)
getNumberAction.ValidDigits = "12345678"
actions.Add(getNumberAction)
' Unpack the request
Dim telephonyRequest = New TelephonyRequest(Request)
Dim getNumberResult As GetNumberResult = telephonyRequest.InstanceInfo.ActionResult
Dim enteredNumber = getNumberResult.EnteredNumber
Dim actions = New List(Of TelephonyAction)
Dim prompt = Play.SayText("Please enter your id followed by a hash.")
Dim getNumberAction = New GetNumber(New WebPageRequest("UseNumberPage.aspx"), prompt)
getNumberAction.MillisecondsInterDigitTimeout = 10000
Dim digitTimeoutMessages = New List(Of Play)
digitTimeoutMessages.Add(Play.PlayFile("silencemessage1.wav"))
digitTimeoutMessages.Add(Play.PlayFile("silencemessage2.wav"))
getNumberAction.OnDigitTimeoutMessages = digitTimeoutMessages
Dim invalidDigitMessages = New List(Of Play)
invalidDigitMessages.Add(Play.SayText("Please enter only numeric digits followed by a hash"))
Dim secondMessage = Play.SayText("No really!")
secondMessage.AddText("Please enter only numeric digits followed by a hash")
invalidDigitMessages.Add(secondMessage)
getNumberAction.OnInvalidDigitMessages = invalidDigitMessages
actions.Add(getNumberAction)
' Unpack the request
Dim telephonyRequest = New TelephonyRequest(Request)
Dim getNumberResult As GetNumberResult = telephonyRequest.InstanceInfo.ActionResult
Dim enteredNumber = getNumberResult.EnteredNumber
class GetNumber extends TelephonyAction
Represents a get number action.
Class synopsis:
// Constructors:
public GetNumber(WebPageRequest nextPage)
public GetNumber(WebPageRequest nextPage, Play prompt)
public GetNumber(WebPageRequest nextPage, Play prompt, int digitCount)
public GetNumber(WebPageRequest nextPage, Play prompt, char endDigit)
// Members:
public void setPrompt(Play prompt)
public void setDigitCount(int digitCount)
public void setEndDigit(char endDigit)
public void setHelpDigit(char helpDigit)
public void setValidDigits(String validDigits)
public void setMilliSecondsInterDigitTimeout(int timeout)
public void setMilliSecondsInitialTimeout(int timeout)
public void setOnDigitTimeoutMessages(List<Play> messageList)
public void setOnInvalidDigitMessages(List<Play> messageList)
public JSONObject toJSONObject()
class GetNumberResult extends ActionResult
Represents the result of a get number action.
Members:
// Members:
public String getEnteredNumber()
Examples:
List<TelephonyAction> actions = new ArrayList<TelephonyAction>();
Play prompt = Play.sayText("Please enter your number followed by a hash.");
actions.add(new GetNumber(new WebPageRequest("UseNumberPage"), prompt));
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
TelephonyRequest ourRequest = new TelephonyRequest(request);
GetNumberResult numberResult = (GetNumberResult)ourRequest.getInstanceInfo().getActionResult();
String enteredNumber = numberResult.getEnteredNumber();
// Your code here...
}
List<TelephonyAction> actions = new ArrayList<TelephonyAction>();
Play prompt = Play.sayText("Please enter your 16 digit number.");
actions.add(new GetNumber(new WebPageRequest("UseNumberPage"), prompt, 16));
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
TelephonyRequest ourRequest = new TelephonyRequest(request);
GetNumberResult numberResult = (GetNumberResult)ourRequest.getInstanceInfo().getActionResult();
String enteredNumber = numberResult.getEnteredNumber();
// Your code here...
}
List<TelephonyAction> actions = new ArrayList<TelephonyAction>();
Play prompt = Play.sayText("Please enter 4 digits between 1 and 8.");
GetNumber getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage"), prompt, 4);
getNumberAction.setValidDigits("12345678");
actions.add(getNumberAction);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
TelephonyRequest ourRequest = new TelephonyRequest(request);
GetNumberResult numberResult = (GetNumberResult)ourRequest.getInstanceInfo().getActionResult();
String enteredNumber = numberResult.getEnteredNumber();
// Your code here...
}
List<TelephonyAction> actions = new ArrayList<TelephonyAction>();
Play prompt = Play.sayText("Please enter your id followed by a hash.");
GetNumber getNumberAction = new GetNumber(new WebPageRequest("UseNumberPage"), prompt);
getNumberAction.setValidDigits("0123456789");
getNumberAction.setMilliSecondsInterDigitTimeout(10000);
// Set up the messages to play if the caller does not
// enter a number or enters an invalid digit.
List<Play> onDigitTimeoutMessages = new ArrayList<Play>();
onDigitTimeoutMessages.add(Play.sayText("Please enter a number."));
onDigitTimeoutMessages.add(Play.sayText("This is your final chance to enter a number."));
getNumberAction.setOnDigitTimeoutMessages(onDigitTimeoutMessages);
List<Play> onInvalidDigitMessages = new ArrayList<Play>();
onInvalidDigitMessages.add(Play.playFile("invalidentry.wav"));
getNumberAction.setOnInvalidDigitMessages(onInvalidDigitMessages);
actions.add(getNumberAction);
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
TelephonyRequest ourRequest = new TelephonyRequest(request);
GetNumberResult numberResult = (GetNumberResult)ourRequest.getInstanceInfo().getActionResult();
String enteredNumber = numberResult.getEnteredNumber();
// Your code here...
}
class GetNumber
Represents a get_number action.
Class synopsis:
# GetNumber object:
GetNumber(next_page)
# Instance methods:
GetNumber.set_prompt(play_action)
GetNumber.set_digit_count(digit_count)
GetNumber.set_end_digit(end_digit)
GetNumber.set_valid_digits(valid_digits)
GetNumber.set_help_digit(help_digit)
GetNumber.set_seconds_timeout(timeout)
GetNumber.set_milliseconds_inter_digit_timeout(timeout)
GetNumber.set_milliseconds_initial_timeout(timeout)
GetNumber.set_on_digit_timeout_messages(list_of_play_actions)
GetNumber.set_on_invalid_digit_messages(list_of_play_actions)
Get Number Result
The Get Number Result is represented by a dictionary. It is found within the action result
for the next page
.
Obtaining the Get Number Result dictionary:
my_request = TelephonyRequest(request)
action_result = my_request.get_action_result()
if action_result.get("action") == "get_number":
get_number_result = action_result.get("result")
Examples:
# Create a list of actions that will be passed to the TelephonyResponse constructor
list_of_actions = []
get_number_action = GetNumber(WebPage(url='usenumberpage'))
get_number_action.set_prompt(Play(text_to_say='Please enter your number followed by a hash.'))
list_of_actions.append(get_number_action)
my_request = TelephonyRequest(request)
action_result = my_request.get_action_result()
if action_result.get("action") == "get_number":
get_number_result = action_result.get("result")
entered_number = get_number_result.get("entered_number")
# Your code here...
# Create a list of actions that will be passed to the TelephonyResponse constructor
list_of_actions = []
get_number_action = GetNumber(WebPage(url='usenumberpage'))
get_number_action.set_prompt(Play(text_to_say='Please enter your 16 digit number.'))
get_number_action.set_end_digit('')
get_number_action.set_digit_count(16)
list_of_actions.append(get_number_action)
my_request = TelephonyRequest(request)
action_result = my_request.get_action_result()
if action_result.get("action") == "get_number":
get_number_result = action_result.get("result")
entered_number = get_number_result.get("entered_number")
# Your code here...
# Create a list of actions that will be passed to the TelephonyResponse constructor
list_of_actions = []
get_number_action = GetNumber(WebPage(url='usenumberpage'))
get_number_action.set_prompt(Play(text_to_say='Please enter 4 digits between 1 and 8.'))
get_number_action.set_digit_count(4)
get_number_action.set_end_digit('')
get_number_action.set_valid_digits('12345678')
list_of_actions.append(get_number_action)
my_request = TelephonyRequest(request)
action_result = my_request.get_action_result()
if action_result.get("action") == "get_number":
get_number_result = action_result.get("result")
entered_number = get_number_result.get("entered_number")
# Your code here...
# Create a list of actions that will be passed to the TelephonyResponse constructor
list_of_actions = []
list_of_play_actions_on_timeout = []
list_of_play_actions_on_timeout.append(Play(file_to_play='silencemessage1.wav'))
list_of_play_actions_on_timeout.append(Play(file_to_play='silencemessage2.wav'))
list_of_play_actions_on_invalid = []
list_of_play_actions_on_invalid.append(Play(text_to_say='Please enter only numeric digits followed by a hash'))
play_action = Play(text_to_say='No really!')
play_action.append_text(text_to_say='Please enter only numeric digits followed by a hash')
list_of_play_actions_on_invalid.append(play_action)
get_number_action = GetNumber(WebPage(url='usenumberpage'))
get_number_action.set_prompt(Play(text_to_say='Please enter your id followed by a hash.'))
get_number_action.set_digit_count(4)
get_number_action.set_end_digit('#')
get_number_action.set_help_digit('*')
get_number_action.set_milliseconds_inter_digit_timeout(10000)
get_number_action.set_on_digit_timeout_messages(list_of_play_actions_on_timeout)
get_number_action.set_on_invalid_digit_messages(list_of_play_actions_on_invalid)
list_of_actions.append(get_number_action)
my_request = TelephonyRequest(request)
action_result = my_request.get_action_result()
if action_result.get("action") == "get_number":
get_number_result = action_result.get("result")
entered_number = get_number_result.get("entered_number")
# Your code here...
The GetNumber class
Introduction
Represents a get number action.
Class synopsis
class GetNumber extends GetNumberBase {
/* methods */
public __construct(string|WebPageRequest $next_page, array $opts = null)
public self setValidDigits(string $digits)
public self setDigitCount(int $count)
public self setEndDigit(string $digit)
public self setMillisecondsInterDigitTimeout(int $msecs)
public self setMillisecondsInitialTimeout(int $msecs)
public self setSecondsTimeout(int $secs)
/* inherited methods */
public self setPrompt(Play $prompt)
public self setHelpDigit(string $digit)
public self setOnDigitTimeoutMessages(MessageList $messages)
public self setOnInvalidDigitMessages(MessageList $messages)
}
The GetNumberResult class
Introduction
Represents the result of a get number action.
Class synopsis
class GetNumberResult extends ActionResult {
/* methods */
public string getEnteredNumber()
/* inherited methods */
public string getAction()
public boolean getInterrupted()
}
Examples:
$prompt = Aculab\TelephonyRestAPI\Play::sayText("Please enter your number followed by a hash.");
$getnum = new Aculab\TelephonyRestAPI\GetNumber('usenumberpage');
$getnum->setPrompt($prompt);
$response->addAction($getnum);
$info = InstanceInfo::getInstanceInfo();
$numberResult = $info->getActionResult();
$enteredNumber = $numberResult->getEnteredNumber();
$prompt = Aculab\TelephonyRestAPI\Play::sayText("Please enter your 16 digit number.");
$getnum = new Aculab\TelephonyRestAPI\GetNumber('usenumberpage');
$getnum->setPrompt($prompt);
$getnum->setDigitCount(16);
$getnum->setEndDigit('');
$response->addAction($getnum);
$info = InstanceInfo::getInstanceInfo();
$numberResult = $info->getActionResult();
$enteredNumber = $numberResult->getEnteredNumber();
$prompt = Aculab\TelephonyRestAPI\Play::sayText("Please enter 4 digits between 1 and 8.");
$getnum = new Aculab\TelephonyRestAPI\GetNumber('usenumberpage');
$getnum->setPrompt($prompt);
$getnum->setDigitCount(4);
$getnum->setEndDigit('');
$getnum->setValidDigits('12345678');
$response->addAction($getnum);
$info = InstanceInfo::getInstanceInfo();
$numberResult = $info->getActionResult();
$enteredNumber = $numberResult->getEnteredNumber();
$prompt = Aculab\TelephonyRestAPI\Play::sayText("Please enter your id followed by a hash.");
$getnum = new Aculab\TelephonyRestAPI\GetNumber('usenumberpage');
$getnum->setPrompt($prompt)
->setMillisecondsInterDigitTimeout(10000);
$timeout = new Aculab\TelephonyRestAPI\MessageList();
$timeout->addMessage(Aculab\TelephonyRestAPI\Play::playFile('silencemessage1.wav'));
$timeout->addMessage(Aculab\TelephonyRestAPI\Play::playFile('silencemessage2.wav'));
$getnum->setOnDigitTimeoutMessages($timeout);
$invalid = new Aculab\TelephonyRestAPI\MessageList();
$invalid->addMessage(Aculab\TelephonyRestAPI\Play::sayText('Please enter only numeric digits followed by a hash'));
$message = Aculab\TelephonyRestAPI\Play::sayText('No really!');
$message->addText('Please enter only numeric digits followed by a hash');
$invalid->addMessage($message);
$getnum->setOnInvalidDigitMessages($invalid);
$response->addAction($getnum);
$info = InstanceInfo::getInstanceInfo();
$numberResult = $info->getActionResult();
$enteredNumber = $numberResult->getEnteredNumber();