使用Twilio交付SMS后获得SMS的费用

时间:2019-07-18 18:38:50

标签: php twilio twilio-php

我正在研究一个项目,在某些事件下它将发送一条SMS消息。

我计划的是SMS交付时,我会保留一条记录,既可以用于调试目的(如果需要),也可以保留我的服务正在发生的历史。我计划记录的一件事是传递消息的成本。从Twilio文档看来,这是可能的,除了当我发送消息时,我返回的响应是状态queued,价格是null

然后我使用Twilio Webhook回叫进行了调查,以便我收到有关SMS传送状态的更新,这也很好,但我没有得到价格,我只收到以下消息:

(
    [SmsSid] => redacted
    [SmsStatus] => delivered
    [MessageStatus] => delivered
    [To] => redacted
    [MessageSid] => redacted
    [AccountSid] => redacted
    [From] => redacted
    [ApiVersion] => 2010-04-01
)

以下是我发送短信的方式

$twilio = new \Twilio\Rest\Client($sid, $token);
            $message = $twilio->messages->create("redacted", array(
                "body" => $smsContent,
                "from" => "redacted",
                "statusCallback" => $callback
            ));

我如何从Twilio获得短信发送的价格?

1 个答案:

答案 0 :(得分:0)

我已经找到了一种方法,但是似乎效率不高,因为我必须向Twilio发送另一个请求以获取SMS的完整状态,但这是我的工作方式。

我通过Webhook收到了Twilio请求,然后我使用SmsId来获取消息,该消息的发布方式如下:

$smssid = $_POST["SmsSid"];
$twilio = new \Twilio\Rest\Client($sid, $token);
$message = $twilio->messages($smssid)->fetch();
$twilioResponse = new TwilioResponse($message);

FYI TwilioResponse是我自己的类,具有在构造函数中传递的$ message,然后使用它来构建和解析自己的版本以满足我的需要。