从语音IVR传递功能参数

问题描述

对于Twilio来说我是一个非常陌生的人,但是到目前为止,我已经在studio中构建了安静的小部件网络,并且我喜欢这个系统的设计。到目前为止,我唯一的问题是能够获取用户输入并将其传递给函数

在我的语音IVR-Twilio Studio上,我有一个呼叫时收集输入小部件,该小部件要求呼叫者输入代码。从那里,用户按下的键结果进入运行功能小部件。

我的运行功能属性设置为正确的功能URL,功能参数设置为

KEY: passedID VALUE: {{widgets.security.Digits}}

安全性是收集呼叫时输入小部件的正确名称。从那里,我的函数中包含以下代码

exports.handler = function(context,event,callback) {
    
    // get passed IDs
    let passedID1 = context.passedID;
    
    // default to wrong ID entered
        callback(null,"0");

    // approved IDs
    var emps = ["99999"];

    // check if ID matches list
    var emps1 = emps.includes(passedID1);

    // good id found
    if (emps1 === true){
        callback(null,"1");
    }
    
};

在我生命中,我无法弄清为什么输入没有传递给函数


据我所知,一切都运行良好,只是没有得到关键参数...。我将脚本更改为此

exports.handler = function(context,callback) {
    
var passedID1 = context.passedID;

var emps = [41079,99999];

function CheckID() {
    var IDstatus = emps.includes(passedID1);
  if (IDstatus === true){
    IDstatus = 1;
  }else{
    IDstatus = 0;
  }
    return IDstatus;
}

callback(null,CheckID());
    
};

如果将context.passedID更改为99999,则流程将正常运行。

解决方法

您要从event对象而不是context对象获取值。

var passedID1 = event.passedID;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...