PDA

View Full Version : Alpha Feature: API Access



VOIPoTim
06-03-2009, 01:19 PM
We've now opened up simple API access in an Alpha stage.

This allows very advanced users to pass commands to the VOIPo system to control various features on their account just like the Control By SMS feature. You can use this to write your own scripts and programs to interact with us.

Right now, we added the basic commands and it's in a simple format. We'd like to get some feedback on it and if it's a popular feature we'll likely improve it so that it's a full SOAP based API. With this version, we just wanted to give you guys that were asking for it something basic to work with.

We can pretty easily add any commands to it and would like some feedback on what you'd like to see added to it.

API Activation

To use the service, simply go to BETA - API in vPanel. There you just need to Enable it and set an API password. We recommend that this be different than your account password.

Once you've done this, you can begin passing commands.

Do Not Disturb (DND)

Action: dnd

Arguments: vmail, busy, off

Example: api.voipo.com/?username=9491230000&password=test&action=dnd&arguments[]=busy

Failover

Action: fail

Arguments: 10DigitNumber, vmail

Example: api.voipo.com/?username=9491230000&password=test&action=fail&arguments[]=busy

Call Forwarding

Action: forward

Arguments: 10DigitNumber, off

Example: api.voipo.com/?username=9491230000&password=test&action=fwd&arguments[]=off

VOIPoTim
06-03-2009, 01:34 PM
The forum software keeps manipulating the example URLs so I had to take off the http:// on the front of them so it wouldn't think they were a link and truncate them.

chpalmer
06-03-2009, 02:44 PM
Just testing something...



http://api.voipo.com/?username=9491230000&password=test&action=fwd&arguments[]=off


Yep- works... Just use code tags... :D

VOIPoTim
06-03-2009, 02:48 PM
Just testing something...



http://api.voipo.com/?username=9491230000&password=test&action=fwd&arguments[]=off
Yep- works... Just use code tags... :D

Hmmm. I swear that wasn't working earlier. :)

Xponder1
06-03-2009, 05:32 PM
Sounds good to me.

bubbanc
06-03-2009, 07:16 PM
Nice. Thanks for this! The cronjobs are setup. Take that dad-in-law!

VOIPoJustin
06-04-2009, 12:31 PM
Take that dad-in-law!

lol! Nice...

voipoh
06-04-2009, 09:04 PM
The geek factor is impressive. But I wouldn't be surprised if I am in the minority by saying, I would have preferred to see a more flexible, updated 'Forwarding' feature rather than another way to activate a Basic Forwarding feature with limited options. Ma Bell Forwarding from the seventies had greater flexibility.

mrkarron
06-05-2009, 10:15 AM
The geek factor is impressive. But I wouldn't be surprised if I am in the minority by saying, I would have preferred to see a more flexible, updated 'Forwarding' feature rather than another way to activate a Basic Forwarding feature with limited options. Ma Bell Forwarding from the seventies had greater flexibility.

As I stated on other threads, I feel a basic no answer or a busy call forward are options that would be very useful.

VOIPoTim
06-08-2009, 12:58 AM
Is anyone using this yet?

If you are, you probably have a basic idea of how it works (manipulating database entries), so you have a basic idea of what's possible.

What features would you guys want to see added to it?

bwarden
06-08-2009, 11:52 AM
Is anyone using this yet?

Yes, I'm using it to set DND automatically at certain times of day. That one's huge for me. I don't really see any other features that would be more useful to me in the API than just via vPanel.

Xponder1
06-09-2009, 01:31 PM
I think I am going to write a little program to take advantage of this in Windows. Would be easier for the wife then logging in Vpanel.

Perhaps when I get the basics for it down I may have some suggestions for additional features. This is a really cool idea. I hope you do not give up on it due to lack of interest because its not something most people can take advantage of right away. Most have no idea how to use it.

Might be neat if you could use it to make a call which would then ring the ATA and when answered completes the call. Like the Vonage click to call software for example.

