Как обновить статус смс на основе обратного вызова статуса twilio? - PullRequest
0 голосов
/ 12 февраля 2019

Я использую twilio-ruby для отправки сообщений и хочу обновить статус сообщения в базе данных на основе обратного вызова статуса.

Допустим, у меня есть Message модель

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

иЯ отправляю это сообщение через API twilio

  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 }) 

Проблема в том, что в параметрах обратного вызова состояния они только поля, по которым я могу найти сообщение, это from и to, и может быть много сообщений с одним и тем же отправителем.и получатель

1

Есть ли способ отправить дополнительные параметры, например :message_id, в обратный вызов статуса twilio?

1 Ответ

0 голосов
/ 12 февраля 2019

Решение состоит в том, чтобы добавить идентификатор в маршруты

  # config/routes.rb

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

и затем передать идентификатор в status_callback

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