有没有办法以编程方式创建Twimlbin?

时间:2014-06-30 16:29:29

标签: php twilio twiml

我想创建一个用户可以输入电话号码和消息的应用程序,我可以让Twilio发送该电话号码,并将该文本合成。 example of the TwiML code我使用的是简单的

<?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Say>Hello World</Say>
    <Response>

为了完成这项工作,我尝试设置一个PHP函数,它接收消息并回应上面的TwiML,但我从测试报告中得到的电话调用应用程序失败。为了记录,这里是我尝试过的PHP代码。

echo "<?xml version='1.0' encoding='UTF-8'?>";
echo "<Response>";
echo "<Say>" . $_GET['message'] . "</Say>";
echo "</Response>";

然而,我很容易得到一个TwiMLBin来处理它(毕竟这是它的目的)。环顾四周之后,我无法找到有关网站API的任何信息。有没有人知道是否有一种以编程方式创建TwiMLBin的方法,以便我可以为用户输入的消息创建适当的TwiMLBin,然后将我的Twilio函数调用指向相应的URL?

1 个答案:

答案 0 :(得分:1)

这样的东西应该在PHP中运行。 cURL有许多编程语言可供选择,因此您可以将其反转。

<?php

/* 
 * Create TWimL Bin
 */
$url = "http://twimlbin.com/create";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$html = curl_exec($ch);
$status_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);

if($status_code=302 or $status_code=301){
  $TwimLBinURL = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
}
curl_close($ch);
/*
 * Update TwimL with XML
 */
$ExplodeTwimLBinURL = explode("/", $TwimLBinURL);
$TwimLBinID = $ExplodeTwimLBinURL[3];

$TwimLBinUpdateUrl = "http://twimlbin.com/".$TwimLBinID."/update";
$data = "twiml=<PUT TWIML XML HERE>";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$TwimLBinUpdateUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);
echo $TwimLBinURL;
/*
 * End of TwimL Bin Creation
 */
?>