I found this site with some examples if anyone has a interest in it.
https://secure.click2callu.com/

JimDog
06-09-2009, 02:17 PM
What features would you guys want to see added to it?I could see several uses for Voicemail:

Enable/disable
Return number of unread messages
Return message details (Message ID, Caller Name & Number, Date/Time, Duration, etc.)
File/delete messages using Message ID above

I would think the first two are pretty basic and the last two a little more complicated. I could see this tying into something cool like a Firefox voice mail plug in or something along those lines...

ropeguru
06-11-2009, 10:00 AM
I second this for the VM interaction. Would be great to integrate with my home web page so I can get a quick idea of what my messages are without having to login to the vPanel.

Xponder1
06-12-2009, 04:49 PM
How about a option for simul ring.

bubbanc
06-12-2009, 06:14 PM
What about a new option for DND called "status" which would report if it was enabled, and if so, which type of DND is enabled. This would be handy for a web page I want to put together for my wife that'll tell her what the status is and give her buttons to enable/disable from her iPhone so she can do so while dealing with our little one.

VOIPoBrandon
06-12-2009, 08:24 PM
What about a new option for DND called "status" which would report if it was enabled, and if so, which type of DND is enabled. This would be handy for a web page I want to put together for my wife that'll tell her what the status is and give her buttons to enable/disable from her iPhone so she can do so while dealing with our little one.



http://api.voipo.com/?username=USER&password=PASS&action=dnd&arguments[]=status

There you go, enjoy!
________
Ferrari f2007 specifications (http://www.ferrari-wiki.com/wiki/Ferrari_F2007)

bubbanc
06-13-2009, 12:17 PM
http://api.voipo.com/?username=USER&password=PASS&action=dnd&arguments[]=status

There you go, enjoy!

Oh sweet. Works like a charm!

Now if we could have an api call that would delete all messages from our voicemail (since we *usually* listen to them via email).

Perhaps also a "last X callers" where X is a number you could send to the api. The data returned should be customer caller ID aware.

Xponder1
06-14-2009, 07:22 PM
How about a message that says "Success!" on the API pages if successful for confirmation. If not I can work around it. Just seems to make since.

CrownSeven
06-14-2009, 10:19 PM
I'm just getting started with iPhone development myself. Would there be any interest in creating an iPhone app that would interact with the existing services/future web services to allow you to control these settings quickly and easily through your iPhone?

Since I'd be using this as a learning exercise for myself, I'd be happy to put it up in the App Store as a free app.

And I agree with Xponder, a confirmation message for each service if it was successful would be nice. :)

Xponder1
06-15-2009, 12:15 AM
I'm just getting started with iPhone development myself. Would there be any interest in creating an iPhone app that would interact with the existing services/future web services to allow you to control these settings quickly and easily through your iPhone?

Since I'd be using this as a learning exercise for myself, I'd be happy to put it up in the App Store as a free app.

And I agree with Xponder, a confirmation message for each service if it was successful would be nice. :)

I have a fully working C# console application I made that will let the user control all of the features available when I finish. It takes the users phone number and password and goes from there. So far its fully working for DND and all its related options. Just have to finish coding the other commands. It would be great if it returned "Success!" so I do not have to code that too. :p
It does already tell you if your username/pass are incorrect which is nice.

It has been fun creating it and I have really enjoyed it.

Will have to think of more ideas for the API when I finish it.

CrownSeven
06-15-2009, 12:49 AM
I have a fully working C# console application I made that will let the user control all of the features available when I finish. It takes the users phone number and password and goes from there. So far its fully working for DND and all its related options. Just have to finish coding the other commands. It would be great if it returned "Success!" so I do not have to code that too. :p
It does already tell you if your username/pass are incorrect which is nice.

It has been fun creating it and I have really enjoyed it.

Will have to think of more ideas for the API when I finish it.

Nice. And of course I've got my iPhone app doing the same thing now so :P:P

