API Blog

Communication and Data Quality APIs for real-time business solutions.

Posts Tagged ‘Text to Speech’


Deliver Relevant Communications to Customers and Clients

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , , ,

relevant-communications3

CDYNE Phone Notify! API is an automated API phone notification system that allows IT departments to build voice applications to deliver relevant communications to customers and clients.  It has the ability to send or receive up to 5,000 tier-1 quality phone calls per minute using text to speech (TTS) in multiple languages, recorded files, or both. With over 50 programming methods, you can build powerful applications that will handle complex phone scripts, send immediate or scheduled phone calls, respond to call actions in real time, and manage call lists. Phone Notify! allows programmers to send automated phone alerts, conduct phone surveys, perform conference calls, and integrate custom business applications into their existing system.

AN OVERVIEW

There are over 50 Phone Notify! programming operations available to build and integrate voice applications into your system. They can be categorized into the list shown below. Additionally, a detailed operation list by category may be found here.

  • Send and Receive Phone Calls
  • Status Report Management
  • Script Management
  • Sound File Management
  • List Management

 

TUTORIALS & SCRIPTING SAMPLES

Tutorials 1 and 2 use C# in Visual Studio 2010. You may find additional source code examples and download code examples from the Phone Notify! developer’s wiki. The script samples show advance scripting features that are available with Phone Notify! API.

Build an appointment reminder using NotifyPhoneBasic and RecordSoundViaPhoneCall methods

Integrate conference calls using NotifyPhoneAdvanced, SetIncomingCallScript, and CancelConference methods

An advanced scripting example for automated phone reminders

Additional scripting examples for a political poll, school announcement, registration confirmation, survey, and recording sound files may be found on the CDYNE developer’s wiki.

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.

Phone Notify! Programming Methods

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , , ,

programming-methods3

With over 50 programming methods, you can build powerful applications with Phone Notify! that will handle complex phone scripts, send immediate or scheduled phone calls, respond to call actions in real time, and manage call lists. Phone Notify! allows programmers to send automated phone alerts, conduct phone surveys, perform conference calls, and integrate custom business applications into their existing system.

The following list shows Phone Notify! operations by category. You may view each method’s parameters, data type, and sample input and output data on the Phone Notify! developer’s wiki . A compiled list of operation notes may also be found in the Phone Notify! Specification PDF.

Send and Receive Phone Calls

Basic Methods for Single or Multiple Calls

NotifyPhoneBasic
This method will call any phone number in the US/Canada and read the TextToSay to that phone number.

NotifyPhoneBasicWithTryCount
Same as NotifyPhoneBasic with a number of times it will retry the call. The max is 3.

NotifyPhoneBasicWithTransfer
This method will call any phone number in the US/Canada and read the TextToSay to that phone number. It also allows you to transfer a call by pressing 0.

NotifyPhoneEnglishBasic
This method will call any phone number in the US/Canada and read the TextToSay to that phone number using the voice of Diane (VoiceID: 0). PhoneNumberToDial must be filled in (They can be in any format as long as there is 10 digits).

NotifyMultiplePhoneBasic
This method will call phone numbers with a default of 3,000 calls per minute (delimited by a semicolon) in the US/Canada and read the TextToSay to that phone number.

NotifyMultiplePhoneBasicWithCPM
This method includes a way to set the calls per minute (CPM) when calling phone numbers in the US/Canada, and will read the TextToSay to that phone number.

Advanced Methods for Single or Multiple Calls

NotifyPhoneAdvanced
Allows you to control notifies with a class. This method allows for the maximum combinations of using Phone Notify! API.

NotifyMultiplePhoneAdvanced
Allows you to control notifies with a class. This function allows multiple notifies to be sent at one time. This allows for the maximum combinations of using Phone Notify! API. We suggest using our list management features for batches over 100.

Additional Methods

CancelNotify
Cancels a single notify. This will not cancel completed calls or calls in progress. You will receive credit for any successfully cancelled notify that returns “true.”

getVoices
This method will list all the voices available for your notification. Use the VoiceID for the Notification Methods

GetIncomingCallScript
Allows you to get the call script for incoming calls for a particular number. You must have incoming phone numbers set by CDYNE Staff.

