在 Twilio Studio 中,是否可以将数据从收集输入小部件跟踪和同步到数据库文件例如谷歌电子表格或 JSON?

问题描述

项目是这样的。 当有人拨打我的 Twilio 号码时,

  1. IVR 将使用 Gather Input 小部件询问抵押贷款 ID。

  2. 一旦来电者输入了他们的抵押贷款 ID 号码。

  3. IVR 将回读以下相当于抵押贷款 ID 数据的信息:

    -BORROWER NAME ( Borrower...John Doe)
    

    -LENDER NAME(您向....富国银行贷款)

    • 关闭日期(关闭日期... 2021 年 3 月 16 日)...

    (我相信为此我需要一个数据库,它可以是一个谷歌电子表格或 JSON 文件,用作数据资产以查找上面写的特定信息。)

如果这在 twilio 工作室中可行,请告诉我吗?

提前致谢。

解决方法

这当然是可能的,并且是 Twilio Studio 的一个非常常见的用例。对于开发,您可以使用托管在 Twilio Assets 上的平面文件来托管 JSON,但在生产中,您将与后端数据源公开的 REST API 接口,用于查找抵押贷款 ID 并返回相关信息。>

以下是从 Twilio 资产解析 JSON 的示例。您也可以使用 Twilio Sync,这里是使用 Twilio 函数的 CRUD code example,了解同步不能替代高性能数据库。

您也可以使用 Airtable。

Using Airtable as a database for your Twilio app

Writing to Airtable from your Twilio app

读取/解析 Twilio 资产

const fs = require('fs');

exports.handler = function(context,event,callback) {
    let fileName = 'blockist.json';
    let file = Runtime.getAssets()[fileName].path;
    let text = fs.readFileSync(file);
    let blocklist = Object.values(JSON.parse(text));
    console.log(blocklist);
    
    let twiml = new Twilio.twiml.VoiceResponse();
  
    let blocked = true;
    if (blockist.length > 0) {
        if (blockist.indexOf(event.From) === -1) {
        blocked = false;
    }
  }
  if (blocked) {
    twiml.reject();
  }
  else {
  // if the caller's number is not blocked,redirect to your existing webhook
    twiml.redirect("XXXXXX");
  }
  callback(null,twiml);
};

相关问答

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