您好我对Twilio很新,但我试图查找如何回答这个问题。我想用Twilio函数来解决我的问题。我想知道两个人是否有可能互相发送短信而不会泄露他们的任何一个号码。
我希望每对只有一个新数字。
我想象它将通过条件陈述,其中人X向twilio号发送消息而Y人接收消息,反之亦然。我认为由于这个条件语句,这不能用twiML箱子来完成。
感谢您的关注。
答案 0 :(得分:2)
Twilio开发者传道者在这里。
你绝对可以用Twilio Functions来做到这一点。这是一个使用数字来屏蔽两个呼叫者之间的SMS消息的简单示例。
class NumberMapping {
constructor() {
this.mapping = {};
}
addMaskedPair(numberA, numberB, twilioNumber) {
if (!this.mapping[twilioNumber]) {
this.mapping[twilioNumber] = {};
}
this.mapping[twilioNumber][numberA] = numberB;
this.mapping[twilioNumber][numberB] = numberA;
}
findNumber(from, to) {
const numberPairs = this.mapping[to];
if (!numberPairs) { return undefined; }
return numberPairs[from];
}
}
const numberMapping = new NumberMapping();
numberMapping.addMaskedPair('+1234567890', '+1098765432', '+1203948576');
exports.handler = function(context, event, callback) {
const to = numberMapping.findNumber(event.From, event.To);
if (typeof to !== 'undefined') {
const response = new Twilio.twiml.MessagingResponse();
response.message({ from: event.To, to: to }, event.Body);
callback(null, response);
} else {
callback(new Error(`Number mapping couldn't be found for sender ${event.From} and Twilio number ${event.To}.`));
}
};
我们的想法是创建一个NumberMapping
对象,该对象在两个外部数字和Twilio数字之间进行映射。您可以使用以下命令添加映射:
numberMapping.addMaskedPair(firstNumber, secondNumber, twilioNumber);
然后当你需要检索一对中的其他号码时,你可以调用
numberMapping.findNumber(number, twilioNumber);
其余的只是返回TwiML的功能。
注意,您只需要与具有最大关系集的数字的关系一样多的Twilio数字。
让我知道这是否有帮助。
答案 1 :(得分:0)