feat: Send MMS through Twilio Inbox (#2959)
Send MMS message to customer for Twilio integration inbox. Fixes #2311
This commit is contained in:
parent
118c1458ab
commit
772d4ae726
3 changed files with 23 additions and 3 deletions
|
@ -229,7 +229,8 @@ export default {
|
|||
this.isAFacebookInbox ||
|
||||
this.isATwilioWhatsappChannel ||
|
||||
this.isAPIInbox ||
|
||||
this.isAnEmailChannel
|
||||
this.isAnEmailChannel ||
|
||||
this.isATwilioSMSChannel
|
||||
);
|
||||
},
|
||||
replyButtonLabel() {
|
||||
|
|
|
@ -6,7 +6,11 @@ class Twilio::SendOnTwilioService < Base::SendOnChannelService
|
|||
end
|
||||
|
||||
def perform_reply
|
||||
twilio_message = client.messages.create(**message_params)
|
||||
begin
|
||||
twilio_message = client.messages.create(**message_params)
|
||||
rescue Twilio::REST::TwilioError => e
|
||||
Rails.logger.info "Twilio Error: #{e.message}"
|
||||
end
|
||||
message.update!(source_id: twilio_message.sid)
|
||||
end
|
||||
|
||||
|
@ -16,7 +20,7 @@ class Twilio::SendOnTwilioService < Base::SendOnChannelService
|
|||
from: channel.phone_number,
|
||||
to: contact_inbox.source_id
|
||||
}
|
||||
params[:media_url] = attachments if channel.whatsapp? && message.attachments.present?
|
||||
params[:media_url] = attachments if message.attachments.present?
|
||||
params
|
||||
end
|
||||
|
||||
|
|
|
@ -77,5 +77,20 @@ describe Twilio::SendOnTwilioService do
|
|||
|
||||
::Twilio::SendOnTwilioService.new(message: message).perform
|
||||
end
|
||||
|
||||
it 'if outgoing message has attachment and is for sms' do
|
||||
# check for message attachment url
|
||||
allow(messages_double).to receive(:create).with(hash_including(media_url: [anything])).and_return(message_record_double)
|
||||
allow(message_record_double).to receive(:sid).and_return('1234')
|
||||
|
||||
message = build(
|
||||
:message, message_type: 'outgoing', inbox: twilio_inbox, account: account, conversation: conversation
|
||||
)
|
||||
attachment = message.attachments.new(account_id: message.account_id, file_type: :image)
|
||||
attachment.file.attach(io: File.open(Rails.root.join('spec/assets/avatar.png')), filename: 'avatar.png', content_type: 'image/png')
|
||||
message.save!
|
||||
|
||||
::Twilio::SendOnTwilioService.new(message: message).perform
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue