chore: validate Twilio number voice capability
This commit is contained in:
@@ -75,6 +75,7 @@ module Enterprise::Channel::TwilioSms
|
||||
end
|
||||
|
||||
def provision_twiml_app
|
||||
validate_voice_capability!
|
||||
service = ::Twilio::VoiceWebhookSetupService.new(channel: self)
|
||||
self.twiml_app_sid = service.perform
|
||||
rescue StandardError => e
|
||||
@@ -82,5 +83,12 @@ module Enterprise::Channel::TwilioSms
|
||||
errors.add(:base, "Twilio voice setup failed: #{e.message}")
|
||||
end
|
||||
|
||||
def validate_voice_capability!
|
||||
twilio_client = Twilio::REST::Client.new(account_sid, auth_token)
|
||||
number = twilio_client.incoming_phone_numbers.list(phone_number: phone_number).first
|
||||
raise 'Phone number not found in Twilio account' unless number
|
||||
raise 'This phone number does not support voice calls' unless number.capabilities['voice']
|
||||
end
|
||||
|
||||
alias provision_twiml_app_on_update provision_twiml_app
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user