Голос и сообщение в одном ответе с использованием функций Twilio - PullRequest
0 голосов
/ 08 октября 2018

Я мигрирую из Тропо в Твилио.Мне нужно отправить SMS на контролируемый телефонный номер при разборе голосового вызова (система меню).

Поток должен быть:
1. Входящий голосовой вызов
2. Функция отправляет SMSна один или несколько мобильных телефонов // оповещения есть голосовой вызов
3. Система голосового IVR вступает во владение и обрабатывает вызов

Использование функций времени выполнения Twilio (размещенный в twilio node.js) Мне кажется, что я не могуобъединить обе эти потребности в одну функцию, так как обратный вызов ищет один объект twiml.Кроме того, мне также кажется, что я не могу отправить SMS из голосового вызова.

Есть ли где-нибудь пример кода или есть надежная документация, которая может помочь мне в достижении моей цели?

Следующеекод работает, но служба технической поддержки Twilio посоветовала мне не использовать глагол SMS, поскольку его будущая жизнеспособность не гарантируется.

exports.handler = function (context, event, callback) {

let twiml = new Twilio.twiml.VoiceResponse ();

twiml.say ("Hello World");// ответить на голосового абонента
twiml.sms ({to: "+ 19735551212"}, "Hello SMS !!");// отправить SMS

callback (null, twiml);

}

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Я работал с одной итерацией.Приведенный выше пример @philnash был верным с одним семантическим исключением.Параметр «from» должен использовать «event.To» или «event.Called», так как Twilio требует действительный номер Twilio.«event.From» в моем случае был мой сотовый телефон, а не vaild номер Twilio.

exports.handler = function(context, event, callback) {
    const client = context.getTwilioClient();
    client.messages.create({  // Send SMS
        to: "+19735551212",
        from: event.Called,  // **must be a valid Twilio number **
        body: "Hello from SMS"
    }).then(function(message) {
        console.log(event.Called);
        console.log(message.sid);
        let twiml = new Twilio.twiml.VoiceResponse();
        twiml.say("How now brown cow ");
        callback(null, twiml);
    });  
}
0 голосов
/ 10 октября 2018

Разработчик Twilio здесь.

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

Например:

exports.handler = function(context, event, callback) {

    const client = context.getTwilioClient();
    client.messages.create({  // Send SMS
        to: "+19735551212",
        from: event.From,
        body: "Hello from SMS"
    }).then(() => {  // When request to send SMS is complete, deal with the caller
        let twiml = new Twilio.twiml.VoiceResponse();
        twiml.say("Hello World");   // respond to voice caller
        callback(null, twiml);
    })    
}
...