Twilioからtwilio-ruby まで私のRailsアプリケーションと統合しました。基本的なSMSと音声機能は期待通りに機能していますが、今では機能を拡張したいと考えています。私は自分のコントローラにTwiMLを動的に生成し、どこかに(ローカルまたはサービスに)保存し、TwilioにこのXMLにアクセスさせたいと考えています。たとえば、顧客が自分のアプリで注文し、TwiMLが生成されて保存された後、Twilioは新しい注文データで私のサプライヤに音声通話を行います。並行した注文を念頭に置いて、このソリューションはどのように見えますか? TwiML/XMLを保存してTwilioにアクセスさせるための最良の解決策は何ですか?ありがとうございました。RailsアプリケーションからTwiMLを動的に生成するにはどうすればいいですか?
答えて
呼び出し中に動的にTwiMLを生成することは、望ましい方法であるように思われます。
私たちは名前で、発信者に挨拶ドキュメントから動的TwimLコンテンツを生成する例:代わりに、あなたのアプリケーションは、着信メッセージ本文を解析しなければならないpeople
配列の
require 'rubygems'
require 'sinatra'
require 'twilio-ruby'
get '/hello-monkey' do
people = {
'+14158675309' => 'Curious George',
'+14158675310' => 'Boots',
'+14158675311' => 'Virgil',
'+14158675312' => 'Marcel',
}
name = people[params['From']] || 'Monkey'
Twilio::TwiML::Response.new do |r|
r.Say "Hello #{name}"
end.text
end
https://www.twilio.com/docs/quickstart/ruby/twiml/greet-caller-by-name#twiml-quickstartrb(もしSMSを使用して)注文してから、適切な電話をかけてください。
ただし、あなたのユースケースでは、実際にホストされているTwiMLを作成する必要がある場合、間もなくTwiML Bins in the Twilio Consoleでこれを補間することができます。
curl -X POST api.twilio.com/..../Calls -d 'Url=https://hander.twilio.com/EHxxx?message=hello+world' -u Cxxx:yyyy
そして、あなたのTwiMLビンが必要TwiML含まれます:
<Response><Say>{{message}}</Say></Response>
この方法では、あなたが行う必要はありませんが、あなたのような何かを行うことができるだろう意味
2つの残りの呼び出しは維持したりクリーンアップするのに扱いにくい冗長なビンの数千(またはそれ以上)を蓄積しません。
コメントありがとうございます。残念ながら、コール中に生成されたのは私の実装に合っていませんでした。私はAmazon S3にTwiMLを書いてTwilioにアクセスさせることにしました。すべてが現在設計どおりに動作しています。ありがとう。 –
ああ、私が昨日投稿した後、TwiML Binsでこれを行う方法を考え始めました(つまり、http://stackoverflow.com/questions/24494782/is-there-a-way-to-programmatically-create-a -twimlbin)。これらは現在、コンソールのTwilioによってホストされており、チームと一緒に補間の追加を計画していることを確認しました。私は将来のためのヒントで私の答えを更新します。 Amazon S3であなたのソリューションがあなたのニーズに合っているのはうれしいですが。私はそれを考えなかった。 –
呼び出し中に動的にTwiMLを生成するのではなく、一時的に格納する理由はありますか? –