Использование TwilioClient для выполнения Studio Flow из функции времени выполнения

Я создал Twilio Studio Flow для исходящего вызова, который запускается через REST API. Я хотел бы вызвать это из функции времени выполнения Twilio, но при использовании библиотеки TwilioClient возникают ошибки.

Запуск Studio Flow через командную строку успешно работает следующим образом:

curl -X POST "https://studio.twilio.com/v1/Flows/FWXXXXXXXXXXXXXXXXXXXXXXXXXX/Executions" -d "To=+1XXXXXXXXX" -d "From=+1XXXXXXXXXX" -u ACCOUNT_SID:AUTH_TOKEN

Но попытка сделать эквивалент через функцию времени выполнения не удалась:

exports.handler = function(context, event, callback) {
  const twilioClient = context.getTwilioClient();
  console.log(twilioClient.studio);
  twilioClient.studio.flows('FWXXXXXXXXXXXXXXXXXXXXXXXXXX').executions.create({ 
    to: '+1XXXXXXXXX', 
    from: '+1XXXXXXXXXX', 
    parameters: JSON.stringify({
      name: "Client"
    })
  })
  .then(function(execution) { 
    console.log(execution.sid); 
    callback(null, execution.sid);        
  })
  .catch(error => {
    console.error(`problem with request: ${error.message}`);
    callback(error.message);
  });
};

Произошла следующая ошибка:

{ message: 'Cannot read property \'flows\' of undefined',
  name: 'TypeError',
  stack: 'TypeError: Cannot read property \'flows\' of undefined\n    at Object.exports.handler (/var/task/handlers/ZF3ef70f4f38cfdf1c656da43214c01e18.js:6:19)\n    at Object.exports.handler (/var/task/node_modules/enigma-lambda/index.js:306:10)\n    at exports.handler (/var/task/enigma.js:17:9)' }

Я играл с этим несколько часов и, похоже, не приблизился к решению. Любая помощь в указании мне правильного направления будет очень признательна!


person Mr Citizen    schedule 27.05.2019    source источник


Ответы (1)


Убедитесь, что вы используете текущую версию вспомогательной библиотеки Twilio. Вы можете просмотреть свои текущие версии в разделе «Функции Twilio», «Настроить»: https://www.twilio.com/console/runtime/functions/configure (в разделе: twilio), версия 3.6.3 устарела.

Последнюю версию можно найти здесь: https://github.com/twilio/twilio-node/releases (в настоящее время 3.31.0).

person Alan    schedule 27.05.2019
comment
спасибо @alan. Это действительно была версия библиотеки. Я предполагал, что версия библиотеки, используемая по умолчанию, всегда была самой последней. Возможно, улучшение платформы Twilio будет заключаться в наличии раскрывающегося списка для модуля twilio NPM, чтобы пользователи могли видеть, где находится используемая ими версия по сравнению с другими доступными версиями. - person Mr Citizen; 28.05.2019