成功执行另一个功能后如何运行一个功能

时间:2019-12-24 16:07:58

标签: php laravel twilio-api twilio-php

我有2个使用Twilio分别发送媒体文件和文本消息的功能。大多数时候,我想先发送照片,然后再发送短信。但是,当我同时调用这两个功能时,短信会在照片之前发送。如何确保照片先发送文字。

//sends photo
   public static function sendMediaMessage($phone, $mediaUrl, $msg = null){
        try{

            $client = new Client(env('TWILIO_SID'), env('TWILIO_TOKEN'));
            $send = $client->messages->create(
                "whatsapp:".$phone,
                array(
                    'from' => "whatsapp:".env('TWILIO_NUMBER'), 
                    'body' => $msg,
                    'mediaUrl' => [$mediaUrl],

                )
            );

        }catch (\Exception $exception){

        }
    }

//send text messages
public static function sendWhatsAppMessage($phone, $message){

        try{

            $client = new Client(env('TWILIO_SID'), env('TWILIO_TOKEN'));
            $send = $client->messages->create(
                "whatsapp:".$phone, // Text this number
                array(
                    'from' => "whatsapp:".env('TWILIO_NUMBER'), 
                    'body' => $message
                )
            );

        }catch (\Exception $exception){

        }

    }

拨打电话

myClass::sendMediaMessage();
myClass::sendWhatsAppMessage();

1 个答案:

答案 0 :(得分:2)

Twillio documentation建议您可以使用statusCallback字段提供一个回调URL。

  

如果指定,我们会将这些消息状态更改发布到URL:已排队,失败,发送,已传递或未传递。

您可以为其配置路由,然后发送第二条消息。

或者,您可以查看Twillio拥有的message feedback系统。

  

要跟踪消息反馈,必须在首次创建消息时设置ProvideFeedback = true。这将创建结果未确认的消息反馈实例。

我不确定应使用上述哪种方法,具体取决于您。