電話APIを提供している Twilio では、Webの 管理画面 から電話番号を買ったり、それに紐づく API の設定をすることができます。今回は、Ruby を用いて CLI でそれらの操作をしてみます。
twilio-ruby の gem を利用します。
クライアント
# !/usr/bin/env ruby
require 'twilio-ruby'
# put your own credentials here
account_sid = 'XXXXXXXXXXXX'
auth_token = 'XXXXXXXXXXXXX'
# set up a client to talk to the Twilio REST API
@client = Twilio::REST::Client.new account_sid, auth_token
契約している電話番号を調べる
numbers = @client.incoming_phone_numbers.list
numbers.each{|n| puts n.phone_number}
購入する電話番号を検索する
ここでは、JP の指定だけしかしていませんが、電話番号が SMS を受信できるかどうかなど、パターンにあった電話を検索することができます。
numbers = @client.available_phone_numbers.get('JP').local.list
numbers.each_with_index do |n, i|
puts "#{i + 1} : #{n.phone_number}"
end
電話番号を購入する
050 ではじまる番号なら 108円/月 とかで購入できます。
@client.account.incoming_phone_numbers.create(phone_number: number)
電話番号の設定をする
購入した電話番号の RequestURL の設定をします。ひとまずこれだけ設定できればアプリケーション作れます。
なぜか、RequestURL は voice_url というkey で設定するので注意が必要です。
number.update(voice_url: "http://demo.twilio.com/docs/voice.xml")
購入した電話番号を解除する
number = @client.account.incoming_phone_numbers.get(sid)
number.delete
まとめ
CLI でいろいろ操作できて便利ですね。