Although I can tell you, as a current C# man, iPhone is a pain.

When you're done polishing it up, I'd love to see it.

fisamo
06-15-2009, 07:36 AM
I could see several uses for Voicemail:

Enable/disable
Return number of unread messages
Return message details (Message ID, Caller Name & Number, Date/Time, Duration, etc.)
File/delete messages using Message ID above

I would think the first two are pretty basic and the last two a little more complicated. I could see this tying into something cool like a Firefox voice mail plug in or something along those lines...
I would also add my support for Voicemail commands via API. Is there any way Voicemail queries for sub-voicemail boxes (e.g. for virtual numbers) could be supported?

I'd be interested in seeing a mechanism for manipulating the Contacts database for a user account, as well. Add/delete/display/rename? Import and export would be cool, too, but that could probably be done via the add and display commands on the client side...

usa2k
06-15-2009, 09:10 AM
Return message details (Message ID, Caller Name & Number, Date/Time, Duration, etc.)AKA Message Envelope

This is missing now when you dial in. Email includes it though.
It would be great if all features were available with each access method.

Xponder1
06-15-2009, 10:12 AM
New suggestion. Currently if you enter a invalid command it says "Your not authorized to do this". How about making it say "Invalid command!".

Xponder1
06-15-2009, 12:36 PM
Finished work on the .net console program I made in C# to use the API. It uses all currently available API commands.
Do Not Disturb (DND)
vmail, busy, off, status

Failover
10DigitNumber, vmail

Call Forwarding
10DigitNumber, off

If anyone wants to try it you can download it here (http://www.familysite.ws/VOIPo_Remote/VOIPo_Remote.zip).

This requires .net to be installed. You will need to login your Vpanel, go to the beta tab, and set your API password to something you can remember.

Current version is 1.0 I updated it so it had a icon besides the default and edited dnd status to make it display cleaner.

Until I get VOIPo to add a response on a success it will just go back to the main menu if its successful. If there is a error the error will display example (Invalid Username/Password ) indicates your phone number or password is incorrect (type logout and try again). If you get this error make sure you set your Beta API password in Vpanel.

Any questions send me a private message on the forums.

For legal reasons I am adding the disclosure that if you use this program you do so at your own risk. :)

UPDATE- uploaded new version with a debug option (the debug command toggles on/off). If you use the command debug it will show you what it is going to send the server before you send it (so you can see if your phone number, password, ect are correct).

Have not had any complaints so far but I would like to go ahead and ask that if you have a problem with this program or a question about it that you do not contact support. Just send me a private message.
Thanks.

usa2k
06-15-2009, 02:14 PM
Very cool!

Xponder1
06-15-2009, 02:18 PM
Very cool!

My wife likes it. Takes just a few seconds to do anything in it.

Xponder1
06-15-2009, 03:22 PM
Could add a option to clear message waiting on voicemail.

Xponder1
06-17-2009, 02:42 PM
I thought I would clean this thread up and post the current suggestions all in one post.

1.
I feel a basic no answer or a busy call forward are options that would be very useful.

2.
I could see several uses for Voicemail:

Enable/disable
Return number of unread messages
Return message details (Message ID, Caller Name & Number, Date/Time, Duration, etc.)
File/delete messages using Message ID above

I would think the first two are pretty basic and the last two a little more complicated. I could see this tying into something cool like a Firefox voice mail plug in or something along those lines...
and

I second this for the VM interaction. Would be great to integrate with my home web page so I can get a quick idea of what my messages are without having to login to the vPanel.
and

Could add a option to clear message waiting on voicemail.
and

Now if we could have an api call that would delete all messages from our voicemail (since we *usually* listen to them via email).
Perhaps also a "last X callers" where X is a number you could send to the api. The data returned should be customer caller ID aware.
and

I would also add my support for Voicemail commands via API. Is there any way Voicemail queries for sub-voicemail boxes (e.g. for virtual numbers) could be supported?

