Follow CDYNE Blog on WordPress.com
Header Image -

Tag Archives

11 Articles

SMS Notify! API System Keywords

SMS Notify! API is a programming interface that provides connectivity to wireless carriers. It allows developers to build business applications to send and receive text messages using DIDs or short codes. DIDs are SMS-enabled 10-digit phone numbers (e.g., 757-544-9510), and short codes are 5- to 6-digit numbers (e.g. 55512). Here is a PDF document outlining the differences between each method. One important feature of SMS Notify! is the system keywords. When a person begins a text message with a system keyword and sends it to your DID or short code, SMS Notify! will automatically send a text message reply. System keywords and responses vary between DIDs and short codes as outlined below.

DID System Keywords

HELP

System Response:“Business Name”-SMS Notifications.Txt STOP to end.Msg&Data Rates may apply.”Business point of contact.”

  • The default business name is the name used to sign up for the SMS Notify! account. This may be updated by contacting CDYNE.
  • The business point of contact is two forms of contact including any combination of phone number, email, or website.
STOP, END, CANCEL, UNSUBSCRIBE, QUIT

System Response: This provider is now blocked. Text back RESUME to unblock your number.

  • SMS Notify! API will block the recipient’s number from receiving messages until the recipient sends RESUME.
  • CDYNE will log the recipient STOP request including the license key, sending DID, and recipient’s phone number.
  • The STOP response occurs at the license key level. SMS Notify! will only block messages from that same license key to the recipient’s phone number.
  • Other license keys may send to the recipient’s phone number.
RESUME

System Response: OK.

  • This will allow SMS Notify! to send messages to a recipient who previously sent a STOP command.
  • License Key with Assigned DIDs: The recipient can reply RESUME to any DID assigned to the license key that logged the original STOP request.
  • License Key without Assigned DIDs: The recipient must reply RESUME to the original DID assigned to the license key that logged the original STOP request.

Short Code System Keywords

HELP, HLP, AIDE, INFO

System Response:“Business Name”: Reply STOP to cancel. Msg&Data Rates may apply. Msg Freq per acct setup. “Business #.”

  • The default business name and number is the name and number used to sign up for the SMS Notify! account. This may be updated by contacting CDYNE.
  • The HELP response for short codes are at the license key level so you can set up multiple custom HELP responses per short code.
STOP, END, CANCEL, UNSUB, QUIT, ARRET

System Response:“Business Name”: You have opted out and will no longer receive messages from this service. “Business #”

  • SMS Notify! API will block the recipient’s number from receiving messages until the recipient sends RESUME.
  • The STOP response occurs at the license key level. SMS Notify! will only block messages from that same license key to the recipient’s phone number.
  • The reply to French keywords is the standard English reply.
RESUME

System Response: Welcome to “ProgramName”. Reply STOP to cancel. Reply HELP for help or call “ProgramContact”. Msg&Data rates may apply.  Msg freq per acct setup. Pwr’d by CDYNE.

  • Shared short code system messages will contain “Pwr’d by CDYNE.” Dedicated short code messages will not.

Contact CDYNE for more information about short codes.

Test SMS Notify! API for free.

0 views

Receiving SMS Messages with Short Code Keywords

A short code keyword is a unique one-word phrase that identifies a business, product or service. Keywords allow multiple  businesses to run unique campaigns on the same short code. Likewise, a business using a dedicated short code can differentiate communications with multiple keywords. For example, your dentist places a sign in the waiting room that says, “Text SMILE to 55512 to get appointment reminders.” In this example, “SMILE” is the keyword, and “55512” is the short code. By texting SMILE to short code 55512, the patient is opting in to receive appointment reminders. Using the same short code, the dental office may run a separate promotional offer. For example, “Text WHITE to 55512 for $25 off teeth whitening.” In this way, patients choose the interaction they wish to receive from their dentist. Communication with short codes and keywords give businesses great flexibility and responsiveness when engaging their customers, patients, or clients with text messaging. Here are guidelines and rules to consider when using keywords:

Select User Friendly Keywords

