2016-07-21 2 views
2

У меня есть номер Twilio, который настроен для выполнения webhook при получении сообщения. Я хотел бы включить ссылку в ответ, который я отправляю пользователю. то есть.Включая ссылку для кликов в sms-сообщении с помощью Twilio

Пожалуйста, войдите, чтобы xyz.com в https://login.xyz.com/?client=SMS&userid=abc

Однако, когда я отправить это в ответ я получаю сообщение об ошибке проверки схемы в отладчике 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> 

Я попытался URL кодирующей URL, и я больше не получаю ошибки проверки схемы, однако ссылка на СМС не кликабельна (она содержит все escape-символы).

Как я могу отправить ссылку в SMS-сообщении и получить ее кликабельность от пользователя?

Спасибо.

Решение

После долгих проб и ошибок я нашел решение, которое работает. Я могу обернуть url в элементе CDATA, и он передает проверку схемы, и ссылка правильно интерпретируется телефонами. Например,

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

Решение было найдено и оригинальный пост отредактирован, чтобы включить решение – Drew

ответ

1

ССМ это просто текст. Устройство должно получить этот текст и обнаружить, что это ссылка, чтобы сделать ее кликируемой.

После дока here проблема вызвана:

  • ошибок глаголы
  • неправильного случай для глаголов
  • с ошибками или неизвестных атрибутами
  • неизвестные или неожиданные вложенные элементами.

Надеюсь, что эта помощь.

+0

я понимаю почему он не работает в текущей форме. Телефон не распознает скрытый URL-адрес в качестве URL-адреса, и если я его не избегу, проверка схемы не удалась, поэтому мне интересно, как отформатировать XML-запрос для передачи моего строкового литерала, а не нормальный контент (который не прошел проверку) – Drew

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> 
+0

Все еще не удалось проверить схему. Ошибка. Я нашел способ сделать это. Я добавлю answser в свой оригинальный пост. – Drew

0

Кажется, ссылки кликабельны (например, на IOS 11.2.x) отправлены на свою собственную линию.

В PhP (убедитесь, что у вас есть Twilio SDK - например, от композитора установки:.

% композитор требует 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; 
?> 
Смежные вопросы