I'd be interested in seeing a mechanism for manipulating the Contacts database for a user account, as well. Add/delete/display/rename? Import and export would be cool, too, but that could probably be done via the add and display commands on the client side...

3.
How about a option for simul ring.

4.
What about a new option for DND called "status" which would report if it was enabled, and if so, which type of DND is enabled. This would be handy for a web page I want to put together for my wife that'll tell her what the status is and give her buttons to enable/disable from her iPhone so she can do so while dealing with our little one.

This feature was implemented and I think it should be added to the first page :)



http://api.voipo.com/?username=USER&password=PASS&action=dnd&arguments[]=status
There you go, enjoy!

5.
How about a message that says "Success!" on the API pages if successful for confirmation.
and


And I agree with Xponder, a confirmation message for each service if it was successful would be nice. :)

6.

It would be great if all features were available with each access method.

7.
New suggestion. Currently if you enter a invalid command it says "Your not authorized to do this". How about making it say "Invalid command!".

fisamo
06-18-2009, 06:40 AM
I need to add a question: I noticed that the API is also available for Express accounts. Was that done in error, or are some commands available to Express users? (If so, which ones?) Once you integrate voicemail, it makes good sense to include the API. OTOH, with Express accounts, since one API password could control multiple different numbers (each of which have different routing instructions), that difference would need to be considered.

bubbanc
06-18-2009, 11:15 AM
Not that anyone cares, but this is what I threw together in 5 minutes to enable/disable DND from a webpage. There is no authentication, so don't give out your DND URL to people you dont trust :)

http://bubba.org/tmp/dnd.php.txt
http://bubba.org/tmp/curl.class.txt

Use at your own risk.

Xponder1
06-18-2009, 12:48 PM
Not that anyone cares, but this is what I threw together in 5 minutes to enable/disable DND from a webpage. There is no authentication, so don't give out your DND URL to people you dont trust :)

http://bubba.org/tmp/dnd.php.txt
http://bubba.org/tmp/curl.class.txt

Use at your own risk.

Could always password protect the directory its in.

orum
06-22-2009, 07:17 AM
This is great news. I think I was one of the people who asked for it, and unfortunately, haven't been on the forums in a while to see this.

I would like a way to add/delete an incoming call route. I have my route that I add manually to route "restricted" to voicemail to keep the telemarketers away. My kids doctors office blocks their caller ID, so I have to go in and delete it when I am waiting on a callback, and re-add it later.

Also, I would be interested in this being a SOAP service with authentication. Becuase the password is in the URL, I believe that this can be gathered from proxy server logs, if you are using a web proxy to get to voipo.

Dan

mrkarron
09-11-2009, 01:15 PM
This is my first try at the api and I am having a problem..

http://api.voipo.com/?username=myphonenumber&password=mypassword&action=dnd&arguments[]=status

returns a 0. Commands such as vmail or busy have no effect. Yes, I have activated the api in vpanel. Is there a problem or am I doing something wrong?

Ron

VOIPoJustin
09-11-2009, 01:58 PM
This is my first try at the api and I am having a problem..


Send me a private message with the exact string details you're using, wrapped in
code tags and I'll take a look.

caseydoug
09-11-2009, 02:09 PM
Returning a 0 on as status inquiry simply means DND is set to off. The other commands do not look like they have an effect (page comes back blank), but if you check VPanel, the setting is changed. You may need to reload the page.

Also, I was getting a password error until I remembered that the password needs to be the one I set in VPanel/Beta/API, not the password for getting into VPanel.

mrkarron
09-11-2009, 05:42 PM
Send me a private message with the exact string details you're using, wrapped in
code tags and I'll take a look.
ok, using a different computer (at home) it works. Earlier I was trying to set it at work. I wonder since the work computers still use IE6 if that was the problem.

dlangley
02-27-2010, 11:58 PM
Would it be possible to add something to the API to retreave the last x number of calls from the call log? I'm more interested in received calls than sent ones but I imagine you could do both for those that want it.

