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

2022-02-25 00:00:00 twilio 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?

php>

解决方案

应该可以在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
 */
?>

相关文章