Skip to content
An ActiveResource wrapper to the Twilio API
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
Gemfile
Gemfile.lock
MIT-LICENSE
README.md
Rakefile
twilio_resource.gemspec

README.md

Description

TwilioResource is a wrapper around the Twilio API using Rails' ActiveResource. This allows you to treat Twilio objects as if they're local ActiveRecord models:

phone = TwilioResource::LocalIncomingPhoneNumber.new(:url => 'http://www.example.com',
                                                     :area_code => '206',
                                                     :method => 'GET',
                                                     :friendly_name => "My First Phone Number",
                                                     :account_id => Twilio::Base.user)
phone.save

The wrapper doesn't support the entire Twilio API, but it should be simple enough to add new functionality as needed by following the models that are already built.

Supported Functionality

  • Requesting, listing, and deleting new local and toll-free numbers
  • Placing and listing calls made to a phone number

Todo

  • Conference resource
  • Redirecting calls
  • Support data returned in xml attributes
  • SMS resource
  • Recordings, Transcriptions, and Notifications
  • Wrap more exceptions
  • Add documentation on supported attributes to the ActiveResource models

Setup

Before you start using TwilioResource, you have to give it your Twilio login credentials. You can do this in your Rails initializer:

require 'twilio_resource'
TwilioResource.setup('token', 'sid')

Examples

Requesting a new phone number:

phone = TwilioResource::LocalIncomingPhoneNumber.new(:url => 'http://www.example.com',
                                                     :area_code => '206',
                                                     :method => 'GET',
                                                     :friendly_name => "My First Phone Number",
                                                     :account_id => Twilio::Base.user)
phone.save

Requesting a new toll-free phone number:

phone = TwilioResource::TollFreeIncomingPhoneNumber.new(:url => 'http://www.example.com',
                                                        :area_code => '206',
                                                        :method => 'GET',
                                                        :friendly_name => "My First Phone Number",
                                                        :account_id => Twilio::Base.user)
phone.save

Retrieving a list of completed calls to a given phone number:

TwilioResource::Call.find(:all, :params => {
  :account_id => Twilio::Base.user, 
  :status => Twilio::Call::COMPLETE,
  :called => '2065551212'})

Placing a call:

TwilioResource::Call.new({
  :account_id => Twilio::Base.user, 
  :caller => '2065551111',
  :called => '2065551212',
  :url => 'http://example.com/call.xml'})
Something went wrong with that request. Please try again.