Difference between pages "Pnsample" and "Pnsamplecsharp"

From CDYNE Wiki
(Difference between pages)
Jump to navigation Jump to search
imported>Jbrooks
(Sample Applications)
 
imported>Mbaughman
(RecordSoundViaPhoneCall)
 
Line 1: Line 1:
The '''CDYNE Phone Notify!''' API is a hosted, programmable XML Web Service 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. CDYNE's Phone Notify! API delivers clear voice messaging over its own network of geographically dispersed server farms. <br>
+
=='''getVoices'''==
 +
<code type=csharp>
 +
namespace phnotify
 +
{
 +
    class Program
 +
    {
 +
        static void Main(string[] args)
 +
        {
 +
            pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
 +
            Voice[] voices = pn.getVoices();
  
*[http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?wsdl http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?wsdl]<br>
+
            foreach (Voice item in voices)
*[http://www.cdyne.com/downloads/SPECS_Phone-Notify.pdf Phone Notify Specification Sheet]<br>
+
            {
<br>
+
                Console.WriteLine(item.VoiceSummary.ToString());
 +
            }
 +
            Console.ReadKey(true);
 +
        }
 +
    }
 +
}
  
__toc__
+
</code>
  
=='''Phone Notify!'''==
+
=='''UploadSoundFile'''==
CDYNE Phone Notify! provides a robust platform of call management functions designed to enable any application to perform dialer functions like automatic outbound voice phone calls without the need for costly hardware and software. When you subscribe and deploy CDYNE Phone Notify! you get the "phone lines," the dialer, and the IVR all at per transaction pricing. Features include:
+
<code type=csharp>
 +
</code>
  
*Call both landlines and cell phones
+
=='''RecordSoundViaPhoneCall'''==
*Use recorded voice files or text-to-speech (multiple languages)
+
<code type = csharp>
*Schedule calls or send immediately
+
</code>
*Control outgoing Caller ID display number
 
*Transfer calls to live operator
 
*Post back call data to your own database or applications
 
*Capture recipient’s pressed digits to support phone surveys
 
*Respond to these actions in real time
 
*Implement reverse notifications to allow users who missed a call to retrieve missed messages
 
<br>
 
  
=='''Phone Notify! Specifics'''==
+
=='''NotifyPhoneEnglishBasic'''==
 +
<code type=csharp>
 +
namespace phnotify
 +
{
 +
    class Program
 +
    {
 +
        static void Main(string[] args)
 +
        {
 +
            pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
 +
            pnweb.NotifyReturn nr = pn.NotifyPhoneEnglishBasic("15555555555",
 +
            "Hello, this is a test.","00000000-0000-0000-0000-000000000000");
 +
        }
 +
    }
 +
 +
</code>
  
=== Free Trial License Keys ===
+
=='''NotifyPhoneBasic'''==
 +
<code type=csharp>
 +
namespace phnotify
 +
{
 +
    class Program
 +
    {
 +
        static void Main(string[] args)
 +
        {
 +
            pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
 +
            pnweb.NotifyReturn nr = pn.NotifyPhoneBasic("15555555555",
 +
            "Hello, this is a test.", "1555555555", "Test Caller ID", "0", "0000000-0000-0000-0000-000000000000");
 +
        }
 +
    }
 +
}
  
CDYNE offers trial license keys for all Web Services so that you may test the APIs for free.  Trial keys do not expire, and are limited to approximately 50 transactions. Normal processing time for trial key requests during normal business hours (M-F, 9-6 eastern) typically ranges from ten minutes to two hours.<br><br>
+
</code>
 +
=='''NotifyPhoneBasicWithTransfer'''==
 +
<code type=csharp>
 +
namespace phnotify
 +
{
 +
    class Program
 +
    {
 +
        static void Main(string[] args)
 +
        {
 +
            pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
 +
            pnweb.NotifyReturn nr = pn.NotifyPhoneBasicWithTransfer("15555555555","15555555555",
 +
            "Hello, this is a test. Press 0 to be transfered to the TransferNumber",
 +
            "15555555555", "Test Caller ID", "0", "00000000-0000-0000-0000-000000000000");
 +
        }
 +
    }
 +
}
 +
</code>
  
CDYNE [http://www.cdyne.com/developers/trial-key.aspx?PGID=16B68F7E-6F2A-4CF8-9152-38DA54DE5BDF Phone Notify! API trial keys] do require a short verification process due to FTC and FCC regulations regarding automated phone calls. At all times, phone calls sent from CDYNE Phone Notify! API must be in accordance with applicable federal and state laws, rules and regulations.<br><br>
+
=='''NotifyPhoneBasicWithTryCount'''==
 +
<code type=csharp>
 +
namespace phnotify
 +
{
 +
    class Program
 +
    {
 +
        static void Main(string[] args)
 +
        {
 +
            pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
 +
            pnweb.NotifyReturn nr = pn.NotifyPhoneBasicWithTryCount(3,"15555555555",
 +
            "Hello, this is a test.", "1555555555", "Test Caller ID", "0", "00000000-0000-0000-0000-000000000000");
 +
        }
 +
    }
 +
}
 +
</code>
  
Please include the following items in the trial request form for expedited processing:<br><br>
+
=='''NotifyMultiplePhoneBasic'''==
 +
<code type=csharp>
 +
namespace phnotify
 +
{
 +
    class Program
 +
    {
 +
        static void Main(string[] args)
 +
        {
 +
            pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
 +
            pnweb.NotifyReturn[] nr = pn.NotifyMultiplePhoneBasic("15555555555; 15555555555",
 +
            "Hello, This is a test.", "15555555555", "Test Caller ID", "0", "00000000-0000-0000-0000-000000000000");
  
* What the services will be used for?
+
        }
* Who are the phone call recipients (customers, employees, etc)?
+
    }
* What is the content of the message (marketing, notification, etc)?
+
}
* Do the recipients opt-in to receive phone calls? If so, how? <br><br>
+
</code>
  
=== Production (Account) License Keys ===
+
=='''NotifyPhoneAdvanced'''==
 +
<code type=csharp>
 +
namespace phnotify
 +
{
 +
    class Program
 +
    {
 +
        static void Main(string[] args)
 +
        {
 +
            pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
 +
            pnweb.AdvancedNotifyRequest anr = new pnweb.AdvancedNotifyRequest();
 +
            anr.CallerIDName = "Test Caller ID";
 +
            anr.CallerIDNumber = "15555555555";
 +
            anr.PhoneNumberToDial = "15555555555";
 +
            anr.TextToSay = "Hello, this is a test.";
 +
            anr.LicenseKey = "00000000-0000-0000-0000-000000000000";
 +
            anr.VoiceID = 0;
 +
            anr.TryCount = 1;
 +
            anr.NextTryInSeconds = 3600;
 +
            anr.UTCScheduledDateTime = DateTime.UtcNow;
 +
            pnweb.NotifyReturn response = pn.NotifyPhoneAdvanced(anr);
 +
        }
 +
    }
 +
}
  
Sign up [https://secure.cdyne.com/support/register.aspx?qs=20 here] for a production Phone Notify! license key. <br><br>
+
</code>
  
Upon registration, your account will be suspended for verification. This is due to FTC and FCC regulations regarding automated phone calls. At all times, phone calls sent from CDYNE Phone Notify! API must be in accordance with applicable federal and state laws, rules and regulations.<br><br>
+
=='''NotifyMultiplePhoneAdvanced'''==
 
+
<code type = csharp>
You may call 1-800-984-3710 to expedite the verification process over the phone.<br><br>
+
namespace phnotify
 
+
{
=== Pricing ===
+
    class Program
 
+
    {
 
+
        static void Main(string[] args)
There is a monthly licensing fee of $9.99 for Phone Notify! API. Each outgoing and incoming message is charged as a transaction and will be billed according to monthly volume:<br><br>
+
        {
 
+
            pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
* Zero to 1,000 transactions per month cost 9 cents per transaction
+
            pnweb.AdvancedNotifyRequest anr = new pnweb.AdvancedNotifyRequest();
* 1,001 to 3,000 transactions per month cost 8.5 cents per transaction
+
            anr.CallerIDName = "Test Caller ID";
* 3,001 to 10,000 transactions per month cost 8 cents per transaction
+
            anr.CallerIDNumber = "15555555555";
* 310,001 to 50,000 transactions per month cost 7.5 cents per transaction
+
            anr.PhoneNumberToDial = "15555555555; 15555555555; 15555555555";
* 50,001 to UNLIMITED transactions per month cost 7 cents per transaction
+
            anr.TextToSay = "Hello, this is a test.";
* ''Please [https://secure.cdyne.com/company/contact.aspx contact] us for high-volume discounts''<br><br>
+
            anr.LicenseKey = "00000000-0000-0000-0000-000000000000";
 
+
            anr.VoiceID = 0;
[http://www.cdyne.com/downloads/phonerates_international.xls International Pricing] - Calls outside of the U.S and Canada incur extra charges based on carrier, as seen in this Excel doc.
+
            anr.TryCount = 1;
 
+
            anr.NextTryInSeconds = 3600;
[[Transaction Billing]] -
+
            anr.UTCScheduledDateTime = DateTime.UtcNow;
Detailed description on how transactions are incurred per phone call.
+
            pnweb.NotifyReturn response = pn.NotifyPhoneAdvanced(anr);
 
+
        }
You can use this [http://www.cdyne.com/products/pricing.aspx?PGID=16B68F7E-6F2A-4CF8-9152-38DA54DE5BDF online calculator] to estimate your monthly CDYNE Web Service usage.<br><br>
+
    }
 
+
}
Pricing for all CDYNE Web Services is based off a set monthly maintenance fee and a per-transaction fee. CDYNE does not require a contract and there are absolutely no start-up or cancellation fees. CDYNE services are post-pay. Your credit card will not be charged until one month from sign-up date and will be billed monthly thereafter unless you deactivate or cancel services. Net 30 billing is available upon application approval.<br><br>
+
</code>
 
+
<!--
=== General Technical Information ===
+
=='''GetResponseCodes'''==
----
+
=='''GetQueueIDStatus'''==
==== Technical Specs ====
+
=='''GetMultipleQueueIDStatus'''==
*[[Phone Notify! Field Descriptions]] - This will list the Field Descriptions for Phone Notify! Commands.<br>
+
=='''GetQueueIDStatusWithAdvancedInfo'''==
*[[Queue ID Status Codes]] - List of possible call results.
+
=='''CancelNotify'''==
 
+
=='''GetSoundFile'''==
==== Preferred Phone Number Format (USA/Canada) ====
+
=='''GetSoundFileInMP3'''==
+
=='''GetSoundFileURL'''==
 
+
=='''GetSoundFileInUlaw'''==
* 1 + NPA + NXX + XXXX
+
=='''GetTTSInMP3'''==
* 1 + (Area Code) + Number <br><br>
+
=='''GetTTSInUlaw'''==
 
+
=='''RemoveSoundFile'''==
Example
+
=='''ReturnSoundFileIDs'''==
* (1 + 757 + 544 + 9510) = 17575449510
+
=='''LM_AddNewList'''==
 
+
=='''LM_AddListMember'''==
==== Preferred Phone Number Format (International) ====
+
=='''LM_DeleteList'''==
+
=='''GetIncomingCallScript'''==
 
+
=='''SetIncomingCallScript'''==
* 0 + 11 + Country Code + Phone number<br><br>
+
=='''LicenseKeyVariableSave'''==
 
+
=='''LicenseKeyVariableLoad'''==
CDYNE Phone Notify! API coverage is worldwide. View CDYNE [http://www.cdyne.com/downloads/phonerates_international.xls International coverage Excel Spreadsheet].<br>
+
=='''ScriptSave'''==
 
+
=='''ScriptList'''==
Calls outside of the U.S and Canada incur extra charges based on carrier
+
=='''ScriptLoad'''==
 
+
=='''ScriptDelete'''==
==== IP Ranges ====
+
=='''GetVersion'''==
 
+
-->
4.59.146.64-128 and 4.26.64.64-128
 
 
 
==== Reverse Notify ====
 
You can now use '''1-866-665-4386''' as your Caller ID and the system will allow "Reverse Notifications".  This will allow users who missed a call to ring back this number and get the last message they missed.  Keep in mind that this doesn't work for Phone Notify! demos; also keep in mind that this counts as 1 transaction.  You must have a license key to use Reverse Notify (transferring does not currently work with this feature.  We do plan on offering it in the near future).
 
 
 
Benefits:
 
* Enable your clients to listen to something they might have missed in the original notification.
 
* Inform the type of person who just calls back and never checks voicemail. (Great for collection efforts)
 
* Increase promotion ability and revenue for resellers of CDYNE Phone Notify!.
 
 
 
==== Incoming Calls / Phone Numbers ====
 
CDYNE Phone Notify! also supports incoming call scripts.  Please [http://www.cdyne.com/company/contact.aspx send us a request] or call (1-800-984-3710) to get incoming phone numbers that run CDYNE Call Scripts.  We provide toll-free and local numbers only by request and it takes approximately 1-3 business days.
 
 
 
[http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?op=SetIncomingCallScript Operation used to set Incoming Call Script]
 
 
 
'''Incoming Phone Number Pricing:'''
 
CDYNE charges a $1 maintenance fee per number per month for each number set up. All incoming numbers are subject to the same per transaction pricing as outbound calls.
 
 
 
Beta '''Incoming Number Operation(s)'''<br>[http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?op=GetAvailableAreaCodes Get Available Area Codes] List all area codes available to claim from the CDYNE database of available phone numbers.<br>[http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?op=GetAvailableIncomingNumbers Get Available Incoming Numbers] List phone numbers available to claim from CDYNE.<br>[http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?op=AssignIncomingNumber Assign an Incoming Phone Number] Assign an available phone number to a license key. This will automatically charge your account $1 per month per phone number set up.
 
 
 
==== '''Security''' ====
 
 
 
CDYNE does offer [https://ws.cdyne.com/NotifyWS/PhoneNotify.asmx Phone Notify! API HTTPS URLs] for added security. <br><br>
 
 
 
CDYNE currently maintains 3 major server farms, bringing added redundancy to our networks and additional capacity. CDYNE's data centers are engineered with multiple levels of security, uninterruptible power supplies (UPS), redundant HVAC systems, and fire suppression, as well as 24 X 7 monitoring and management. They are protected by 24 hour surveillance with a HID security badge and biometric hand scanners. All server racks have locks on them. CDYNE never mines or sell information that crosses our servers or systems.
 
 
 
==== '''100% SLA''' ====
 
 
 
Because availability is important for your mission-critical environment, CDYNE's [http://www.cdyne.com/company/CDYNEServiceLevelAgreement09.pdf Service Level Agreement (SLA)] is designed to protect our clients against unscheduled outages. As the leader in the Web Services industry, CDYNE is the only provider with such an uncompromising SLA, guaranteeing zero downtime of the services you rely on. The SLA provides unsurpassed levels of availability with correspondingly aggressive penalties for failure to comply with the SLA. This 100% uptime assurance is a direct result of CDYNE's relentless pursuit of service excellence.
 
 
 
=='''Phone Notify! Code Samples'''==
 
 
 
*[[CSharp | C# ]]
 
*[[VB.net | VB ]]
 
*[[VBScript | VB Script]]
 
*[[PHP5 | PHP5]]
 
*[[PHP | PHP]]
 
*[[Flash | Flash]]
 
*[[JavaScript]]
 
*[[ASP]]
 
*[[Perl]]
 
*[[FileMaker]]
 
*[[URL | Rest]]
 
 
 
=== Download Original Phone Notify! Web Service Code Examples ===
 
 
 
== Pricing And Licensing ==
 
 
 
== Tutorials, Demos and Applications ==
 
 
 
''' Easy to use 'Phone Notify!' Website examples '''
 
 
 
* [http://cdynenotify.com CDYNENotify.com] - Send mass notifications using this web application. CdyneNotify.com utilizes the CDYNE Phone Notify! Web Service to create managed lists by inputting and importing, create a message by voice prompt or by text-to-speech. Send mass phone calls immediately or schedule them. Real-time reports include machine vs. human answering, duration of call, digits pressed, and answered/unanswered calls. Use your CDYNE login/pw for to access this site.
 
 
 
 
 
*[http://zone.ni.com/devzone/cda/tut/p/id/4728 LabVIEW] - National Instruments LabVIEW Phone Notify tutorial.
 
*[http://wiki.cdyne.com/code/php/phonenotify_source.zip PHP]<br>
 
*[http://wiki.cdyne.com/code/asp/phonenotify/notifybasic_source.zip ASP]<br>
 
*[http://wiki.cdyne.com/code/asp.net/phonenotify/NotifyASPXExample.zip .NET VB]<br>
 
*[http://wiki.cdyne.com/code/cfm/phonenotify/notify.zip CFM]<br>
 
*[http://wiki.cdyne.com/code/flash/phonenotify/phonenotifybasic.zip FLASH]<br>
 
*[http://wiki.cdyne.com/code/jsp/NotifyPhoneBasic/notify_source.zip JSP]<br>
 
 
 
''' Phone Notify! Text to Speech Gadgets and Widgets '''
 
<nowiki>***</nowiki>'''IMPORTANT'''<nowiki>***</nowiki>  You will need a license key to use these.
 
*[[Phone Notify! Vista Sidebar]] - Windows Vista
 
*[[Phone Notify! Google Gadget]] - Windows XP
 
*[[Phone Notify! Konfabulator (Yahoo) Widget]] - Windows XP
 
*[[Phone Notify! Opera Widget]] - Windows XP
 
*[[Phone Notify! OS X Widget]] - OS X
 
 
 
== Code Samples ==
 
 
 
*[[CSharp | C# ]]
 
*[[VB.net | VB ]]
 
*[[VBScript | VB Script]]
 
*[[PHP5 | PHP5]]
 
*[[PHP | PHP]]
 
*[[Flash | Flash]]
 
*[[JavaScript]]
 
*[[ASP]]
 
*[[Perl]]
 
*[[FileMaker]]
 
*[[URL | Rest]]
 
 
 
== Links ==
 

Revision as of 17:55, 25 October 2011

getVoices

namespace phnotify {

   class Program
   {
       static void Main(string[] args)
       {
           pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
           Voice[] voices = pn.getVoices();
           foreach (Voice item in voices)
           {
               Console.WriteLine(item.VoiceSummary.ToString());
           }
           Console.ReadKey(true);
       }
   }

}

UploadSoundFile

RecordSoundViaPhoneCall

NotifyPhoneEnglishBasic

namespace phnotify {

   class Program
   {
       static void Main(string[] args)
       {
           pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
           pnweb.NotifyReturn nr = pn.NotifyPhoneEnglishBasic("15555555555",
           "Hello, this is a test.","00000000-0000-0000-0000-000000000000");
       }
   }

}

NotifyPhoneBasic

namespace phnotify {

   class Program
   {
       static void Main(string[] args)
       {
           pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
           pnweb.NotifyReturn nr = pn.NotifyPhoneBasic("15555555555",
           "Hello, this is a test.", "1555555555", "Test Caller ID", "0", "0000000-0000-0000-0000-000000000000");
       }
   }

}

NotifyPhoneBasicWithTransfer

namespace phnotify {

   class Program
   {
       static void Main(string[] args)
       {
           pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
           pnweb.NotifyReturn nr = pn.NotifyPhoneBasicWithTransfer("15555555555","15555555555",
           "Hello, this is a test. Press 0 to be transfered to the TransferNumber",
           "15555555555", "Test Caller ID", "0", "00000000-0000-0000-0000-000000000000");
       }
   }

}

NotifyPhoneBasicWithTryCount

namespace phnotify {

   class Program
   {
       static void Main(string[] args)
       {
           pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
           pnweb.NotifyReturn nr = pn.NotifyPhoneBasicWithTryCount(3,"15555555555",
           "Hello, this is a test.", "1555555555", "Test Caller ID", "0", "00000000-0000-0000-0000-000000000000");
       }
   }

}

NotifyMultiplePhoneBasic

namespace phnotify {

   class Program
   {
       static void Main(string[] args)
       {
           pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
           pnweb.NotifyReturn[] nr = pn.NotifyMultiplePhoneBasic("15555555555; 15555555555",
           "Hello, This is a test.", "15555555555", "Test Caller ID", "0", "00000000-0000-0000-0000-000000000000");
       }
   }

}

NotifyPhoneAdvanced

namespace phnotify {

   class Program
   {
       static void Main(string[] args)
       {
           pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
           pnweb.AdvancedNotifyRequest anr = new pnweb.AdvancedNotifyRequest();
           anr.CallerIDName = "Test Caller ID";
           anr.CallerIDNumber = "15555555555";
           anr.PhoneNumberToDial = "15555555555";
           anr.TextToSay = "Hello, this is a test.";
           anr.LicenseKey = "00000000-0000-0000-0000-000000000000";
           anr.VoiceID = 0;
           anr.TryCount = 1;
           anr.NextTryInSeconds = 3600;
           anr.UTCScheduledDateTime = DateTime.UtcNow;
           pnweb.NotifyReturn response = pn.NotifyPhoneAdvanced(anr);
       }
   }

}

NotifyMultiplePhoneAdvanced

namespace phnotify {

   class Program
   {
       static void Main(string[] args)
       {
           pnweb.PhoneNotify pn = new pnweb.PhoneNotify();
           pnweb.AdvancedNotifyRequest anr = new pnweb.AdvancedNotifyRequest();
           anr.CallerIDName = "Test Caller ID";
           anr.CallerIDNumber = "15555555555";
           anr.PhoneNumberToDial = "15555555555; 15555555555; 15555555555";
           anr.TextToSay = "Hello, this is a test.";
           anr.LicenseKey = "00000000-0000-0000-0000-000000000000";
           anr.VoiceID = 0;
           anr.TryCount = 1;
           anr.NextTryInSeconds = 3600;
           anr.UTCScheduledDateTime = DateTime.UtcNow;
           pnweb.NotifyReturn response = pn.NotifyPhoneAdvanced(anr);
       }
   }

}