这里是 Twilio 开发者宣传员。
您完全可以使用 Twilio 函数来做到这一点。下面是一个使用数字来屏蔽两个呼叫者之间的 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 数字。
让我知道这是否有帮助。