【问题标题】:How to run a function upon successful execution of another function如何在成功执行另一个函数后运行一个函数
【发布时间】:2019-12-24 16:07:58
【问题描述】:

我有 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();

【问题讨论】:

  • 我不能确定,但​​是,我想这将超出您的控制范围,因为 Twilio 可能对不同类型的消息使用不同的队列。同样,以这篇文章为例:support.twilio.com/hc/en-us/articles/…,也可能归结为运营商。

标签: php laravel twilio-api twilio-php


【解决方案1】:

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

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

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

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

要跟踪消息反馈,您必须在首次创建消息时设置 ProvideFeedback=true。这将创建一个结果为 unconfirmed 的消息反馈实例。

我不确定应该使用以上哪个,这取决于您。

【讨论】:

    猜你喜欢
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    相关资源
    最近更新 更多