Sms 使用Twilio在短信中包含可点击链接

Sms 使用Twilio在短信中包含可点击链接,sms,twilio,Sms,Twilio,我有一个Twilio号码,设置为在收到消息时执行webhook。我想在发送回用户的响应中包含一个链接。即 请登录XYZ.com,网址为 但是,当我发送此消息作为回复时,我在Twilio调试器中收到一个模式验证错误,并显示以下消息 Warning - 12200 Schema validation warning The provided XML does not conform to the Twilio Markup XML schema. Please refer to the spec

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

请登录XYZ.com,网址为

但是,当我发送此消息作为回复时,我在Twilio调试器中收到一个模式验证错误,并显示以下消息

Warning - 12200

Schema validation warning

The provided XML does not conform to the Twilio Markup XML schema. Please refer to the specific error and correct the problem.
这是消息正文:

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

请登录到Botler'https://login.xyz.com/?client=Twilio&userid=foobar'
我尝试对url进行url编码,但不再出现架构验证错误,但是sms中的链接不可单击(它包含所有转义字符)

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

谢谢

解决方案

经过反复试验,我找到了一个有效的解决办法。我可以将url包装在CDATA元素中,它通过了模式验证,并且电话可以正确解释链接。 比如说,

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

请登录Botler,网址为

短信只是文字。该设备必须获取该文本并检测该文本是否为链接,以使其可点击

根据文档,问题是由以下原因引起的:

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

希望有帮助。

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

<?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>

请登录Botler,网址为https://login.xyz.com/?client=Twilio&userid=foobar

如果链接是通过自己的线路发送的,则可以单击链接(例如在iOS 11.2.x上)

在PhP中(确保您拥有twilio SDK-例如,从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; 
?> 


我理解它在当前表单中不起作用的原因。手机无法将转义的url识别为url,如果我不转义,架构验证将失败,因此我想知道如何格式化xml响应以传递字符串文本而不是普通内容(这将使验证失败)架构验证仍然失败。经过多次尝试和错误,我找到了一种方法。我将在原始帖子中添加应答器。找到了解决方案,并对原始帖子进行了编辑,以包含该解决方案。您应该将其作为答案发布,并将其标记为已接受的答案