Обязательный - я очень новичок во всех вещах Twilio и API, так что простите мое невежество ...
Я пытаюсь сделать вызов API в базе данных FileMaker для запуска сценария. Я должен подтвердить подлинность сеанса, и я могу сделать это успешно. Я пытаюсь использовать сгенерированный токен в той же функции twilio. Возможно ли это?
exports.handler = function (context, event, callback) {
var got = require('got');
var requestPayload = {
"fmDataSource": [
{
"database": "fm_data_api",
"username": "testuser",
"password": "testpass"
}
]
};
var username = "testuser";
var password = "testpass";
var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
got.post('https://api.website.com/database/sessions',
{ body: JSON.stringify(requestPayload),
headers: {
'Authorization': auth,
'Content-Type': 'application/json',
},
}).then(function(response) {
console.log(response.body);
callback(null, response.body);
var fmScript = {
"fieldData": [
{
"script": "fm_twilio_api",
"script.param": "random information from twilio studio",
}
]
};
var token = response.token;
got.post('https://api.website.com/database/records',
{ body: JSON.stringify(fmScript),
headers: {
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json',
},
}).then(function(response) {
console.log(response.body);
callback(null, response.body);
}).catch(function(error) {
callback(error);
});
});
};
Ниже показано, что возвращает первая половина приведенного выше кода
{"response":{"token":"insertTokenHere"},"messages":[{"code":"0","message":"OK"}]}.
Я также попытался установить переменную в моем Twilio Studio Flow, используя ответ от функция
{{widgets.api_function.parsed.response.token}}
, но она всегда пуста. Я действительно хотел бы выполнить это в одной функции, если это возможно, и не нужно go возвращаться в поток.
Как бы я использовал вновь сгенерированный токен в той же функции Twilio?