Freeclimb - the Ruby gem for the FreeClimb API
FreeClimb is a cloud-based application programming interface (API) that puts the power of the Vail platform in your hands. FreeClimb simplifies the process of creating applications that can use a full range of telephony features without requiring specialized or on-site telephony equipment. Using the FreeClimb REST API to write applications is easy! You have the option to use the language of your choice or hit the API directly. Your application can execute a command by issuing a RESTful request to the FreeClimb API. The base URL to send HTTP requests to the FreeClimb REST API is: /apiserver. FreeClimb authenticates and processes your request.
This SDK is automatically generated by the OpenAPI Generator project:
- API version: 1.0.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
To build the Ruby code into a gem:
gem build freeclimb.gemspecThen either install the gem locally:
gem install ./freeclimb-1.0.0.gem(for development, run gem install --dev ./freeclimb-1.0.0.gem to install the development dependencies)
or publish the gem to a gem hosting service, e.g. RubyGems.
Finally add this to the Gemfile:
gem 'freeclimb', '~> 1.0.0'
If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:
gem 'freeclimb', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'
Include the Ruby code directly using -I as follows:
ruby -Ilib script.rbPlease follow the installation procedure and then run the following code:
# Load the gem
require 'freeclimb'
# Setup authorization
Freeclimb.configure do |config|
# Configure HTTP basic authorization: fc
config.username = 'ACCOUNT_ID'
config.password = 'AUTH_TOKEN'
end
api_instance = Freeclimb::DefaultApi.new
opts = {
buy_incoming_number_request: Freeclimb::BuyIncomingNumberRequest.new # BuyIncomingNumberRequest | Incoming Number transaction details
}
begin
#Buy a Phone Number
result = api_instance.buy_a_phone_number(opts)
p result
rescue Freeclimb::ApiError => e
puts "Exception when calling DefaultApi->buy_a_phone_number: #{e}"
endAll URIs are relative to https://www.freeclimb.com/apiserver
| Class | Method | HTTP request | Description |
|---|---|---|---|
| Freeclimb::DefaultApi | buy_a_phone_number | POST /Accounts/{accountId}/IncomingPhoneNumbers | Buy a Phone Number |
| Freeclimb::DefaultApi | create_a_conference | POST /Accounts/{accountId}/Conferences | Create a Conference |
| Freeclimb::DefaultApi | create_a_queue | POST /Accounts/{accountId}/Queues | Create a Queue |
| Freeclimb::DefaultApi | create_an_application | POST /Accounts/{accountId}/Applications | Create an application |
| Freeclimb::DefaultApi | delete_a_recording | DELETE /Accounts/{accountId}/Recordings/{recordingId} | Delete a Recording |
| Freeclimb::DefaultApi | delete_an_application | DELETE /Accounts/{accountId}/Applications/{applicationId} | Delete an application |
| Freeclimb::DefaultApi | delete_an_incoming_number | DELETE /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Delete an Incoming Number |
| Freeclimb::DefaultApi | dequeue_a_member | POST /Accounts/{accountId}/Queues/{queueId}/Members/{callId} | Dequeue a Member |
| Freeclimb::DefaultApi | dequeue_head_member | POST /Accounts/{accountId}/Queues/{queueId}/Members/Front | Dequeue Head Member |
| Freeclimb::DefaultApi | download_a_recording_file | GET /Accounts/{accountId}/Recordings/{recordingId}/Download | Download a Recording File |
| Freeclimb::DefaultApi | filter_logs | POST /Accounts/{accountId}/Logs | Filter Logs |
| Freeclimb::DefaultApi | get_a_call | GET /Accounts/{accountId}/Calls/{callId} | Get a Call |
| Freeclimb::DefaultApi | get_a_conference | GET /Accounts/{accountId}/Conferences/{conferenceId} | Get a Conference |
| Freeclimb::DefaultApi | get_a_member | GET /Accounts/{accountId}/Queues/{queueId}/Members/{callId} | Get a Member |
| Freeclimb::DefaultApi | get_a_participant | GET /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Get a Participant |
| Freeclimb::DefaultApi | get_a_queue | GET /Accounts/{accountId}/Queues/{queueId} | Get a Queue |
| Freeclimb::DefaultApi | get_a_recording | GET /Accounts/{accountId}/Recordings/{recordingId} | Get a Recording |
| Freeclimb::DefaultApi | get_an_account | GET /Accounts/{accountId} | Get an Account |
| Freeclimb::DefaultApi | get_an_application | GET /Accounts/{accountId}/Applications/{applicationId} | Get an Application |
| Freeclimb::DefaultApi | get_an_incoming_number | GET /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Get an Incoming Number |
| Freeclimb::DefaultApi | get_an_sms_message | GET /Accounts/{accountId}/Messages/{messageId} | Get an SMS Message |
| Freeclimb::DefaultApi | get_head_member | GET /Accounts/{accountId}/Queues/{queueId}/Members/Front | Get Head Member |
| Freeclimb::DefaultApi | list_active_queues | GET /Accounts/{accountId}/Queues | List Active Queues |
| Freeclimb::DefaultApi | list_all_account_logs | GET /Accounts/{accountId}/Logs | List All Account Logs |
| Freeclimb::DefaultApi | list_an_application | GET /Accounts/{accountId}/Applications | List applications |
| Freeclimb::DefaultApi | list_available_numbers | GET /AvailablePhoneNumbers | List available numbers |
| Freeclimb::DefaultApi | list_call_logs | GET /Accounts/{accountId}/Calls/{callId}/Logs | List Call Logs |
| Freeclimb::DefaultApi | list_call_recordings | GET /Accounts/{accountId}/Calls/{callId}/Recordings | List Call Recordings |
| Freeclimb::DefaultApi | list_calls | GET /Accounts/{accountId}/Calls | List Calls |
| Freeclimb::DefaultApi | list_conferences | GET /Accounts/{accountId}/Conferences | List Conferences |
| Freeclimb::DefaultApi | list_incoming_numbers | GET /Accounts/{accountId}/IncomingPhoneNumbers | List Incoming Numbers |
| Freeclimb::DefaultApi | list_members | GET /Accounts/{accountId}/Queues/{queueId}/Members | List Members |
| Freeclimb::DefaultApi | list_participants | GET /Accounts/{accountId}/Conferences/{conferenceId}/Participants | List Participants |
| Freeclimb::DefaultApi | list_recordings | GET /Accounts/{accountId}/Recordings | List Recordings |
| Freeclimb::DefaultApi | list_sms_messages | GET /Accounts/{accountId}/Messages | List SMS Messages |
| Freeclimb::DefaultApi | make_a_call | POST /Accounts/{accountId}/Calls | Make a Call |
| Freeclimb::DefaultApi | remove_a_participant | DELETE /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Remove a Participant |
| Freeclimb::DefaultApi | send_an_sms_message | POST /Accounts/{accountId}/Messages | Send an SMS Message |
| Freeclimb::DefaultApi | stream_a_recording_file | GET /Accounts/{accountId}/Recordings/{recordingId}/Stream | Stream a Recording File |
| Freeclimb::DefaultApi | update_a_conference | POST /Accounts/{accountId}/Conferences/{conferenceId} | Update a Conference |
| Freeclimb::DefaultApi | update_a_live_call | POST /Accounts/{accountId}/Calls/{callId} | Update a Live Call |
| Freeclimb::DefaultApi | update_a_participant | POST /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Update a Participant |
| Freeclimb::DefaultApi | update_a_queue | POST /Accounts/{accountId}/Queues/{queueId} | Update a Queue |
| Freeclimb::DefaultApi | update_an_account | POST /Accounts/{accountId} | Manage an account |
| Freeclimb::DefaultApi | update_an_application | POST /Accounts/{accountId}/Applications/{applicationId} | Update an application |
| Freeclimb::DefaultApi | update_an_incoming_number | POST /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Update an Incoming Number |
The Performance Command Language (PerCL) defines a set of instructions, written in JSON format, that express telephony actions to be performed in response to an event on the FreeClimb platform. FreeClimb communicates with the application server when events associated with the application occur, so the webserver can instruct FreeClimb how to handle such events using PerCL scripts.
When creating a Percl object, required parameters must be used in the constructer while optional parameters must be set direclty on the given Percl object. Example:
digits = '630'
send_digits = Percl::SendDigits.new(digits)
send_digits.pauseMs = '500'| Class | Description |
|---|---|
| Percl::OutDial | The OutDial command is used to call a phone number |
| Percl::Hangup | The Hangup command terminates a Call |
| Percl::Pause | The Pause command halts execution of the current PerCL script for a specified number of millisecond |
| Percl::Redirect | The Redirect command transfers control of a Call to the PerCL at a different URL |
| Percl::SendDigits | The SendDigits command plays DTMF tones on a live Call. This is useful for navigating through IVR menus or dialing extensions |
| Percl::Reject | The Reject command blocks an incoming Call. |
| Percl::CreateConference | The CreateConference command does exactly what its name implies — it creates an unpopulated Conference (one without any Participants). |
| Percl::TerminateConference | The TerminateConference command terminates an existing Conference. |
| Percl::AddToConference | The AddToConference command adds a Participant to a Conference. |
| Percl::RemoveFromConference | The RemoveFromConference command removes a Participant from a Conference but does not hang up. |
| Percl::SetListen | The SetListen command enables or disables the listen privilege for a Conference Participant provided both calls are in the same conference. |
| Percl::SetTalk | The SetTalk command enables or disables the talk privilege for a Participant in a Conference provided both calls are in the same conference. |
| Percl::Enqueue | The Enqueue command adds the current Call to a call Queue. |
| Percl::Dequeue | The Dequeue command transfers control of a Call that is in a Queue so that the waiting caller exits the Queue. |
| Percl::RecordUtterance | The RecordUtterance command records the caller's voice and returns the URL of a file containing the audio recording. |
| Percl::StartRecordCall | The StartRecordCall command records the current call and returns the URL of a file containing the audio recording when recording completes. |
| Percl::PlayEarlyMedia | The PlayEarlyMedia command plays A media file before attempting to connect a call |
| Percl::Play | the Play command plays an audio file back to the caller. |
| Percl::Say | The Say command provides Text-To-Speech (TTS) support. It converts text to speech and then renders it in a female voice back to the caller. |
| Percl::GetDigits | The GetDigits command collects DTMF inputs from the caller. |
| Percl::GetSpeech | The GetSpeech command enables the Caller to respond to the application using a supported language. |
| Percl::Sms | The Sms command can be used to send an SMS message to a phone number during a phone call. |
- Freeclimb::AccountRequest
- Freeclimb::AccountResult
- Freeclimb::AccountResultAllOf
- Freeclimb::ApplicationList
- Freeclimb::ApplicationListAllOf
- Freeclimb::ApplicationRequest
- Freeclimb::ApplicationResult
- Freeclimb::ApplicationResultAllOf
- Freeclimb::AvailableNumber
- Freeclimb::AvailableNumberList
- Freeclimb::AvailableNumberListAllOf
- Freeclimb::BuyIncomingNumberRequest
- Freeclimb::CallList
- Freeclimb::CallListAllOf
- Freeclimb::CallResult
- Freeclimb::CallResultAllOf
- Freeclimb::ConferenceList
- Freeclimb::ConferenceListAllOf
- Freeclimb::ConferenceParticipantList
- Freeclimb::ConferenceParticipantListAllOf
- Freeclimb::ConferenceParticipantResult
- Freeclimb::ConferenceParticipantResultAllOf
- Freeclimb::ConferenceResult
- Freeclimb::ConferenceResultAllOf
- Freeclimb::CreateConferenceRequest
- Freeclimb::DequeueMemberRequest
- Freeclimb::FilterLogsRequest
- Freeclimb::IncomingNumberList
- Freeclimb::IncomingNumberListAllOf
- Freeclimb::IncomingNumberRequest
- Freeclimb::IncomingNumberResult
- Freeclimb::IncomingNumberResultAllOf
- Freeclimb::LogList
- Freeclimb::LogListAllOf
- Freeclimb::LogResult
- Freeclimb::MakeCallRequest
- Freeclimb::MessageRequest
- Freeclimb::MessageRequestAllOf
- Freeclimb::MessageResult
- Freeclimb::MessageResultAllOf
- Freeclimb::MessagesList
- Freeclimb::MessagesListAllOf
- Freeclimb::MutableResourceModel
- Freeclimb::PaginationModel
- Freeclimb::QueueList
- Freeclimb::QueueListAllOf
- Freeclimb::QueueMember
- Freeclimb::QueueMemberList
- Freeclimb::QueueMemberListAllOf
- Freeclimb::QueueRequest
- Freeclimb::QueueResult
- Freeclimb::QueueResultAllOf
- Freeclimb::RecordingList
- Freeclimb::RecordingListAllOf
- Freeclimb::RecordingResult
- Freeclimb::RecordingResultAllOf
- Freeclimb::UpdateCallRequest
- Freeclimb::UpdateConferenceParticipantRequest
- Freeclimb::UpdateConferenceRequest
- Type: HTTP basic authentication