2016-03-11 26 views
0

每当我收到我的Sinatra应用程序的文本消息时,我都会收到Twilio中的模式验证变暖。什么可能导致这个?Sinatra - Twilio模式验证警告

post '/receive_sms' do 

content_type 'text/xml' 

@time = Time.now.strftime('%Y-%m-%d %H:%M:%S') 
@body = params["Body"].to_s 
@sid = params["MessageSid"].to_s 
@sender = params["From"].delete('+') 

puts @time 
puts @body 
puts @sender 
puts @sid 

CSV.open("/home/ubuntu/Applications/Twilio_SMS/smsLog.csv", "a") do |csv| 
    csv << [@sid, @sender, @body, @time] 
end 

'done' 
end 

回答

1

Twilio开发者传道这里。

这是因为您要返回"done"作为回应。 Twilio希望收到TwiML(XML的一个子集)作为指令,说明如何处理SMS。在你的情况下,我假设你不想发送邮件回复,所以你可以只用空的<Response>标签回复,如下所示:

post '/receive_sms' do 
    content_type 'text/xml' 

    @time = Time.now.strftime('%Y-%m-%d %H:%M:%S') 
    @body = params["Body"].to_s 
    @sid = params["MessageSid"].to_s 
    @sender = params["From"].delete('+') 

    puts @time 
    puts @body 
    puts @sender 
    puts @sid 

    CSV.open("/home/ubuntu/Applications/Twilio_SMS/smsLog.csv", "a") do |csv| 
    csv << [@sid, @sender, @body, @time] 
    end 

    "<Response/>" 
end