Saturday, 9 April 2011

Write Phone Applications With Web APIs

Have you ever wanted to build a custom phone feature, like a patch-through or lead tracking application, but then gave up because you had no idea how to write a program that made a phone call? Thanks to a new breed of web services, APIs for making and receiving phone calls, any web developer can integrate phone calls into their applications.

For example, let's say that you wanted to track how many people called you back from message you left on their answer machines. With just a little bit of programming knowledge, you can provision a local phone number that forwards to your office's line. Every time someone calls the forwarding number, your application can enter the caller ID of the caller into a database, along with the time and date of the call. Then you will know which of your calls came from call-backs, and which from other sources.

Here's another example. Maybe you run a data center, and you want to notify your customers immediately if you ever have an outage. Sending an email isn't fast enough, especially on the weekend when people aren't at their desks. Using one of these APIs, you could create an application that, when your monitoring software detects a problem with your servers, automatically calls up your clients and plays a message alerting them that you're working to fix the problem.

Let's look at one more. Maybe you have a brilliant idea for a new kind of conference call where people can interact with each other by pressing buttons on their keypad. With just a few simple commands, you can write a basic version of your application that conferences people together and takes different actions depending on the buttons they press on their keypads.

The most popular web services APIs are Twilio, Tropo, and Ifbyphone.

If you aren't familiar with web services APIs, they're very simple to learn and use. Basically, your application interacts through simple HTTP requests, just like when you visit a web page. Information is transmitted through simple XML languages that are easy to read and understand. Combined with a rapid development environment like Ruby on Rails or Django, it's simple to build web applications that interact with phones. This is a huge improvement over the old way of doing things, where you'd have to negotiate a deal with a VoIP carrier, learn to program Asterisk, set up your own Asterisk server, and learn a bunch of specialized languages and protocols. Companies like Twilio, Tropo, and Ifbyphone have taken the complexity away from programming phone calls into your application.

The uses for these web services APIs are really only limited by your imagination. Try them out!

No comments:

Post a Comment