babblevoice API
The API is intended for developers who wish to develop client applications to extend the core functionality of babblevoice. This is the same API we develop our own Netvibes Gadgets (amongst other things).
The API feed is all delivered through a REST methodology found at https://www.babblevoice.com/api. Authentication is all done through OAuth and results are returned as JSON.
Oauth 2
This is now the supported method. We have decided not to automate the issuing of tokens as this process was overly complex. Most of our integrators' did not need this and it added additional complexity in the development process.
Users can now issue an Oauth2 token by logging into babblevoice, go to the User screen and select 'My Tokens'. Tokens can bee issued from here.
Once obtained, they can either be used in the URL as a GET query or in a HTTP Auth header. The prefered method is via the Auth header as this will not log security tokens in proxy servers and the like.
As a http header
Authorization: Bearer <my token>
As a Cookie. The token is issued via a cookie when a user logs in via the Authentication flow. If this cookie is maintained by the client our API will check for it here.
As a query token, this should be last resort as the authentication token could be logged in Proxy server logs or in other places.
https://www.babblevoice.com/api/cdr?access_token=<my token>
JSON
The default output from our API is JSON. Widely supported is especially suited to web development and Gadget development with Javascript. We know users using libraries with languages like Javascript, C++, C# and Delphi.
The API
The API is broken down into the following areas
Each area is appended to the api url, for example, the CDR API has the URL https://www.babblevoice.com/api/cdr. Each API may have its own further sub queries.
Presence API
The Presence API provides real time information to calls as they happen. Useful for building dashboard applications - or integrating with CRM applications.
BAAXML
BAAXML is our way to enable you to create advanced Auto attendants (in this case IVR). Baaxml contains more information.