【发布时间】:2015-10-11 13:19:00
【问题描述】:
我正在尝试将 Twilio 集成到我的 Wordpress 网站中。
我们的想法是允许用户输入他们的电话号码以获取我们应用的下载链接。我们在这里建立了一个简单的表单 - http://evntr.co/download - 提交表单后,EvntrPHP.php 代码就会运行。
使用模板代码,我们可以轻松地获取表单,使用免费的 Twilio 号码将消息发送到经过验证的号码(当前位于“收件人”字段中的号码)。但是,当我们添加 StatusCallback 参数时,它永远不会调用我们的 callback.php 代码。 EvntrPHP.php 和 callback.php 都在根目录 -evntr.co/ 中。
<?php
require 'twiliophp/Services/Twilio.php';
$AccountSid = "--------";
$AuthToken = "---------";
$client = new Services_Twilio($AccountSid, $AuthToken);
$phonenum = $_POST["phonenum"];
$callbackURL = "https://evntr.co/callback.php";
$client->account->messages->create(array(
'To' => "XXXXXXXXXX",
'From' => "+XXXXXXXXXX",
'Body' => "Test Message",
'StatusCallback' => "https://evntr.co/callback.php",
));
?>
我的理解是流程应该是这样的:
- 用户导航到 evntr.co/download
- 用户用他们的号码提交表单
- form 调用 EvntrPHP.php 并向他们的号码发送一条短信
- 只要消息的状态发生变化(Sent、Delivered、Canceled 等),Twilio 就会 POST 到 callback.php。
但是,每次我提交表单时,都会发送消息并且页面只是停留在 evntr.co/EvntrPHP.php 并且从不加载 callback.php。也许这是我对回调 URL 工作方式的误解?或者,StatusCallback 参数可能不适用于免费的 Twilio 号码?
【问题讨论】: