Ruby gem for consuming the Bandwidth REST API
Switch branches/tags
Pull request Compare This branch is even with jsgoecke:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
spec
.document
.gitignore
.rspec
Gemfile
Gemfile.lock
LICENSE.txt
README.md
Rakefile
VERSION
bandwidth.gemspec

README.md

Bandwidth

Ruby gem for consuming the Bandwidth REST API.

Installation

gem install bandwidth

Example

API Docs

require 'rubygems'
require 'bandwidth'
bandwidth = Bandwidth.new(:developer_key => 'your developer key')
bandwidth.area_code_number_search :area_code => '720', :max_quantity => 1

Returns (using awesome_print gem):

{
       "body" => {
        "numberSearchResponse" => {
                   "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema",
                    "quantity" => "1",
                   "requestID" => "463f5cd2-e75d-4cc2-9ab1-1235a3dd283c",
                "dateTimeSent" => "2011-03-18 19:48:04Z",
                    "warnings" => nil,
                      "errors" => nil,
                   "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
            "telephoneNumbers" => {
                "telephoneNumber" => {
                               "e164" => "+17205551212",
                             "npaNxx" => "720555",
                           "tenDigit" => "7205551212",
                    "formattedNumber" => "1-720-555-1212",
                           "numberID" => "6f37a640-0d9d-45cc-b97b-d6ad77f220b2",
                             "status" => "Available",
                         "rateCenter" => {
                         "name" => "DENVERSLVN",
                         "lata" => "656",
                        "state" => "CO"
                    }
                }
            },
                     "message" => "Successfully executed specified number search.",
                      "status" => "success",
                       "xmlns" => "http://www.bandwidth.com/api/"
        }
    },
       "code" => 200,
    "headers" => {
              "X-Powered-By" => "Bandwidth.com",
        "X-API-SupportEmail" => "apifeedback@bandwidth.com",
              "Content-Type" => "text/xml; charset=utf-8",
                      "Date" => "Fri, 18 Mar 2011 19:48:04 GMT",
            "Content-Length" => "825",
                    "Server" => "Microsoft-IIS/7.0",
             "Cache-Control" => "private",
          "X-AspNet-Version" => "2.0.50727"
    }
}

Available Methods

Full details of available methods here.

[2.x] Supported Operations, Numbers - getTelephoneNumber
[2.x] Supported Operations, Numbers - getNumberOrder
[2.x] Supported Operations, Numbers - getNumberOrders (developer, account)
[2.x] Supported Operations, Numbers - areaCodeNumberSearch
[2.x] Supported Operations, Numbers - npaNxxNumberSearch
[2.x] Supported Operations, Numbers - rateCenterNumberSearch
[2.x] Supported Operations, Numbers - rateCenterNumberOrder
[2.x] Supported Operations, Numbers - tollfreeNumberSearch
[2.x] Supported Operations, Numbers - tollfreeNumberOrder
[2.x] Supported Operations, Numbers - basicNumberOrder
[2.x] Supported Operations, Numbers - changeNumber
[2.x] Supported Operations, Numbers - sipTrunkOrder
[2.x] Supported Operations, Cdr - getCdrArchive
(restricted use)
[2.x] Restricted Operations, Numbers - consumedNumbers
[2.x] Restricted Operations, Numbers - reserveNumbers
[2.x] Restricted Operations, Numbers - pbod
[2.x] Restricted Operations, Numbers - rateCenterBlockOrder
[2.x] Restricted Operations, Numbers - getRateCenterBlockOrder
[2.x] Restricted Operations, Numbers - getRateCenterBlockOrders

Notes

When calling the 'basic_number_order' method, be sure to use ':number_IDs' & ':ext_ref_ID' as the correct options, given that the Bandwidth API is not following camelCase standards in this case.

Copyright

Copyright (c) 2011 Jason Goecke. See LICENSE.txt for further details.