From 36dfa5f52691d020e5e3200f52794432bc051aad Mon Sep 17 00:00:00 2001
From: manumoreira
Date: Mon, 4 May 2026 19:36:40 -0300
Subject: [PATCH] added custom sms_send_url for itexmo channels
---
app/models/itexmo/itexmo_channel.rb | 2 +-
app/models/itexmo/send_itexmo_message_job.rb | 4 +++-
app/views/channels/_form_itexmo.html.erb | 4 ++++
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/app/models/itexmo/itexmo_channel.rb b/app/models/itexmo/itexmo_channel.rb
index 37363635..0dc2b529 100644
--- a/app/models/itexmo/itexmo_channel.rb
+++ b/app/models/itexmo/itexmo_channel.rb
@@ -18,7 +18,7 @@
class ItexmoChannel < Channel
include GenericChannel
- configuration_accessor :email, :api_code, :incoming_password, :api_password, :sender_id
+ configuration_accessor :email, :api_code, :incoming_password, :api_password, :sender_id, :sms_send_url
validates_presence_of :email, :api_code, :incoming_password, :api_password, :sender_id
before_validation :generate_incoming_password
handle_password_change :api_code
diff --git a/app/models/itexmo/send_itexmo_message_job.rb b/app/models/itexmo/send_itexmo_message_job.rb
index 17ae9842..5b9d3c0a 100644
--- a/app/models/itexmo/send_itexmo_message_job.rb
+++ b/app/models/itexmo/send_itexmo_message_job.rb
@@ -27,8 +27,10 @@ def managed_perform
delivery_report_url: NamedRoutes.itexmo_delivery_url(@account.name, @channel.name, @config[:incoming_password], @msg.id)
})
+ target_url = @config[:sms_send_url].present? ? @config[:sms_send_url] : Itexmo::SMS_SEND_URL
+
begin
- raw_response = RestClient::Request.execute(:method => :post, :url => Itexmo::SMS_SEND_URL, :payload => query_parameters, :timeout => 30)
+ raw_response = RestClient::Request.execute(:method => :post, :url => target_url, :payload => query_parameters, :timeout => 30)
response = JSON.parse raw_response
diff --git a/app/views/channels/_form_itexmo.html.erb b/app/views/channels/_form_itexmo.html.erb
index 95ff351e..f9816392 100644
--- a/app/views/channels/_form_itexmo.html.erb
+++ b/app/views/channels/_form_itexmo.html.erb
@@ -22,6 +22,10 @@
<%= f.text_field :incoming_password, :autocomplete => :off, :maxlength => 32 -%>
+
+ <%= f.label :sms_send_url, "SMS Send URL" %>
+ <%= f.text_field :sms_send_url, title: "Leave blank to use the default Itexmo API endpoint" %>
+
<%= render 'edit_footer', :f => f %>
<%- end -%>