如何管理短信和通过twilio从webapp回复

时间:2016-06-01 14:12:52

标签: php laravel laravel-5.1 twilio twilio-php

我正在使用laravel 5.1和twilio创建一个消息传递Web应用程序,我正在使用laravel-twilio包。

已在twilio信息中心中完成设置和配置

  1. 在可编程短信部分,我用副驾驶创建了一个短信服务,其中包括一个电话号码((xxx)xxx-xxx)。

  2. 给出入站请求网址。

  3. 我的laravel应用程序代码

    我有简单的用户用户消息,其中两个用户都在线,与twilio无关。但是假设其中一个用户处于离线状态而另一个用户处于离线状态,并且在线用户向离线用户发送聊天消息,那么我必须通过短信通过短信通知短信用户的电话号码。

        public static function notifyOfflineUser($user,$reply_text){
                $message = "Mysite: ".$user->user_from->firstname.", '".strip_tags($reply_text)."' Reply via mysite ".url('general-message')." or SMS";
                if($user->profile->mobile) {
                    try {
                        \Twilio::message($user->profile->mobile, $message);
                    } catch (\Exception $e) {
    
                    }
                }
            }
    

    它正在从twilio电话号码向用户发送短信。

    用户可以将此消息从他/她的电话回复到此号码。 如果回复成功,我必须将消息添加到在线用户的留言板。

    //Inbound request url routed to this url with From number, body and other data.
    
        public function smsReply(Request $request){
    
            $user_id_to = Profile::where('mobile', $request->get('From'))->first(['user_id'])->user_id;
            $body = $request->get('Body');
    
            $user_id_from = Message::where('user_id_to', $user_id_to)->orderBy('id', 'desc')->first()->user_id_from;
    
            //dd($request->all());
            $message = new Message();
            $message->user_id_from                  = $user_id_to;
            $message->user_id_to                    = $user_id_from;
            $message->message                       = $body;
            $message->save();
            return response()->json(true);
        }
    

    现在,如果多个在线用户向该离线用户发送聊天消息,离线用户将从相同的twilio号码获得多个短信,并且所有短信都在相同的堆栈中,这意味着如果他/她不是来自不同的短信回复它将发送到相同号码的短信,并且所有在线用户将在他们的留言板中添加相同的消息。

    现在这是我的问题..

    还有什么需要形式twilio像多个号码,短码,toll​​free或我必须用我的laravel代码做技巧所以我可以将每个短信发送到离线用户的手机作为不同的短信所以我可以区别他们入站请求网址?如果需要更多信息,请随时问我。

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

为了能够处理这样的多个对话,您将需要多个数字。这样,一个数字可以表示两个用户之间的关系,您可以告诉用户响应的内容。

我建议您查看此tutorial on building SMS conversations using multiple numbers with Laravel以获取更多信息。