Keep it short – A short keyword is easy to remember.

Make it memorable – An easy to remember keyword will generate a better response.

Use a single word – SMS Notify! will match the entire message when checking for incoming keywords. If an incoming keyword is followed by any characters, a match will not be made.

SMS Notify! Incoming Keyword Rules

  • Only 1 instance of keyword per short code
  • Keyword cannot be a system keyword (e.g., STOP, HELP, ect.)
  • Keyword must be at least 3 characters long
  • Keyword cannot be a typical SMS response (e.g., sure, yes, thanks, monday)
  • Keywords are not case sensitive; ‘THIS’ is the same as ‘this’ and ‘ThIs’

Using PostBackURL to Capture Incoming Keywords

Developer’s can set up automated responses to incoming keywords using the SMS Notify! API PostBackURL system. When a keyword is assigned to your short code, CDYNE can also assign a URL or webpage you designate. Set your application to look for the variable SMSResponse=1, which is posted when a message is sent to your short code, or when a response to your outgoing message arrives. PostBackURL data is posted behind the scenes, and is not visible on your webpage. Program your application to capture the PostBackURL variables that are passed to your webpage from SMS Notify! API.

Contact CDYNE for more information about short codes.

Test SMS Notify! API for free.

0 views

SMS PostBackURLs Two Ways

For many SMS Notify! applications, it is important to know when an MT* message is sent, when a response to that text message is received, or when an MO* message is received by your application. In each scenario, SMS Notify! will alert your application when you use the PostBackURL feature. This can be helpful for storing information in a database, or responding with another message. The PostBackURL is a web page you assign where CDYNE will post back the specific information about the MT or MO SMS messages.

MT (Mobile Terminated) PostBack Fields

If you specify a PostBackURL in your SMS outgoing request, the following fields can be programmed to postback when a message is sent:

  • SMSSent – Always set to “1.”
  • MessageID – A unique identifier that matches the initial MessageID from your outgoing SMS.
  • ReferenceID – This is populated if you set a reference id in your outgoing request.
  • FromPhoneNumber – This is the number that sent your outgoing message.
  • ToPhoneNumber – This is the number you sent the SMS to.
  • SentTime – UTC Date when the message was sent.

 

MO (Mobile Originated) PostBack Fields

If you specify a PostBackURL in your SMS outgoing request, or CDYNE assigned you an SMS DID – the following fields can be programmed to postback when a response message is returned, or when an MO message is sent to your DID.

  • SMSResponse – Always set to “1.”
  • MessageID – A unique identifier for this response. This will come as a GUID.
  • MatchedMessageID – A GUID that is populated when the response matches a previous message.
  • ReferenceID – This is populated if the response matches a previous message and you set the ReferenceID field in your outgoing SMS.
  • FromPhoneNumber – This is the number that sent the response.
  • ToPhoneNumber – This is the Local SMS Number that received the message. If you have an assigned DID number from CDYNE, this will be that number. Otherwise it will be a random number from our Phone Number pool.
  • ResponseReceiveDate – UTC Date when the message came in.
  • Message – This is the incoming SMS Text Message body.

 

Shared Numbers or DIDs – How to Assign the PostBackURL

There are currently two flavors of CDYNE SMS messaging: shared and dedicated phone numbers. With shared numbers, your application can send SMS messages, and receive responses to those messages. Shared numbers cannot receive MO (Mobile Originated) or customer initiated/inbound text message to your application. You’ll need a DID for MO messages.

You can order a DID through a CDYNE Account Representative. When they assign the DID to your SMS license key, they can also assign the PostBackURL at that time. Alternatively, you can log into your account online and specify a URL for each dedicated phone number assigned to your license key as shown in the image below:

By doing so, all messages sent to or from the DID will be captured with the PostBackURL.

When using CDYNE’s bank of shared phone numbers, you can assign the PostBackURL in the SimpleSMSSendWithPostback or AdvancedSMSSend methods. When using a DID, if the PostBackURL is already assigned, you do not have to pass it in the SimpleSMSSendWithPostback or AdvancedSMSSend methods. If you do put in a PostBackURL, it will override the system URL.