holmes4
02-28-2010, 08:41 AM
I'd be reluctant to use this with the password as a URL parameter. I know that makes it easy to use, but URLs are sent in the clear and logged many places. Better would be to have a https URL and POST parameters, perhaps an XML form for extensibility. If you decide to move forward with this, please take this into account.

uhf
03-01-2010, 01:31 PM
Agree on need for voice mail info and SimulRing.

ellinj
03-06-2010, 11:24 PM
Hi,

I am not seeing an option to enable API under the beta section in my panel. What am I missing?

uhf
03-07-2010, 03:17 PM
Hi,

I am not seeing an option to enable API under the beta section in my panel. What am I missing?

I couldn't find it either, but I guessed the URL. Try going here after logging into vpanel:
https://secure.voipo.com/beta/api

kmheid
04-26-2010, 08:45 PM
I couldn't find it either, but I guessed the URL. Try going here after logging into vpanel:
https://secure.voipo.com/beta/api

Good call uhf! I'm guessing junior members don't have access to advanced features. I wonder what else we're missing out on? :eek:

normduquette
07-05-2010, 07:27 AM
Can status be added to failover and call forwarding???

It is available on DND, can't figure why it's not on the others!
------------------------------------------------------
example1 - forwarding:
&action=fwd&arguments[0]=status

would return 0 if not forwarded
would return xxx-xxx-xxxx (10 digit phone number) if forwarded
--------------------------------------------------------
example2 - failover:
&action=fail&arguments[0]=status

would return 1 if failover set to vmail
would return 2 if failover set to busy signal
would return xxx-xxx-xxxx (10 digit phone number) if failover set to forward

normduquette
07-07-2010, 07:11 PM
Here is an interesting use of this api to forward your phone to wherever you are.

I typically use three browsers, home, mobile, and work.

I set each of my browsers default homepage to a simple php script on my server. The server reads the url to determine where i am, sets the Voipo forward, then finally redirects to my real homepage. All in a blink!

To identify where i am, I've added arguments at the end of the url. I also have basic security but removed it to simplify the example.

Example:
Home: fakeurl.com/voipo.php?loc=home
Work: fakeurl.com/voipo.php?loc=work
Mobile: fakeurl.com/voipo.php?loc=mobi

When I leave for work, I just open my mobile browser (which loads my custom page) and my Voipo phone line is forwarded to my cell phone automagically. When I get to work, same thing, open my work browser and the phones are forwarded to my desk phone, When I get home and open the browser there, it disables forwarding.

If I step out for any reason, opening the mobile browser instantly forwards to my cell.

sommerfeld
11-30-2010, 02:18 PM
Might be neat if you could use it to make a call which would then ring the ATA and when answered completes the call. Like the Vonage click to call software for example.
I'd like to see something like that as well. (it would be smoother if you could pick up the phone first then dial via the computer vs. having the phone ring on your end).

