angel.com
Home > Resource Center > Newsletter > July 2006

Newsletter Newsletter

An Illustrative Guide to the Angel.com Outbound API

Recently, Angel.com released its “Outbound” functionality, which allows customers to create and deploy an assortment of outbound calling campaigns. The Outbound API, a web service component hosted by Angel.com, is available to all Enterprise Plan Subscribers of Angel.com and is fully compatible with Angel.com’s Site Builder.

This article covers the Outbound API at a high level. For a complete and in-depth overview of the Outbound API, please see our Outbound API Index on our IVR Wiki.

In order to take full advantage of the Outbound API, it is important to understand its uses, key features and functionality.

Some uses of outbound:

  • Reminders: Remind patients to take drugs, meeting reminders
  • Alerts: Flight delays, meeting delays, cancellations
  • Survey: Satisfaction surveys, political surveys.
  • Information: Provide information about product or meeting minutes.

Key Features:
The Outbound API offers a host of features such as Device Detection, Security and Outbound Caller ID. These features are discussed in detail in the following sections.

Using the Outbound API
The Outbound API can be used with any existing Voice Site. Once Angel enables Outbound for an account, Outbound appears as an option in the main menu in the Voice Sites:

Fig 1

Once Outbound is enabled by clicking on the Checkbox, the screen below appears:

Fig 2

Device Detection:
The Outbound API is capable of detecting the following response type for each call:

  • Answered by Human
  • Answered by Voicemail
  • Line Busy
  • No Answer
  • Failed
  • Time Out

The system can be set to either connect or disconnect the call if answered by Human or Voicemail/Answering machine. Once connected, the call can be treated as a normal inbound call into the IVR system.

Another security feature is the IP address filtering. Access to place calls using the API can be limited to IP addresses entered in the field. Any attempts to place a call, get status of a call and cancel a call already queued from IP address other than the specified will result in an error.

Scheduling can be used to not place calls outside the time window specified in the settings, which adds another layer of security that can be controlled by the customer.

Sample Implementation the Web Service
The API is a Web Service that needs to be consumed, called a Client. This client has to be developed by the customer depending on the Business rules. The Web Service can be examined using the SOAPUI tool. The tool can be run from the site directly or can also be downloaded.

  1. Right click on Projects and select new WSDL Project

    Fig 3
  2. Enter a project name
  3. Save it on your local hard-drive
  4. Right click on the new project created and select “Add WSDL from URL”

    Fig 4
  5. Enter this URL in the textbox and click ok: http://www.angel.com/outbound/wsdl/OutboundCallService.wsdl
  6. This will load the WSDL in the SOAP UI tool. Using the Web Service, a call can be placed, the status of the call can be retrieved and a call currently queued in the system can be canceled.
  7. The first step is to Login. Expand Login and double click on Request1. Replace the “?” with the email address and PIN of your accounts in the corresponding fields and click on “Submit”. This will return a token string along with the createdTime and expirationTime. Each Token is valid for 2 hours and is required by any subsequent call of the Web Service. If the token has expired, a new one needs to be generated.

    Fig 5

    If the login information sent is invalid, an error message is returned.

    Fig 7b
  8. Using the placeCall method, a call can be placed to any 10 digit phone number. This has to be tied with the Voice Site number with Outbound enabled. A valid token from the login call and other information in the corresponding fields should be filled out. Once this information is submitted, a unique callGUID is returned along with the corresponding phone number. This callGUID is required to get the status of the call and cancel the call and cannot be retrieved if it is lost.

    Fig 8a
  9. Using getStatus, the status of a placed call can be retrieved. A valid token and callGUID is required for this. The getStatus returns information about the call. If the call is currently queued in the Angel system, it will return “Queued” in the status.

    Fig 9
  10. A call currently queued in the system can also be cancelled by using cancelcall. A valid token and callGUID are required for this. If a call has already been made by the system, the cancelCall request will return “Failed” in the output.

    Fig 10

Every customer who wants to use the Outbound feature needs to build their own client similar to the SOAP UI that implements the Web Service using the above SOAP UI as an example. The client can be written in any programming language such as Java, .Net, PHP, etc. that is capable of consuming a Web Service.

How to get an Outbound account:
Current subscribers of Angel.com need to contact their sales representative to turn on this feature for their account. New customers can sign up for a free trial, but will have to contact the Sales department at Angel by dialing 1-888-MyAngel to have Outbound activated for their account.

 

1,600+ Customers, 20+ Industries, 10,000+ Telephony Solutions