我有一个应用程序,等待收到我的twilio号码的短信,然后回复一些信息。但是,根据我的理解,出站短信不会立即发送,因为我的应用程序会在发送短信响应之前等待流程和其他一些步骤完成。
当我将收到的短信发送到我的Twilio号码时,会触发该过程,我在Twilio仪表板上看到一个错误。错误是14103无效的正文。看起来好像Twilio立即尝试回复我传入的短信,因为我的应用程序没有立即回复,它显示一个无效正文(必须指定邮件正文)错误。
如何设置它以便在Twilio收到传入的短信时,它不会等待我的应用中的邮件正文?
对不起,如果我不清楚,我对Twilio很新,我正在学习。谢谢!
编辑:添加了代码和我在Twilio信息中心上看到的内容的屏幕截图。
<?php
include "shared.php";
if(isset($_GET['api']) || isset($_REQUEST['ApiVersion'])){
$q=isset($_REQUEST['Body'])?$_REQUEST['Body']:$_GET['q'];
$msg="Not authorized";
if($user=phone2user($_REQUEST['From'])){
if(auth_user($user,$q)){
$msg=mkresponse($smscbs,$q,$_REQUEST['From']);
}else{
$msg="I'm sorry $user, I'm afraid I can't do that.";
}
}
$arr=array('get'=>$_GET,'post'=>$_POST,'msg'=>$msg);
file_put_contents ("data/sms.log", sprintf("%s\t%s\n",date(DATE_RSS),json_encode($arr)), FILE_APPEND);
header("content-type: text/xml");
printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Response>
<Message>%s</Message>
</Response>",htmlspecialchars($msg));
exit;
}
tobrowser();
echo menu();
printf ("<form action='?'><input name='q' value='%s'><input type='submit'></form>",htmlentities($_GET['q']));
if(isset($_GET['q'])){
$q=$_GET['q'];
$user=$_SERVER['PHP_AUTH_USER'];
if(auth_user($user,$q)){
printf("<h3>Run query: %s</h3>",htmlspecialchars($q));
$r= mkresponse($smscbs,$q,123);
$r=htmlspecialchars($r);
printf("<pre>%s</pre>",$r);
}else{
echo "<h3>User $user not permitted to run query $q</h3>";
}
}
foreach($smscbs as $key => &$value ){
$key=preg_replace ("#^/\^?#", '', $key);
$key=preg_replace ("#/\w*$#", '', $key);
printf ("<a href='?q=%s'>%s</a><br/>",urlencode($key),htmlspecialchars($key));
}
?>