1

Readme ファイルでの SMS への唯一の言及は、SMS メッセージの送信に関するものです。

# send an sms
@client.account.sms.messages.create(
  :from => '+14159341234',
  :to => '+16105557069',
  :body => 'Hey there!'
)

twilio-ruby gem が SMS 応答に対する可視性を提供するかどうか疑問に思っていますか? PHP でここに示した例のようなキーワード応答ロジックを実行したいと考えています。

4

2 に答える 2

2

この問題を抱えている可能性のある他の人にとって、この質問からのこのサンプルアプリケーションは非常に役立つことがわかりました。あなたがする必要があるのは:

  1. アプリケーションの特定のコントローラーに投稿するように Twilio 番号の SMS URL をセットアップします (例: myapp.com/twilio/process-sms)。
  2. その URL を Twilio コントローラーの正しいアクションに一致させるルートを追加します。
  3. 以下のような単純なロジックを記述して、カスタム ビジネス ロジックに従って番号への応答/メッセージを処理します。
  4. 必要に応じて、以下のような .xml.erb ファイルを使用して応答します。

クラス TwilioController < ApplicationController

  def process_sms
    @city = params[:FromCity].capitalize
    @state = params[:FromState]
    @from = params[:From]
    u = User.find_by_phone_number(@from)
    @user = u.name
    b = params[:Body]

if b.downcase.include?("question")
    @type = "Question"
    @question = u.questions.build(:description => b)
    @question.save!
    render 'new_question.xml.erb', :content_type => 'text/xml'
elsif b.downcase.include?("contact")
    @type = "Contact"
    @contact = u.contacts.build(:name => b)
    @contact.save!
    render 'new_contact.xml.erb', :content_type => 'text/xml'
else
    @type = "Not sure"
    render 'not_sure.xml.erb', :content_type => 'text/xml'
end

.build はオブジェクトを作成し、.save はオブジェクトを保存します。次に、ユーザーに応答したい TWIML を Twilio に返すだけです。そのような:

app/views/twilio/new_contact.xml.erb

<Response>
  <Sms>We added a new contact for you.</Sms>
</Response>
于 2012-11-24T23:41:37.423 に答える
1

Twilio 番号で SMS を受信すると、Twilio はサーバーにHTTP リクエストを送信します。次のように、XML を使用して要求に応答することで、着信 SMS に応答できます。

<Response>
    <Sms>This is my response</Sms>
</Response>

XML 応答を自分で生成することも、XML をクライアントに返すのに役立つメソッドがヘルパー ライブラリに含まれていることもできます。簡単な例としてTwilio Ruby SMS クイックスタートを見て、そこから先に進むことをお勧めします。

于 2012-11-15T05:17:38.843 に答える