使用Twilio在sms消息中包含可点击的链接

时间:2016-07-21 16:10:53

标签: sms twilio

我有一个Twilio号码,设置为在收到消息时执行webhook。我想在我发回给用户的响应中包含一个链接。即

请通过https://login.xyz.com/?client=SMS&userid=abc

登录XYZ.com

但是,当我发送回复时,我在Twilio调试器中收到架构验证错误,并显示以下消息。

<Response>
    <Message>Please login to Botler at 'https://login.xyz.com/?client=Twilio&userid=foobar'</Message>
</Response>

这是邮件正文:

<Response>
    <Message>Please login to Botler at <![CDATA[https://login.xyz.com/?client=Twilio&userid=foobar]]></Message>
</Response>

我尝试了url编码url,我不再获得架构验证错误,但短信中的链接不可点击(它包含所有转义字符)。

我如何在短信中发送链接并让用户点击它?

感谢。

解决方案

经过多次试验和错误,我发现了一个有效的解决方案。我可以将URL包装在CDATA元素中,并通过模式验证,并且电话正确解释了链接。 例如,

$(function(){
    $(".category option").click(function(){
        $(".category").parent().css("display", "none"); // Targetting the parent and hide
        $(".subcategory").parent().css("display", "block"); // Targetting the parent and show
    });
    $(":not(.category option)").click(function(){
        // If click on other thing than category option then show
        $(".category").parent().css("display", "block");
    });
});

3 个答案:

答案 0 :(得分:1)

短信只是文字。设备必须获取该文本并检测该链接以使其成为可解决的。

在文档here之后,问题是由:

引起的
  • 拼写错误的动词
  • 动词不正确
  • 拼写错误或未知的属性
  • 未知或意外的嵌套元素。

希望得到这个帮助。

答案 1 :(得分:0)

你不需要单引号,试试这个

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Message>Please login to Botler at https://login.xyz.com/?client=Twilio&amp;userid=foobar</Message>
</Response>

答案 2 :(得分:0)

如果链接是可点击的(例如在iOS 11.2.x上),如果它们是自己发送的话。

在PhP中(确保你有twilio SDK - 例如来自composer install:

%composer需要twilio / sdk

<?php
require_once "vendor/autoload.php";
use Twilio\Twiml;

$response = new Twiml();
$response->message("Your message without href");
$response->message("https://.......");

echo $response; 
?>