twilio - 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 开发人员布道者在这里。
在这种情况下,<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, {});
}
};
然后,如果您将流程设置为在触发器之后通过函数,那么如果调用被拒绝,函数将处理该问题,如果调用可以继续,则函数的成功转换将导致下一次交互。
推荐阅读
- python - Django 删除 OneToOneField
- javafx - 如何在javafx中绘制一个开放的弧?
- android - 视图周围的渐变阴影
- c++11 - 如何按字母顺序对结构中的字符串进行排序?
- excel - Excel删除两个特定单元格之间的行
- r - 每次第 2、3 或 4 列中的行值更改时,转置第 5-8 列
- android - android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class android.support.v7.widget.CardView
- sql - 从另一列中删除匹配字符串
- json - Json字符串数组到Vuex中的对象
- css - SASS/SCSS 用相对路径编译 css 文件 sass cli