2016-11-15 8 views
1

У меня есть сценарий, где говорят в 5.00 утра каждое утро, у меня есть скрипт/пакетная работа на сервере, которая просыпается, выбирает номер телефона из списка на основе алгоритма, отправляет вызов на этот номер телефона и использует текстовое сообщение для доставки настроенного сообщения. У меня есть 2 вопроса,Twilio API для выполнения исходящих вызовов с речевым потоком

  1. Какой API Twilio можно использовать для достижения этого? Имейте в виду, что пользовательский интерфейс приложения отсутствует, и весь код будет на обратной стороне. Подумайте о потоке NodeRED или скрипте Python, который запускается в определенный момент времени.

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

ответ

1

Для этого вам необходимо будет использовать программируемый голос API от Twilio. Это позволяет воспроизводить аудиофайлы, текст в речь, делать и манипулировать телефонными звонками и т. Д. Я никогда не использовал Watson Text-to-Speech, но, если он может выводить аудиофайл, вы можете играть с Twilio TwiML.

Вот пример в узле.

npm install twilio 

//require the Twilio module and create a REST client 
var client = require('twilio')('ACCOUNT_SID', 'AUTH_TOKEN'); 

client.makeCall({ 

to:'+16515556677', // Any number Twilio can call 
from: '+14506667788', // A number you bought from Twilio 
url: 'url/to/twiml/which/may/have/WatsonURL' // A URL that produces TwiML 

}, function(err, responseData) { 

    //executed when the call has been initiated. 
    console.log(responseData.from); // outputs "+14506667788" 

}); 

TwiML может выглядеть следующим образом:

<Response> 
    <Play loop="1">https://api.twilio.com/cowbell.mp3</Play> 
</Response> 

Это будет играть колокольчика звук из API Twilio. Просто звук по умолчанию. Это может быть легко сгенерировано для воспроизведения звукового файла Watson, если вы можете получить URL-адрес для этого.

Вы можете сделать то же самое в узле, если не хотите вручную создавать XML.

var resp = new twilio.TwimlResponse(); 

resp.say('Welcome to Twilio!') 
    .pause({ length:3 }) 
    .say('Please let us know if we can help during your development.', { 
     voice:'woman', 
     language:'en-us' 
    }) 
    .play('http://www.example.com/some_sound.mp3'); 

Если вы должны были принять это ToString() было бы выход отформатирован XML (TwiML):

console.log(resp.toString()); 

Это выходы:

<Response> 
    <Say>Welcome to Twilio!</Say> 
    <Pause length="3"></Pause> 
    <Say voice="woman" language="en-us">Please let us know if we can help during your development.</Say> 
    <Play>http://www.example.com/some_sound.mp3</Play> 
</Response> 

Надеемся, что это очищает его для вас.

Scott

+0

Благодарим за предложение такого детального ответа Скотт! Можем ли мы отправить вам футболку? Отправьте сообщение по электронной почте [email protected] –

+0

Спасибо Меган. Я послал Вам письмо. –