Sms 使用Twilio在短信中包含可点击链接
我有一个Twilio号码,设置为在收到消息时执行webhook。我想在发送回用户的响应中包含一个链接。即 请登录XYZ.com,网址为 但是,当我发送此消息作为回复时,我在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
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&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响应以传递字符串文本而不是普通内容(这将使验证失败)架构验证仍然失败。经过多次尝试和错误,我找到了一种方法。我将在原始帖子中添加应答器。找到了解决方案,并对原始帖子进行了编辑,以包含该解决方案。您应该将其作为答案发布,并将其标记为已接受的答案