我们正在建立一个 IVR,并且每个城市都有多个号码用于各种活动。例如:Metro、Bus、Google、Facebook、网站等。
当有电话打进来时,我们正在 Salesforce 上使用该号码创建潜在客户,但我们错过了活动。
在访问 CallFrom 号码 {{trigger.call.From}} 和 CallTo 号码 {{trigger.call.To}} 的同时,我们还希望访问该号码的友好名称。
这个数字的友好名称包含活动,有没有办法访问它,以便将其与其余信息一起发送出去?
谢谢
我们正在建立一个 IVR,并且每个城市都有多个号码用于各种活动。例如:Metro、Bus、Google、Facebook、网站等。
当有电话打进来时,我们正在 Salesforce 上使用该号码创建潜在客户,但我们错过了活动。
在访问 CallFrom 号码 {{trigger.call.From}} 和 CallTo 号码 {{trigger.call.To}} 的同时,我们还希望访问该号码的友好名称。
这个数字的友好名称包含活动,有没有办法访问它,以便将其与其余信息一起发送出去?
谢谢
Twilio 开发人员布道者在这里。
当您收到来自 Twilio 的来电时,您只会收到文档中的请求参数,其中不包括您号码的友好名称。
您可以使用 Twilio 函数作为 Studio 流程的一部分来获取该数字。您需要将 from 编号作为参数传递给函数,方法是将其设置为小部件设置中的参数,如下所示:
如您所见,我们使用的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}}.
让我知道这是否有帮助。
有点旧帖子,以防万一这可以帮助某人...
首先,谢谢菲尔给我指路。我不得不稍微修改您的代码以使其与 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);
}
);
};