寻找一些建议。我的亲戚是聋子。她在iOS上有一个Mi Band,它会在来电时振动 - 但没有人打电话给聋人!她需要的是当她收到短信时会振动 - 这在iOS上是不受支持的。所以我想知道如何设置便宜的短信号码给她的朋友。当这个号码收到一条短信时,它应该完好无损地转发它,然后按下她的手机并挂机。这将振动乐队。
Twilio可以这样做吗?我需要一台服务器来实现它,还是可以通过Twilio服务中的配置完成?
感谢所有想法,马特
答案 0 :(得分:0)
Twilio开发者传道者在这里。
你绝对可以用Twilio做到这一点。您需要一台运行较小应用程序的服务器,我将解释您需要的流程。
当您购买Twilio号码时,您可以在一个可以设置为消息传递请求URL的URL处获得该应用程序。然后,当消息被发送到该号码时,Twilio将向该URL发出HTTP请求。
您的申请必须做两件事来回应该请求。 To initiate the call, it would need to make a request to the Twilio API。在Ruby中,您可以执行以下操作:
require "twilio-ruby"
client = Twilio::REST::Client.new("YOUR_TWILIO_ACCOUNT_SID", "YOUR_TWILIO_AUTH_TOKEN")
client.calls.create(
:to => "YOUR_RELATIVES_NUMBER",
:from => "YOUR_TWILIO_NUMBER",
:url => "http://your-url.com/hangup"
)
要转发您需要将某些XML(称为TwiML)返回到tell Twilio to forward the message到您的亲戚号码所需的邮件。 XML看起来像是:
<Response>
<Message to="YOUR_RELATIVES_NUMBER" from="YOUR_TWILIO_NUMBER">params["Body"]</Message>
</Response>
您的应用程序需要另一个端点,即hangup the call when answered。这将返回一些非常简单的TwiML:
<Response>
<Hangup/>
</Response>
总之,使用Sinatra作为Web框架,这看起来像:
require 'twilio-ruby'
require 'sinatra'
post '/messages' do
client = Twilio::REST::Client.new("YOUR_TWILIO_ACCOUNT_SID", "YOUR_TWILIO_AUTH_TOKEN")
client.calls.create(
:to => "YOUR_RELATIVES_NUMBER",
:from => "YOUR_TWILIO_NUMBER",
:url => "http://your-url.com/hangup"
)
twiml = Twilio::TwiML::Response.new do |r|
r.Message params["Body"], :to => "YOUR_RELATIVES_NUMBER", :from => "YOUR_TWILIO_NUMBER"
end
return twiml.to_xml
end
post '/hangup' do
twiml = Twilio::TwiML::Response.new do |r|
r.Hangup
end
return twiml.to_xml
end
唯一的缺点是所有消息都会来自Twilio号码,因为Twilio不允许对SMS消息进行数字欺骗。
我注意到你在StackOverflow上用C#标签回答了一个问题。我不是C#开发人员,因此Ruby示例,但我在上面链接的文档也在C#中有示例。
让我知道这是否有帮助。