Michael Hartl の Rails に関するチュートリアルの後、Rails と Twilio についてさらに学習するために、通話追跡アプリを作成しようとしています。
これまでのところ、なんとか作成できました-
- 認証
- ストライプとの統合
- 登録したすべてのユーザーは、Twilio サブアカウントを自動的に取得します
- ユーザーは電話番号を検索して購入できます
(これは、過去 5 日間で 20 の Stackoverflow の質問で行われました!)
今、私がやりたいことは、実際にTwilio経由で通話データを記録する機能を作成することです.
ここに php チュートリアルがあります: http://www.twilio.com/docs/howto/call-tracking
これをどのように機能させるかを概念化するのに苦労しています。つまり、twilio 番号を介して通話をルーティングし、情報を受信するには、どのコントローラー/アクションの組み合わせが必要ですか?
これまでのところ、私は3つのモデルを持っています
計画モデル
# name :string(255)
# max_phone_numbers :integer
# max_minutes :integer
# price :integer
has_many :users
ユーザーモデル
# name :string(255)
# email :string(255)
# twilio_account_sid :string(255)
# twilio_auth_token :string(255)
# plan_id :integer
# stripe_customer_token :string(255)
belongs_to :plan
has_many :phones
電話モデル
# campaign_ :string(255)
# twilio_number :integer
# original_number :integer
# user_id
belongs_to :user
今、Phone_data という新しいモデルを考えています。has_many Phone_datas よりも電話モデル。関連付けを使用して、特定の電話のデータを表示できます。
考えられる新しいモデル: phone_data
#Data that twilio can save to each phone(duration of call, etc )
#phone_id
#belongs_to phones
私の質問は、phone_data モデルは理にかなっていますか、さらに重要なことは、次の機能を実現するために、コントローラーがどのように見えると思いますか?
リードは Twilio 番号にダイヤルし、Twilio POST 情報をアプリケーションに送信します
アプリケーションは Twilio 通話情報を適切な phone_data 関連付けに保存します
アプリケーションは TwiML 命令を送信して、original_number をダイヤルします
リードとエージェントは、どちらかが切断されるまで会話を続けます
Twilio はダイヤル アクション URL を要求し、2 番目のコール レッグに関する情報を送信します。
これが彼らがPHPに使用するコードです