* MT (Mobile Terminated) message – an outgoing message sent from your application. It is a text message that terminates on a mobile device.

* MO (Mobile Originated) message – an inbound message sent to your application that is initiated by the customer (rather than a response to an MT message already sent out). It is a text message that originates from a mobile device.

 

For more information about CDYNE SMS 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 SMS Notify! API.

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

0 views

Deliver Relevant Communications to Customers and Clients

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.

0 views

Conference Calling with Phone Notify! API

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.

0 views

Building an Appointment Reminder with CDYNE Phone Notify! Web Service

Phone Notify! Web Service supports 50 operations to build customizable and scalable voice applications. It’s designed to enable any business application to send or receive up to 5,000 tier-1 quality phone calls per minute using text to speech, recorded files, or both. This article will take a look at 2 operations to build a basic voice application that will use text to speech and a recorded sound file to send out an appointment reminder.

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: Setting Up a Basic Notify

The example below shows the code used to send a Basic Notify using the NotifyPhoneBasic method.

A few notes about using the NotifyPhoneBasic method:

  • This method will call any phone number in the US/Canada and read the TextToSay to that phone number
  • PhoneNumberToDial and CallerID must be filled in (they can be in any format as long as there is 10 digits)

When the program below is run with a license key, CDYNE Corporation will call 3215554757 with a text to speech message stating, “John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.” The strings written in red in the screenshot is made up of the following components:

  • Phone number to dial – “3215554757”
  • Script –  “John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.”
  • Caller ID – “7575449510”
  • Caller ID Name – “CDYNE Corporation.”
  • Voice ID – “4”
  • License Key – this is required to send or receive phone calls with Phone Notify! Web Service.

This notify uses voice ID 4, named Callie, and represents a US English female voice, age 30.You can invoke all voices available with Phone Notify! with the getVoices method. You may also listen to the voices at http://cepstral.com/demos/. Please note that the Cepstral website may contain voices not currently available with the Phone Notify! Web Service.

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

WSDL.NotifyReturn nr = pn.NotifyPhoneBasic(“3215554757”,

“John Williams has an appointment with Dr. Smith on Tuesday, May 13 at 3pm.”,

“17575449510”, “CDYNE Corporation”, “4”, “LicenseKey”);

Step 3: Request a Phone Call to Record a Sound File

One way to make automated phone reminders more personal is to use a recorded voice. Although text to speech can be very useful in some applications, it is a mechanical and impersonal sounding messaging tool for some customer interactions. In this step, we will use the RecordSoundViaPhoneCall method to call a designated phone number and record a sound file. The sound file recording states, “has an appointment with Dr. Smith on,” and leaves out the customer’s name, and the date and time of the appointment. These three values will remain as text to speech when we put the script together in Step 4.

A few notes about the RecordSoundViaPhoneCall method:

  • SoundfileIDs can only be lowercase and contain normal file characters
  • The CallerIDName will be the SoundFileID
  • The CallerID will be an 800 or 866 number

When this program is run with a license key, the phone number designated in the code (3215554757) will receive a phone call with instructions to record sound file “smith1.” Once recorded, the file will play back and the user has the option to accept or rerecord the message. We’ll access this file in the next step.

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

WSDL.RecordSoundViaPhoneCall(“3215554757”, “smith1”, “LicenseKey”);

Step 4: Putting Together the Script

In the final step, we’ll use the NotifyPhoneBasic method to combine the text to speech and recorded file, which we named smith1.

When the program below is run with a license key, CDYNE Corporation will call 3215554757 with a recorded message combined with text to speech variables. The variables include, “John Williams” and “Tuesday, May 13 at 3pm.”

WSDL.PhoneNotify pn = new WSDL.PhoneNotify();

WSDL.NotifyReturn nr = WSDL.NotifyPhoneBasic(“3215554757”,

“John Williams ~^smith1~ Tuesday, May 13 at 3pm.”,

“17575449510”, “CDYNE Corporation”, “4”, ” LicenseKey”);

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.

0 views