Я хотел бы сделать приложение, в котором пользователь может ввести номер телефона и сообщение, и я могу отправить Twilio этому номеру телефона сообщение с синтезированным текстом. Пример кода TwiML, который я использую, является чем-то простым
<?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. 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 */ ?>