如何基于twilio状态回调更新短信状态?

时间:2019-02-12 14:05:34

标签: ruby-on-rails ruby sms twilio

我正在使用twilio-ruby发送消息,并且我想根据状态回调来更新数据库中的消息状态。

假设我有Message模型

  message = Message.create(body: "Message", status: "pending", to: "+1XXXXXXXXXX", from: "+1XXXXXXXXXX")

我正在通过twilio API发送此消息

  client = Twilio::REST::Client.new ENV['TWILIO_ACCOUNT_SID'], ENV['TWILIO_AUTH_TOKEN']
  client.messages.create({ from: message.from, to: message.to, body: message.body, callback_url: twilio_callback_url }) 

在状态回调参数中,它们仅是我可以通过其查找消息的字段的问题是fromto,并且可能有许多具有相同发送者和接收者的消息

1

是否有某种方法可以发送额外的参数,例如:message_id到twilio状态回调?

1 个答案:

答案 0 :(得分:0)

解决方案是在路由中添加ID

  # config/routes.rb

  match 'twilio/callback/:id', to: 'twilio#callback', as: :twilio_callback

,然后将ID传递到status_callback

  client.messages.create({ from: message.from, to: message.to, body: message.body, callback_url: twilio_callback_url(id: message.id) })