codatory
12-20-2010, 10:01 AM
I hammered out a quick Shell Script (link (http://dl.dropbox.com/u/156289/voipctrl.sh)), and it does pretty much everything I'd like but I'd love an API call for starting a phone call. If that feature was added I'd be tempted to write a Ruby Cocoa app to handle managing my phone config :-)

MarkTomlinson
12-20-2010, 08:46 PM
Before this goes Beta, I'd like to see the username and password protected. This can be easily accomplished by (1) allowing the API to work over HTTPS (currently it throws the error "Domain does not match license key file domain") and (2) send the parameters as postdata rather than URL parameters.

Sure it would be a little harder to code for. But the username and password would not be sent clear text through local proxys and routers and over the Internet. Nor would every username and password appear in VOIPo's log files.

DA_MAN
12-26-2010, 07:10 PM
Well, I'd be all about a real API implementation.

I am also all about working with companies and individuals on ALPHA's, BETA's or RC's - it is for EVERYONE's benefit; I've done it for many years.

Sending UN and PW data (and the arguments themselves) via a URL is such a security issue to the customer base, I am shocked at who suggested, posted and implemented it.

What you have put in place here with little effort would allow a person to break every single customer's service that has enabled the API feature. Does that sound intelligent? ---> I surely do not think so... (But what do I know? Only have 30 years at this. :confused: )

I could write a 100 pages here how this could be done differently and safely on VOIPo's system, but I would hope the folks at VOIPo (should) know this. If they do not, they need hire those that do.

I know, this sounds offensive, it is not meant that way; but, sit back and look at the exploit you have implemented with this API, done in a fashion that should have been week one in db, server, C-Panel, V-Panel learning as a NO-NO-NO situation - (Hell, computers 101...) Plenty have repeatedly offered alternatives and there are a myriad of others out there, most just as easy or easier to set up on your servers at VOIPo as how it has been.

Let us all know when this is migrated away from passing our sensitive data via plain-text for all to see and tamper with, I will happily develop with the API at that juncture...

Happy New Year everyone and may you spend it among family, friends and loved ones.

Xponder1
12-29-2010, 10:21 PM
Well, I'd be all about a real API implementation.

I am also all about working with companies and individuals on ALPHA's, BETA's or RC's - it is for EVERYONE's benefit; I've done it for many years.

Sending UN and PW data (and the arguments themselves) via a URL is such a security issue to the customer base, I am shocked at who suggested, posted and implemented it.

What you have put in place here with little effort would allow a person to break every single customer's service that has enabled the API feature. Does that sound intelligent? ---> I surely do not think so... (But what do I know? Only have 30 years at this. :confused: )

I could write a 100 pages here how this could be done differently and safely on VOIPo's system, but I would hope the folks at VOIPo (should) know this. If they do not, they need hire those that do.

I know, this sounds offensive, it is not meant that way; but, sit back and look at the exploit you have implemented with this API, done in a fashion that should have been week one in db, server, C-Panel, V-Panel learning as a NO-NO-NO situation - (Hell, computers 101...) Plenty have repeatedly offered alternatives and there are a myriad of others out there, most just as easy or easier to set up on your servers at VOIPo as how it has been.

Let us all know when this is migrated away from passing our sensitive data via plain-text for all to see and tamper with, I will happily develop with the API at that juncture...

Happy New Year everyone and may you spend it among family, friends and loved ones.

I think this is a bit of a stretch. The only accounts at any risk are the ones who enable api and I dont think the api option is listed in vpanel anymore. I know last time I checked you could still get there if you know the url but 98% of customers probably do not even know it exists. It was a test and there is room for improvement. I am sure thats why its not considered beta.

MarkTomlinson
12-29-2010, 11:26 PM
I think this is a bit of a stretch. The only accounts at any risk are the ones who enable api and I dont think the api option is listed in vpanel anymore. I know last time I checked you could still get there if you know the url but 98% of customers probably do not even know it exists. It was a test and there is room for improvement. I am sure thats why its not considered beta.
It's a stretch if we were implying that everyone's account is at risk, but that's not what is being said. Anyone who uses the API as implemented, however, put's their account at risk by passing the user name and password in the URL.

rainsux
01-01-2011, 08:13 PM
> Anyone who uses the API as implemented, however, put's their account at
> risk by passing the user name and password in the URL

+1

CrownSeven
02-11-2011, 03:15 PM
Just wondering if there we're any plans to further improve the API, or introduce a new one (Web Services maybe?). I've jumped into Windows Phone 7 development, and would love to create a simple free app that integrates with VOIPo.

rjbourassa
02-12-2011, 11:59 AM
Hi folks,

Any chance of getting API access to upload, download, modify contact lists or individual contact entires?

A particular example of why this would be helpful would be where many folks may keep a lengthy directory in another system. Would be great to have a template which could be simply uploaded to Voipo to replace the existing contact list. More advanced access for individual entry modification would be icing on the cake.

Thanks for any consideration...
rjb