2016-03-11 57 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