CancelConference
Cancels a conference by conference key.

Status Report Management

GetQueueIDStatus
Returns a status on a particular QueueID.

GetQueueIDStatusWithAdvancedInfo
Returns a status on a particular QueueID. This also includes variable information and more.

GetQueueIDStatusesByPhoneNumber
Returns the last 10 phone notifications for a particular phone number.

GetMultipleQueueIdStatus
This method returns information about the status of multiple notifies via QueueID (delimited by a semicolon). The QueueID returns a specific phone call ID.

GetResponseCodes
This method will list all of the response codes.

Script Management

ScriptDelete
Script Management – Delete a script.

ScriptList
Script Management – Lists the scripts belonging to a license key. Set IncludeGlobalScripts to true if you would like CDYNE global scripts to be included.

ScriptLoad
Script Management – Load a script’s text.

ScriptSave
Script Management – Save a script (Scriptname can only be 50 characters or less). Saving a script with an existing name will overwrite the old script.

SetIncomingCallScript
Allows you to update a Call Script for incoming calls. You must have incoming phone numbers set by CDYNE Staff.

Sound File Management

UploadSoundFile
Sound file upload. Our system accepts WAV (PCM, U-law, A-law, MS ADPCM) Files. To use the sound file in the notify put ~ around it and start it with a ^.Example “Hello ~^soundfile~, you are cool.”(This would TextToSay “Hello,” and “you are cool,” adding the sound file in the middle).

GetSoundFile
Sound file retrieval.

GetSoundFileInMP3
Sound file retrieval (returns an MP3 encoded in 32,64, or 128).

GetSoundFileInUlaw
Sound file retrieval (returns ULAW encoded file).

GetSoundFileLength
Gets a sound file length in seconds.

GetSoundFileURL
Sound file retrieval. Returns a URL to listen to a particular sound file in MP3.

GetTTSInMP3
Allows you to convert text into a MP3 encoded sound file. Returns an MP3 encoded in 32,64, or 128 (May require a additional License Key).

GetTTSInULAW
Allows you to convert text into a ULAW encoded sound file (May require an additional License Key).

RecordSoundViaPhoneCall
Request the system to call you to record a sound file. SoundfileIDs can only be lowercase and contain normal file characters. The CallerIDName will be the SoundFileID and the number will be 8000000000.

RemoveSoundFile
Sound file delete.

RenameSoundFile
Sound file rename.

ReturnSoundFileIDs
Get available sound files that you can add to your stream via a license key.

List Management

LM_AddListMember
List Management – Allows you to add contacts to a List. You will need the ListID. The only required fields are ListID, PhoneNumber, and LicenseKey. Returns a List Member ID.

LM_AddNewList
List Management – Allows you to add a list that can contain members (Contacts). You can also attach this list to be apart of a Parent List, otherwise leave ParentList ID = 0.

LM_AlterListID
List Management – Allows you alter a ListMember, use 0 if you do not want to have a ParentListID, and -1 if you do not wish to change the ParentListID.

LM_AlterListMember
List Management – Allows you alter a ListMember.

LM_DeleteList
List Management – Deletes a List and its sub-lists (The lists that have is as a ParentListID).

LM_DeleteListMember
List Management – Deletes a List’s Member (or contact).

LM_DialList
List Management – Dial a List by ListID. Returns a Batch ID for the list and begins dialing at the scheduled time. Scheduled times are in UTC.

LM_DialListAdvanced
List Management – Dial a list by ListID that allows you to set more advanced properties.

LM_GetListIDsByLicensekey
List Management – Obtains all list IDs from a specific License key.

LM_GetListMembersByListID
List Management – Gets all the phone numbers with their first and last names.

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.

Conference Calling with Phone Notify! API

Posted by: CDYNE  /  Tags: , , , , , , , , , , , , , , , ,

conference-call

With over 50 programming methods, you can build powerful applications with Phone Notify! that will handle complex phone scripts, send immediate or scheduled phone calls, respond to call actions in real time, and manage call lists. One of the features included in Phone Notify! is the ability to create a conference, add a call to a conference, and cancel the conference. This tutorial will show the programming methods used along with sample call scripts.

