我们正在建立一个IVR,每个城市有多个号码用于各种广告系列。例如:Metro,Bus,Google,Facebook,Website等。
当有来电时,我们正在使用该号码在Salesforce上创建一个潜在客户,但我们错过了广告系列。
虽然可以访问CallFrom编号{{trigger.call.From}}和CallTo编号{{trigger.call.To}},但我们也想访问该号码的友好名称。
此号码的友好名称包含广告系列,有没有办法访问它,所以它会与其余信息一起发送出来?
由于
答案 0 :(得分:0)
Twilio开发者传道者在这里。
当您收到来自Twilio的来电时,您只会收到request parameters in the documentation,其中不包含您的号码的友好名称。
您可以使用Twilio函数作为Studio流程的一部分来获取该数字。您需要将from number作为参数传递给Function,方法是将它设置为widget设置中的参数,如下所示:
正如您所看到的,我们正在使用数据trigger.call.To
,这是传入的电话号码。
然后,你的函数看起来像这样:
exports.handler = function(context, event, callback) {
const phoneNumber = event.To;
const client = context.getTwilioClient();
client.incomingPhoneNumbers.list(
{
phoneNumber: phoneNumber
},
(err, data) => {
if (err) {
return callback(err);
}
const response = { FriendlyName: data.incomingPhoneNumbers[0].friendlyName };
callback(null, response);
}
);
};
这会将数据返回到您的流程中,您可以稍后在流程中以{{widgets.MY_WIDGET_NAME.parsed.FriendlyName}}
的形式访问它。
让我知道这是否有帮助。
答案 1 :(得分:0)
一些旧帖子,以防万一这可以帮助某人...
首先,谢谢Phil为我提供的指导。我必须稍加修改您的代码才能使其与3.x Twilio Client API一起使用,并且我添加了phoneNumber本身作为后备值。这个版本是“众所周知的”,并且在本文发布之日对我有用:
exports.handler = function(context, event, callback) {
const phoneNumber = event.To;
const client = context.getTwilioClient();
client.incomingPhoneNumbers.list(
{
phoneNumber: phoneNumber
},
(err, data) => {
if (err) {
return callback(err);
}
console.log("data = " + data);
var fName;
if (data.length) {
fName = data[0].friendlyName;
}
else {
fName = phoneNumber;
}
const response = { FriendlyName: fName };
callback(null, response);
}
);
};