Отправка динамического текста в голосовой вызов без ссылки на URL

В документации Twilio говорится, что вы можете отправить текст на голосовой вызов статически, например:

use Twilio\Rest\Client;

$AccountSid = "";
$AuthToken = "";

$client = new Client($AccountSid, $AuthToken);

try {
$call = $client->account->calls->create(
"+15555551234",
"+15555554321",
array("url" => '/twilio/twilio.welcome.message.php')
);
echo "Started call: " . $call->sid;
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}

Я считаю, что это немного много для динамически создаваемых сообщений. Это хорошо для статических сообщений. Что я хочу сделать, это что-то вроде этого:

use Twilio\Twiml;

$response = new Twiml();
$response->say('Chapeau!', ['voice' => 'woman', 'language' => 'fr']);

$AccountSid = "";
$AuthToken = "";

$client = new Client($AccountSid, $AuthToken);

try {

$call = $client->account->calls->create(
"+phoneNumber",
"+phoneNumber",
array("response" => $response)
);
echo "Started call: " . $call->sid;
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}

Это намекает на возможность сделать это в документации, но я не могу найти это нигде. Я был бы очень шокирован, если бы не было более простой реализации, чем создание php-скрипта, вызов, а затем удаление, чтобы заставить это работать. Но я видел худшие вещи в своей жизни.

1

Решение

Twilio разработчик евангелист здесь.

Боюсь, что нет способа отправить TwiML в Twilio для выполнения при ответе на звонок. Вам все еще нужно отправить URL, который будет ответить TwiML когда вызов подключен.

Однако вы можете заставить этот URL реагировать динамически. Если вы просто отправляете сообщение для считывания, вы можете отправить это сообщение в качестве параметра запроса в URL, а затем использовать это сообщение при вызове webhook. Например:

$message = "Hello! This is a message!";
$call = $client->account->calls->create(
"+15555551234",
"+15555554321",
array("url" => '/twilio/twilio.welcome.message.php?message='.urlencode($message))
);

Затем в вашем webhook:

<?php
$message = $_REQUEST['message'];
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='UTF-8'?>\n";
?>
<Response>
<Say><?php echo $message ?></Say>
</Response>

Таким образом, вы можете динамически создавать сообщения, но размещать только одну конечную точку webhook.

Дайте мне знать, если это поможет.

1

Другие решения

Как насчет использования бин Twiml? Таким образом, вместо указания на ваш сервер, у вас будет размещенный URL-адрес twilio, который создаст для вас twiml. Он поддерживает динамические переменные, циклы и т. Д.

увидеть : https://support.twilio.com/hc/en-us/articles/230878368

А затем используйте динамические переменные, как это:

<Say>Hello {{CustomerName}}</Say>
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector