やりたいこと
- RailsでTwiMLを組み立てたい(今後、ログを保存したり、転送先を動的にごにょごにょしたいため)
- XMLをテキストでレンダーするのではなくて、Twilio-rubyを使って行いたい(公式ドキュメントのAPIリファレンスのサンプルをそのまま使えるように)
Ref;
https://jp.twilio.com/docs/api/twiml/dial
やったこと
gemいれる
gemfileに下記を追記
gem 'twilio-ruby', '~> 5.6.0'
コントローラを作成
rails g controller calls oncall
コントローラを修正
class CallsController < ApplicationController
def oncall
response = Twilio::TwiML::VoiceResponse.new
response.say('お繋ぎしています。しばらくお待ちください。', language: 'ja-jp')
response.dial(
record: true, //録音する
callerId: "+8150*******", //購入した自分の番号を追加
) do |dial|
dial.number('+81**********') //転送先の番号
end
render :xml => response.to_xml
end
end
router確認
post 'calls/oncall'
参考
https://www.twilio.com/blog/2016/05/calling-rails-5-getting-started-with-twilio-on-rails.html
※ Twilio::TwiML::Response
ではなく Twilio::TwiML::VoiceResponse
にする必要あり。
最初なかなか気づかなくてはまりました。。