Я думаю, что пытаюсь сделать что-то относительно простое, но не могу заставить это работать. В принципе, мне нужно «меню» Twilio. Например. Пользователь звонит на наш номер, мы говорим, что нажмите 1 для английского, 2 для китайского ... Я создал сборку twiml:
<Response>
<Gather numDigits="1" action="https://handler.twilio.com/twiml/XXX">
<Say voice="alice">For English, press 1 now.</Say>
<Say voice="alice"> For Chinese, press 2 now. </Say>
</Gather>
</Response>
Это работает, меня перенаправляют на мой второй twiml (проверено с простым ответом, скажем, twiml), но здесь все идет не так. Во втором скрипте, если я добавлю какой-нибудь php, он больше не будет работать. В основном я хочу перенаправить на другой твимл, чтобы сказать правильный ответ на нужном языке в зависимости от набранного номера. Мой twiml выглядит так (так что это то, что у меня буквально есть в twimlbin):
<?php
require_once './vendor/autoload.php';
use Twilio\Twiml;
$digits = $_REQUEST['Digits'];
switch ($digits) {
case 1:
$response = new Twiml();
$response->redirect('http://pigeons.com/twiml.xml', ['method' => 'POST']);
echo $response;
break;
case 2:
$response = new Twiml();
$response->redirect('http://pigeons.com/twiml.xml', ['method' => 'POST']);
echo $response;
break;
default:
echo '<Response>';
echo '<Say>Sorry, your response was invalid.</Say>';
echo '</Response>';
}
?>
Однако, когда у меня это есть, ничего не происходит. Я не исключаю ошибок скрипта, но затем изменил свой тимл на это:
<?php
header("content-type: text/xml");
?>
<Response>
<Say><?php echo "Test"?></Say>
</Response>
Однако я по-прежнему ничего не слышу, когда у меня есть этот сценарий, и я ничего не вижу в журнале отладчика. Я совершенно новичок в Twilio, поэтому мне может не хватать чего-то простого, но я не могу этого понять.
Итак, мой вопрос, почему это не работает в twiml? И если возможно, выглядит ли мой скрипт перенаправления нормально?
<?xml version="1.0" encoding="utf-8"?>
? Вы должны использовать объектTwiml()
для его создания - person Andy   schedule 04.08.2017