首页 > 解决方案 > Twilio 虚拟阻止列表

问题描述

我正在尝试在 Twilio 中开发一个虚拟阻止列表。我被引导到他们的拒绝文件。我将其设置为功能区中的功能。我正在尝试弄清楚如何将它整合到我的 Studio - Flow 中。所以我有 Trigger > VirtualBlockList (Run function) > 然后是入站呼叫过程。我将号码设置为来电:Studio > Flow。不知道如何在流程中进行配置:我对 Twilio 完全陌生,我只是想帮助我们的开发团队,因为他们已经被淹没了。任何帮助都会有所帮助!另外,为了安全起见,我删除了我们的帐户 SID 和流 SID,因此我在其中放置了占位符。

配置流函数

exports.handler = function(context, event, callback) {
  // List all blocked phone numbers in quotes and E.164 formatting, separated by a comma
  let numberBlock = event.block || [ "+11234567896"" ];  
  let twiml = new Twilio.twiml.VoiceResponse();
  let blocked = true;
  if (numberBlock.length > 0) {
    if (numberBlock.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("https://webhooks.twilio.com/v1/Accounts/<account_sid>/Flows/<flow_sid>");
  }
  callback(null, twiml);
};

标签: twilio

解决方案


Twilio 开发人员布道者在这里。

在这种情况下,<Reject>从函数返回 用于结束调用。但如果您想继续 Studio Flow,最好不要返回 TwiML。

exports.handler = function(context, event, callback) {
  // List all blocked phone numbers in quotes and E.164 formatting, separated by a comma
  let numberBlock = event.block || [ "+11234567896" ];  
  let twiml = new Twilio.twiml.VoiceResponse();
  let blocked = true;
  if (numberBlock.length > 0) {
    if (numberBlock.indexOf(event.From) === -1) {
      blocked = false;
    }
  }
  if (blocked) {
    twiml.reject();
    callback(null, twiml);
  }
  else {
    // if the caller's number is not blocked, return an empty JavaScript object
    callback(null, {});
  }
};

然后,如果您将流程设置为在触发器之后通过函数,那么如果调用被拒绝,函数将处理该问题,如果调用可以继续,则函数的成功转换将导致下一次交互。

在此处输入图像描述


推荐阅读