代码之家  ›  专栏  ›  技术社区  ›  Piyush Zalani

使用Twilio将消息转发到另一个号码

  •  2
  • Piyush Zalani  · 技术社区  · 8 年前

    我想把所有收到的信息都转发到另一个号码和我在Twilio上得到回复的号码,

    例如: 我有一个斜纹号码“+144444444”,我从号码“say:“+155555555”得到了回复,我想把所有的信息转发到号码“+199999999”。 所以我想转发号码为“+199999999”的所有邮件,这些邮件应该从“+155555555”接收,而不是从“+144444444”接收, 如果Twilio中有一个API可以使用nodeJs实现一个技巧,请告诉我们。

    注意:短信转发号码可以是动态的,在这种情况下,我们不能使用Twiml,如果我们可以使用Twiml,请让我们知道如何设置动态转发号码。

    还获得了以下链接,说明如何转发短信,但与我们试图使用nodeJS实现的方法无关: https://support.twilio.com/hc/en-us/articles/223134287-Forwarding-SMS-messages-to-another-phone-number

    谢谢,任何帮助都将不胜感激。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Harshal Yeole    8 年前

    更新的答案

    谢谢,@Alex和@Piyush澄清了这个问题:

    真的很抱歉!谢谢你的澄清。如果我现在正确地理解了您的意思,那么您需要将消息转发到另一个号码,但请使用消息中的原始号码。不幸的是,没有办法这样做。您可以转发邮件并在邮件正文中包含原始发件人,但无法将实际发件人替换为原始发件人。

    让我知道,如果我这次理解正确,如果有什么我可以帮助。

    旧答案(带有自己号码的邮件转发)

    在使用我们的助手库时,您可以动态地使用TwiML,因此应该可以使用Node设置。当webhook将消息发送到节点应用程序时,可以检查消息的正文,并发出有条件的SMS请求或 有条件地指向不同的TwiML 基于身体的内容。下面是一个如何设置 有条件答复 对于基于节点中消息正文的传入消息:

    https://www.twilio.com/docs/sms/tutorials/how-to-receive-and-reply-node-js

    虽然这个例子是用来回复消息的,但是它向您展示了条件TwiML的工作原理。

    您只需在邮件请求中添加一个要将邮件转发到的“收件人”号码。

    下面是条件转发的示例。

    const http = require('http');
    const express = require('express');
    const MessagingResponse = require('twilio').twiml.MessagingResponse;
    const bodyParser = require('body-parser');
    
    const app = express();
    
    app.use(bodyParser.urlencoded({ extended: false }));
    
    app.post('/', (req, res) => {
      const twiml = new MessagingResponse();
    
    
      twiml.to = "+1234567890 // Your number here.
    
    
      if (req.body.Body == 'hello') {
        twiml.message('Hi!');
      } else if (req.body.Body == 'bye') {
        twiml.message('Goodbye');
      } else {
        twiml.message(
          'No Body param match, Twilio sends this in the request to your server.'
        );
      }
    
      res.writeHead(200, { 'Content-Type': 'text/xml' });
      res.end(twiml.toString());
    });
    
    http.createServer(app).listen(1337, () => {
      console.log('Express server listening on port 1337');
    });
    

    让我知道如果这有帮助,如果你还有问题如何设置这个。