Я бродил здесь и получил большинство ответов, пока пробираюсь через этот новый инструмент, но теперь я застрял и нуждаюсь в прямом совете.
Функция Gather в Studio не совместима с PCI, поэтому мне нужно перенести свой вызов на функцию и вернуть проанализированные данные - я наконец понял, как это сделать, - однако я обнаружил, что не могу вызвать веб сервис, размещенный в одной функции, и должен был отправить with event.Digits другой функции, чтобы вызвать веб-сервис к моему провайдеру токенов. Это работает, однако привело к странному результату: мой токен считывается как TTS, а затем вызов прерывается. Я не участвую в игре TTS. Ниже приведены мои наборы кода:
Первоначальная функция, вызываемая из Studio:
const got = require('got');
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
twiml.gather({
input: 'dtmf',
finishOnKey: '#',
timeout: 10,
action: 'paymenttest',
method: 'GET'
}).say('Enter CC');
console.log(twiml);
callback(null, twiml);
};
Это успешно вызывает мою функцию с введенными цифрами:
const got = require('got');
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.MessagingResponse();
const url ='my payment gateway' + event.Digits + '&EXPDATE=1220&CARDTYPE=VI';
got.get(url, {
headers: {
'content-Type': 'application/x-www-form-urlencoded'
}
}).then(function(response) {
// Check the response and ask your second question here
event.callback(null, response.body);
}).catch(function(error) {
// Boo, there was an error.
callback(error)
});
};
Это успешно возвращает токен ... но, как упоминалось ранее ... он зачитывается мне, а не включается в данные, возвращаемые обратно в Studio.
callback()
вместоevent.callback()
в вашем .then второй функции. - person Charlie Weems   schedule 02.01.2019