FreeClimb Python SDK
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 Python package is automatically generated by the OpenAPI Generator project:
- API version: 1.0.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
Requirements
Python 3.4+
Installation & Usage
pip install
pip install freeclimb
Then import the package:
import freeclimb
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install
to install the package for all users)
Then import the package:
import freeclimb
Getting Started
Please follow the installation procedure and then run the following:
from __future__ import print_function
import time
import freeclimb
from freeclimb.rest import ApiException
from pprint import pprint
configuration = freeclimb.Configuration()
# Configure HTTP basic authorization: fc
configuration.username = 'ACCOUNT_ID'
configuration.password = 'AUTH_TOKEN'
# Defining host is optional and default to https://www.freeclimb.com/apiserver
configuration.host = "https://www.freeclimb.com/apiserver"
# Enter a context with an instance of the API client
with freeclimb.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = freeclimb.DefaultApi(api_client)
buy_incoming_number_request = freeclimb.BuyIncomingNumberRequest() # BuyIncomingNumberRequest | Incoming Number transaction details (optional)
try:
# Buy a Phone Number
api_response = api_instance.buy_a_phone_number(buy_incoming_number_request=buy_incoming_number_request)
pprint(api_response)
except ApiException as e:
print("Exception when calling DefaultApi->buy_a_phone_number: %s\n" % e)
Tests
Run tests with command:
python -m unittest test
Documentation for API Endpoints
All URIs are relative to https://www.freeclimb.com/apiserver
Class | Method | HTTP request | Description |
---|---|---|---|
DefaultApi | buy_a_phone_number | POST /Accounts/{accountId}/IncomingPhoneNumbers | Buy a Phone Number |
DefaultApi | create_a_conference | POST /Accounts/{accountId}/Conferences | Create a Conference |
DefaultApi | create_a_queue | POST /Accounts/{accountId}/Queues | Create a Queue |
DefaultApi | create_an_application | POST /Accounts/{accountId}/Applications | Create an application |
DefaultApi | delete_a_recording | DELETE /Accounts/{accountId}/Recordings/{recordingId} | Delete a Recording |
DefaultApi | delete_an_application | DELETE /Accounts/{accountId}/Applications/{applicationId} | Delete an application |
DefaultApi | delete_an_incoming_number | DELETE /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Delete an Incoming Number |
DefaultApi | dequeue_a_member | POST /Accounts/{accountId}/Queues/{queueId}/Members/{callId} | Dequeue a Member |
DefaultApi | dequeue_head_member | POST /Accounts/{accountId}/Queues/{queueId}/Members/Front | Dequeue Head Member |
DefaultApi | download_a_recording_file | GET /Accounts/{accountId}/Recordings/{recordingId}/Download | Download a Recording File |
DefaultApi | filter_logs | POST /Accounts/{accountId}/Logs | Filter Logs |
DefaultApi | get_a_call | GET /Accounts/{accountId}/Calls/{callId} | Get a Call |
DefaultApi | get_a_conference | GET /Accounts/{accountId}/Conferences/{conferenceId} | Get a Conference |
DefaultApi | get_a_member | GET /Accounts/{accountId}/Queues/{queueId}/Members/{callId} | Get a Member |
DefaultApi | get_a_participant | GET /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Get a Participant |
DefaultApi | get_a_queue | GET /Accounts/{accountId}/Queues/{queueId} | Get a Queue |
DefaultApi | get_a_recording | GET /Accounts/{accountId}/Recordings/{recordingId} | Get a Recording |
DefaultApi | get_an_account | GET /Accounts/{accountId} | Get an Account |
DefaultApi | get_an_application | GET /Accounts/{accountId}/Applications/{applicationId} | Get an Application |
DefaultApi | get_an_incoming_number | GET /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Get an Incoming Number |
DefaultApi | get_an_sms_message | GET /Accounts/{accountId}/Messages/{messageId} | Get an SMS Message |
DefaultApi | get_head_member | GET /Accounts/{accountId}/Queues/{queueId}/Members/Front | Get Head Member |
DefaultApi | list_active_queues | GET /Accounts/{accountId}/Queues | List Active Queues |
DefaultApi | list_all_account_logs | GET /Accounts/{accountId}/Logs | List All Account Logs |
DefaultApi | list_an_application | GET /Accounts/{accountId}/Applications | List applications |
DefaultApi | list_available_numbers | GET /AvailablePhoneNumbers | List available numbers |
DefaultApi | list_call_logs | GET /Accounts/{accountId}/Calls/{callId}/Logs | List Call Logs |
DefaultApi | list_call_recordings | GET /Accounts/{accountId}/Calls/{callId}/Recordings | List Call Recordings |
DefaultApi | list_calls | GET /Accounts/{accountId}/Calls | List Calls |
DefaultApi | list_conferences | GET /Accounts/{accountId}/Conferences | List Conferences |
DefaultApi | list_incoming_numbers | GET /Accounts/{accountId}/IncomingPhoneNumbers | List Incoming Numbers |
DefaultApi | list_members | GET /Accounts/{accountId}/Queues/{queueId}/Members | List Members |
DefaultApi | list_participants | GET /Accounts/{accountId}/Conferences/{conferenceId}/Participants | List Participants |
DefaultApi | list_recordings | GET /Accounts/{accountId}/Recordings | List Recordings |
DefaultApi | list_sms_messages | GET /Accounts/{accountId}/Messages | List SMS Messages |
DefaultApi | make_a_call | POST /Accounts/{accountId}/Calls | Make a Call |
DefaultApi | remove_a_participant | DELETE /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Remove a Participant |
DefaultApi | send_an_sms_message | POST /Accounts/{accountId}/Messages | Send an SMS Message |
DefaultApi | stream_a_recording_file | GET /Accounts/{accountId}/Recordings/{recordingId}/Stream | Stream a Recording File |
DefaultApi | update_a_conference | POST /Accounts/{accountId}/Conferences/{conferenceId} | Update a Conference |
DefaultApi | update_a_live_call | POST /Accounts/{accountId}/Calls/{callId} | Update a Live Call |
DefaultApi | update_a_participant | POST /Accounts/{accountId}/Conferences/{conferenceId}/Participants/{callId} | Update a Participant |
DefaultApi | update_a_queue | POST /Accounts/{accountId}/Queues/{queueId} | Update a Queue |
DefaultApi | update_an_account | POST /Accounts/{accountId} | Manage an account |
DefaultApi | update_an_application | POST /Accounts/{accountId}/Applications/{applicationId} | Update an application |
DefaultApi | update_an_incoming_number | POST /Accounts/{accountId}/IncomingPhoneNumbers/{phoneNumberId} | Update an Incoming Number |
Documentation for PerCL
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.
PerCL example:
say = freeclimb.Say(text="Hello! This is a message sent using FreeClimb's Python SDK.")
return freeclimb.PerCLCommand.to_json(say.to_dict())
The JSON object below represents the PerCL object generated by the commands above.
[
{
"Say" : {
"text" : "Hello! This is a message sent using FreeClimb's Python SDK."
}
}
]
Class | Description |
---|---|
AddToConference | Add a Participant to a Conference |
CreateConference | Creates a new conference with no Participants |
Dequeue | Dequeue a Call that is in a Queue so the waiting Caller exits Queue |
Enqueue | Adds a Call to a call Queue |
GetDigits | Collects DTMF inputs from the Caller |
GetSpeech | Allows the Caller to respond to the application using a supported language |
Hangup | Terminates a Call |
OutDial | Begin a Call to a phone number |
Pause | Delays execution of PerCL script to create a Pause in the scenario |
PlayEarlyMedia | Plays an audio file before attempting to connect the Call |
Play | Plays an audio file back to the Caller |
RecordUtterance | Records the Caller’s voice and returns the URL of a file containing the audio recording |
Redirect | Transfers Call to a different URL |
RemoveFromConference | Removes a Participant from a Conference |
Say | Provides Text-To-Speech (TTS) support |
SendDigits | Plays DTMF tones on a live Call |
SetListen | Enables or disables the listening ability for a Conference Participant |
SetTalk | Enables or disables the talking ability for a Conferencwe Participant |
SMS | Sends an SMS message |
StartRecordCall | Records the current Call and returns the URL of a file containing the audio recording |
TerminateConference | Terminates an existing Conference |
Documentation For Models
- AccountRequest
- AccountResult
- AccountResultAllOf
- ApplicationList
- ApplicationListAllOf
- ApplicationRequest
- ApplicationResult
- ApplicationResultAllOf
- AvailableNumber
- AvailableNumberList
- AvailableNumberListAllOf
- BuyIncomingNumberRequest
- CallList
- CallListAllOf
- CallResult
- CallResultAllOf
- ConferenceList
- ConferenceListAllOf
- ConferenceParticipantList
- ConferenceParticipantListAllOf
- ConferenceParticipantResult
- ConferenceParticipantResultAllOf
- ConferenceResult
- ConferenceResultAllOf
- CreateConferenceRequest
- DequeueMemberRequest
- FilterLogsRequest
- IncomingNumberList
- IncomingNumberListAllOf
- IncomingNumberRequest
- IncomingNumberResult
- IncomingNumberResultAllOf
- LogList
- LogListAllOf
- LogResult
- MakeCallRequest
- MessageRequest
- MessageRequestAllOf
- MessageResult
- MessageResultAllOf
- MessagesList
- MessagesListAllOf
- MutableResourceModel
- PaginationModel
- QueueList
- QueueListAllOf
- QueueMember
- QueueMemberList
- QueueMemberListAllOf
- QueueRequest
- QueueResult
- QueueResultAllOf
- RecordingList
- RecordingListAllOf
- RecordingResult
- RecordingResultAllOf
- UpdateCallRequest
- UpdateConferenceParticipantRequest
- UpdateConferenceRequest
Documentation For Authorization
fc
- Type: HTTP basic authentication