Link

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

Documentation For Authorization

fc

  • Type: HTTP basic authentication