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

Is it possible, in Twilio Studio, to track and sync data from a gather input widget to a database file such as google spreadsheet or JSON?

项目看起来像这样。 当有人拨打我的 Twilio 号码时,

  1. IVR 将使用“收集输入”小部件询问抵押 ID 号。

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

  3. IVR会读回以下等同于Mortgage id number数据的信息:

    -BORROWER NAME ( Borrower...John Doe)
    

    -贷款人姓名(您的贷款......富国银行)

    • 截止日期(截止日期...2021 年 3 月 16 日)...

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

让我知道这在 twilio studio 中是否可行?

提前致谢。

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

下面是从 Twilio 资产解析 JSON 的示例。您还可以使用 Twilio Sync, here is a CRUD code example 通过 Twilio 函数,了解 Sync 不能替代高性能数据库。

您也可以使用 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);
};