4

Rails 3.2.8 を使用しており、neximo の使用を検討しています。neximo gem は、SMS メッセージを受信する方法を提供していないようです。SMS メッセージを受信するにはどうすればよいですか? GET に応答するアクションを持つコントローラーを作成しますか? 私はレールに比較的慣れていないので、アプローチの指針を探しています。

  1. ルートを設定するにはどうすればよいですか
  2. メッセージを受け取ったら何もレンダリングする必要はないと思うので、テンプレートは必要ないので、レンダリングをバイパスしますか?

ポインタやヘルプをいただければ幸いです。

4

3 に答える 3

3

Nexmo 用に構築された Ruby ライブラリを使用したいようです。

基本的に、次のサンプル コードを挿入します。

nexmo = Nexmo::Client.new('...API KEY...', '...API SECRET...')

response = nexmo.send_message({
  from: 'RUBY',
  to: '...NUMBER...',
  text: 'Hello world'
})

if response.success?
  puts "Sent message: #{response.message_id}"
elsif response.failure?
  raise response.error
end

..コントローラーのアクション内。それがあなたのものだとしましょうTextsController、そしてあなたはそれをcreateアクションの下に置きます。だからあなたのconfig/routes.rb中に、次のようなものを入れてください:

match "/sendtext" => "texts#create"

次に、ヒットするだけmydomain.com/sendtextでコマンドが実行されます。

于 2012-10-05T15:14:09.713 に答える
2

それを考え出した、それは簡単です。まず、コントローラーを生成します。コントローラーを「foo」と呼ぶとしましょう

rails generate controller foo

foo_controller.rb に以下を追加します。

class SmsesController < ApplicationController
  def getmessage
    text_from_phone_no = params[:msisdn]
    text_body = params[:text]
    # here you can extract more values from parameters as described in nexmo docs.

    render :nothing => true # this will supply the needed http 200 OK
  end
end

routes.rb に以下を追加します。

「foo/getessage」を取得

次に、Nexmo で、メッセージを受信するための URL を次のように指定します。

your-domain.com/foo/getmessage.com

これで完了です。

于 2012-10-08T12:20:19.153 に答える
1

Ruby ライブラリに応答をデコードするための何らかのヘルパーがあるかどうかはわかりませんが、着信メッセージは、(Nexmo ダッシュボードで) 番号に対して構成した URL への単純な HTTP GET または POST です。

着信メッセージのドキュメントは次のとおりです。

(免責事項: 私は Nexmo の開発者伝道を少し行っています。 )

于 2012-10-05T16:17:43.810 に答える