This tutorial uses C# in Visual Studio 2010. You can find additional source code examples and download code examples from the Phone Notify! developer’s wiki.

Phone Notify! Operations Used

Step 1: Consuming Phone Notify! Web Service

  • Open a new or existing project in Visual Studio 2010
  • From the top tool bar, go to Project>Add Service Reference, which will open up the following screen:

  • Click on the Advanced button in the lower left-hand corner, which will open up another screen:

  • Click on the Add Web Reference button, which will open up a third screen:

  • Add the Phone Notify WSDL URL: http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?wsdl to the URL box, and click on the green arrow. This will pull up the Phone Notify! Web Service Description as shown in the next screen:
  • Name the web reference. In this case, we named it WSDL. Then click the Add Reference button.

Step 2: Start Conference

The following example uses the NotifyPhoneAdvanced method to receive an incoming phone call, and the SetIncomingCallScript method to set the call script which will initiate a conference call. A dedicated phone number assigned to your account license key is required to receive phone calls.

The script in the code above uses advanced Notify commands that are available with Phone Notify! API. The following list includes notes on these commands:

~\statuschangepostURL(“User’s specified URL”)~
This posts information about the call to a URL you specify. Using this method is highly suggested if you have a server to postback to on the web. The posturl must be in lower case. In this instance, when an inbound call is placed a conference key is posted to the URL specified here.

~\ActOnDigitPress(false)~ 
Turns off Message Interruption for digit commands (i.e., 1 for repeat). This is useful for a message that, for example, says “enter your zip code” and it won’t jump around in the Dial Plan when the digits are pressed.

~\ClearDTMF()~
Provides a clean slate for Acting on DTMF Commands. This will clear the default of “press 1 to repeat.”

~\Label(MainMenu)~
Sets the label, “MainMenu,” which states in TTS “Thank you for calling CDYNE Corporation. Please choose a selection from one of the following options.”

~\AssignDTMF(1|Join)~
Assigns 1 on the dial pad to go to the label “Join.” In this script, the star (*) is subsequently assigned to the label “MainMenu” and the pound sign (#) is assigned to go to the label “EndCall.”

~\WaitForDTMF(5)~
This function will wait 5 seconds for a DTMF Command ( it accepts only one digit). Make sure that ActOnDigitPress(true) is set (It is true by default).

~\Goto(MainMenu)~
This will go to a label defined by the Label command. In this instance, if the recipient does not press a designated digit within 5 seconds, the Goto command instructs the script to go to the MainMenu.    

~\Label(Join)~
Sets the label, “Join,” which states in TTS “Please wait while you are connected to the conference call.”     

~\Conference()~
Provides a way to conference multiple Notifies together. The first Notify that uses the conference command will return a ConfKey variable (you must use StatusChangePostURL to get it). You can then start other Notifies with the same ConfKey to join the person to the same room using the ~\SetVar(ConfKey|the confkey guid)~ command.  

~\Label(Unavailable)~
 Sets the label, “Unavailable,” which states in TTS “We’re sorry no one is available at this time.”  

~\Label(EndCall)~
Sets the label, “EndCall,” which will end the call.                                                               

Step 3: Add a Caller to Conference

In the example below, an outbound call to an operator or representative is initiated to let them know that the caller in Step 2 is in queue. This is done with the NotifyPhoneAdvanced method. If the operator or representative accepts the call, both calls will be joined in a conference.

~\SetVar(ConfKey|”Conference Key”)~
The conference key is placed here. In most cases the servers handling the process will know to grab the conference key generated and posted to the URL during the phone call in Step 2.

Step 4: Cancel Conference

The CancelConference operation cancels the conference if the inbound call (from Step 2) is not accepted by the operator or representative in Step3. It will play the message, “We’re sorry no one is available at this time.” This is specified in Step 2 to play in the event the conference is cancelled.

For more information about CDYNE Phone Notify! API, please contact an account representative at 1-800-984-3710, inquire by email, or initiate a chat for more details.

Or sign up for a free trial license key to test CDYNE Phone Notify! API.

Developers find CDYNE Phone Notify! API integration details on the CDYNE developer’s wiki.