Applications

An Application in FreeClimb is just a set of configuration data and URLs that FreeClimb invokes to notify the app of an event or to retrieve instructions on how to behave in response to an event, such as when one of the phone numbers associated with the Application receives a Call.

Overview

Applications are useful for encapsulating configuration information that we need to distribute across multiple phone numbers. Any number of phone numbers can point to a single Application so that they share a common set of properties and URLs. This makes it possible to change the configuration of a large number of phone numbers by modifying a single Application instance. If we create an Application with its voiceUrl set to http://www.example.com/answer, we can assign that Application to all of our incoming phone numbers and FreeClimb will make a request to that URL whenever an inbound call arrives.

Likewise, when making outbound calls using the REST API, we can specify an applicationId to handle the outbound request and FreeClimb will make a request to the callConnectUrl of the Application. The callConnectUrl property is used instead of the voiceUrl property for outbound calls. The behavior of the callConnectUrl and voiceUrl are different because of the difference in ‘behavior’ when making an outbound call and answering an inbound call; the main difference being that an outbound call may not actually be connected (e.g. busy, no answer).

For incoming SMS messages, we can specify an smsUrl which FreeClimb will request when a number assigned to our Application receives an SMS message.

Resource properties

An Application resource is represented by the following properties:

PropertyTypeDescription
uristringThe URI for this resource, relative to /apiserver.
dateCreatedstring date-timeThe date that this account was created (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT).
dateUpdatedstring date-timeThe date that this account was last updated (GMT) in RFC 1123 format (e.g., Mon, 15 Jun 2009 20:45:30 GMT).
revisionintegerRevision count for the resource. This count is set to 1 on creation and is incremented every time it is updated.
applicationIdstringA string that uniquely identifies this Application resource.
accountIdstringID of the account that created this Application.
aliasstringA description for this Application, up to 64 characters long.
voiceUrlstringThe URL FreeClimb will request when a phone number assigned to this Application receives a Call. Used for inbound calls only.
voiceFallbackUrlstringThe URL that FreeClimb will request if it times out waiting for a response from the voiceUrl. Used for inbound calls only.
callConnectUrlstringThe URL to which FreeClimb will make a POST request informing the result of the outbound Call request. The status property of the request message specifies if the Call was connected or not.
statusCallbackUrlstringA URL to which FreeClimb will make a POST request when the Call ends to notify this app.
smsUrlstringThe URL FreeClimb will request when a phone number assigned to this Application receives an incoming SMS message. Used for inbound SMS only.
smsFallbackUrlstringThe URL that FreeClimb will request if it times out waiting for a response from the smsUrl. Used for inbound SMS only.