如何使用 Twilio 进行"pass-through"短信交换?



由于某种原因,我很难理解Twilio模型的工作方式;结果,我正在尝试通过猜测(我 Hate 做的事情)来编码解决方案。

我已经设置了一个转发器,以便当有人将文本发送给我的Twilio号码时,我会在手机上收到它。问题是,当我回复该文本时,它转到Twilio而不是回到原始发件人。

我尝试将我的号码作为标签中的"从"字符串传递,但这被Twilio拒绝为不是有效的Twilio号码。

<?php header('Content-Type: text/html'); ?>
<Response>
  <!-- ****** This gets rejected: ****** -->
  <!-- Message to="<?=$_REQUEST['PhoneNumber']?>" from="<?=$_REQUEST['From']?>" -->
  <Message to="<?=$_REQUEST['PhoneNumber']?>">
    <?=htmlspecialchars(substr($_REQUEST['From'] . $_REQUEST['Body'], 0, 1600))?>
  </Message>
</Response>

当消息从Twilio转发给您时,您需要知道启动消息的电话号码。

当您发送消息时,您需要告诉Twilio在哪里发送消息。

so,使用类似的约定:消息以电话号码开头,然后是/,然后是实际消息,您可以将此代码用于Webhook。

<?php
    header("content-type: text/xml");
    echo "<?xml version="1.0" encoding="UTF-8"?>n";
?>
<?php 
$myPhoneNumber = "+15557779999"; 
if ($_REQUEST['From'] == $myPhoneNumber) {
    $message = explode("/", htmlspecialchars(substr($_REQUEST['Body'], 0, 1600)));
    $theOtherPhoneNumber = $message[0];
    $theOtherMessage = $message[1];
    echo(
        "<Response>
          <Message to="{$theOtherPhoneNumber}">
            {$theOtherMessage}
          </Message>
        </Response>"
    );  
} else {
    $message = htmlspecialchars(substr($_REQUEST['From'] ."/ " .$_REQUEST['Body'], 0, 1600));
    echo(
        "<Response>
          <Message to="{$myPhoneNumber}">
            {$message}
          </Message>
        </Response>"
    );
}
?>

您可以看到,代码检查您的电话号码。如果Twilio收到的消息来自您的号码,则代码将其发送到您在消息开始时发布的数字。您的消息应该是这样的:

+15553331111/ Hey, how is going?

Twilio如果需要更详细的内容,则有一些蒙版电话号码的教程。https://www.twilio.com/docs/tutorials

相关内容

  • 没有找到相关文章

最新更新