From 8ca74623ae6a8c6c2ca13ceaf5df9a1bb4f45cac Mon Sep 17 00:00:00 2001 From: nuno Date: Thu, 9 Jul 2015 14:29:13 +0100 Subject: [PATCH 01/13] + Changed to port 80 --- lib/net/sms/bulksms/account.rb | 2 +- lib/net/sms/bulksms/report.rb | 42 ++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 lib/net/sms/bulksms/report.rb diff --git a/lib/net/sms/bulksms/account.rb b/lib/net/sms/bulksms/account.rb index f34b81d..cd4a49b 100644 --- a/lib/net/sms/bulksms/account.rb +++ b/lib/net/sms/bulksms/account.rb @@ -9,7 +9,7 @@ module BulkSMS class Account # The port the account service runs on - SERVICE_PORT = 7512 + SERVICE_PORT = 80#7512 # Path to the account service gateway SERVICE_PATH = '/eapi/1.0/get_credits.mc' diff --git a/lib/net/sms/bulksms/report.rb b/lib/net/sms/bulksms/report.rb new file mode 100644 index 0000000..fa19507 --- /dev/null +++ b/lib/net/sms/bulksms/report.rb @@ -0,0 +1,42 @@ +require 'net/http' +require 'uri' + +module Net + module SMS + module BulkSMS + class Report + #Status from: http://developer.bulksms.com/eapi/status_reports/get_report/ + STATUS_IN_PROGRESS = 0 + STATUS_DELIVERED_UPSTREAM = 10 + STATUS_DELIVERED_TO_MOBILE = 11 + STATUS_DELIVERED_UPSTREAM_UNACKNOWLEDGED = 12 + STATUS_INTERNAL_FATAL_ERROR = 22 + STATUS_AUTH_FAILURE = 23 + STATUS_DATA_VALIDATION_FAILURE = 24 + STATUS_UNSUFICIENT_CREDITS = 25 + STATUS_UPSTREAM_CREDITS_UNAVAILABLE = 26 + STATUS_DAILY_QUOTA_EXCEEDED = 27 + STATUS_UPSTREAM_QUOTA_EXCEEDED = 28 + STATUS_MESSAGE_SENDING_CANCELED = 29 + STATUS_UNROUTABLE = 31 + STATUS_BLOCKED = 32 + STATUS_CENSORED = 33 + STATUS_TEMPORARILY_UNAVAILABLE = 40 + STATUS_GENERIC_FAILURE = 50 + STATUS_PHONE_DELIVERY_FAILED = 51 + STATUS_NETWORK_DELIVERY_FAILED = 52 + STATUS_MESSAGE_EXPIRED = 53 + STATUS_FAILED_ON_REMOTE_NETWORK = 54 + STATUS_REMOTELY_BLOCKED = 55 + STATUS_REMOTELY_CENSORED = 56 + STATUS_FAULT_ON_HANDSET = 57 + STATUS_TRANSIENT_UPSTREAM_FAILURE = 60 + STATUS_UPSTREAM_STATUS_FAILURE = 61 + STATUS_UPSTREAM_CANCEL_FAILED = 62 + STATUS_QUEUED_FOR_RETRY_AFTER_TEMPORARY_DELIVERY_FAILURE = 63 + STATUS_QUEUED_FOR_RETRY_AFTER_TEMPORARY_DELIVERY_HANDSET_FAULT = 64 + STATUS_UNKNOWN_UPSTREAM_STATUS = 70 + end + end + end +end \ No newline at end of file From 41170d002f17a4119a19ba453ea175e44209a847 Mon Sep 17 00:00:00 2001 From: nuno Date: Fri, 10 Jul 2015 17:03:36 +0100 Subject: [PATCH 02/13] + Changed to port 80 --- lib/net/sms/bulksms/message.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/net/sms/bulksms/message.rb b/lib/net/sms/bulksms/message.rb index 118b417..1dafb61 100644 --- a/lib/net/sms/bulksms/message.rb +++ b/lib/net/sms/bulksms/message.rb @@ -25,7 +25,7 @@ def initialize(message, recipient) @source_id = '' @test_always_succeed = 0 @test_always_fail = 0 - @concat_text_sms = 0 + @concat_text_sms = 1 @concat_max_parts = 2 end From 20a3ea71d613bf8cb6e257e6ee05de1287ad0920 Mon Sep 17 00:00:00 2001 From: nuno Date: Fri, 10 Jul 2015 17:05:33 +0100 Subject: [PATCH 03/13] + Changed to port 80 --- ruby-bulksms.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby-bulksms.gemspec b/ruby-bulksms.gemspec index b877a35..9dffb60 100644 --- a/ruby-bulksms.gemspec +++ b/ruby-bulksms.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = "ruby-bulksms" - s.version = "0.4.3" + s.version = "0.4.4" s.date = "2015-07-02" s.summary = "Sending SMS using bulksms services" s.email = "eng.basayel.said@gmail.com" From f03b51c7b526bf18313deffb86d382c6b32c5aff Mon Sep 17 00:00:00 2001 From: nuno Date: Fri, 10 Jul 2015 17:06:37 +0100 Subject: [PATCH 04/13] + Changed to port 80 --- lib/net/sms/bulksms/message.rb | 2 +- ruby-bulksms-0.4.4.gem | Bin 0 -> 8192 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 ruby-bulksms-0.4.4.gem diff --git a/lib/net/sms/bulksms/message.rb b/lib/net/sms/bulksms/message.rb index 1dafb61..c9d5822 100644 --- a/lib/net/sms/bulksms/message.rb +++ b/lib/net/sms/bulksms/message.rb @@ -20,7 +20,7 @@ def initialize(message, recipient) @message = message @recipient = recipient @msg_class = NORMAL_SMS - @want_report = 0 + @want_report = 1 @routing_group = 2 @source_id = '' @test_always_succeed = 0 diff --git a/ruby-bulksms-0.4.4.gem b/ruby-bulksms-0.4.4.gem new file mode 100644 index 0000000000000000000000000000000000000000..f60d3f971223f1159360b57913fec92df7fb5243 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 From 1131fe0e68f33eb622c1241dcd1e745c3276ebfb Mon Sep 17 00:00:00 2001 From: nuno Date: Sat, 11 Jul 2015 14:35:48 +0100 Subject: [PATCH 05/13] + Changed to port 80 --- lib/net/sms/bulksms.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/net/sms/bulksms.rb b/lib/net/sms/bulksms.rb index 19aa615..2c1867c 100644 --- a/lib/net/sms/bulksms.rb +++ b/lib/net/sms/bulksms.rb @@ -4,6 +4,7 @@ require File.dirname(__FILE__) + '/bulksms/account' require File.dirname(__FILE__) + '/bulksms/message' require File.dirname(__FILE__) + '/bulksms/response' +require File.dirname(__FILE__) + '/bulksms/report' module Net module SMS From 558d3b911ee18e418956d5cdfbad41a9145dcd6b Mon Sep 17 00:00:00 2001 From: nuno Date: Mon, 13 Jul 2015 15:57:30 +0100 Subject: [PATCH 06/13] + Changed to port 80 --- lib/net/sms/bulksms.rb | 2 +- ruby-bulksms.gemspec | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/net/sms/bulksms.rb b/lib/net/sms/bulksms.rb index 2c1867c..e1314f9 100644 --- a/lib/net/sms/bulksms.rb +++ b/lib/net/sms/bulksms.rb @@ -28,7 +28,7 @@ module BulkSMS SPAIN = 'spain' SAFRICA = 'safrica' INTER = 'international' - + ulk class Service # The port the message service rus on MESSAGE_SERVICE_PORT = 80 #5567 diff --git a/ruby-bulksms.gemspec b/ruby-bulksms.gemspec index 9dffb60..96d4487 100644 --- a/ruby-bulksms.gemspec +++ b/ruby-bulksms.gemspec @@ -15,6 +15,7 @@ Gem::Specification.new do |s| "lib/net/sms/bulksms/account.rb", "lib/net/sms/bulksms/message.rb", "lib/net/sms/bulksms/response.rb", + "lib/net/sms/bulksms/report.rb", "lib/net/sms/bulksms.rb" ] end \ No newline at end of file From 1bced33d4781b0826425b2d131e5201bbc7da384 Mon Sep 17 00:00:00 2001 From: nuno Date: Mon, 13 Jul 2015 15:58:49 +0100 Subject: [PATCH 07/13] + Changed to port 80 --- lib/net/sms/bulksms.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/net/sms/bulksms.rb b/lib/net/sms/bulksms.rb index e1314f9..473f782 100644 --- a/lib/net/sms/bulksms.rb +++ b/lib/net/sms/bulksms.rb @@ -28,7 +28,7 @@ module BulkSMS SPAIN = 'spain' SAFRICA = 'safrica' INTER = 'international' - ulk + class Service # The port the message service rus on MESSAGE_SERVICE_PORT = 80 #5567 From bacaabfc1afcad5ff9934087973d7588fbf37707 Mon Sep 17 00:00:00 2001 From: nuno Date: Mon, 13 Jul 2015 17:06:10 +0100 Subject: [PATCH 08/13] + Changed to port 80 --- lib/net/sms/bulksms.rb | 14 +++++++++++++- ruby-bulksms-0.4.4.gem | Bin 8192 -> 8704 bytes 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/net/sms/bulksms.rb b/lib/net/sms/bulksms.rb index 473f782..1d61fdb 100644 --- a/lib/net/sms/bulksms.rb +++ b/lib/net/sms/bulksms.rb @@ -36,6 +36,9 @@ class Service # Path to the message service gateway MESSAGE_SERVICE_PATH = '/eapi/submission/send_sms/2/2.0' + #path to the report service + REPORT_SERVICE_PATH = '/eapi/status_reports/get_report/2/2.0' + # returns an Account object for the credentials supplied to the service attr_reader :account @@ -69,7 +72,16 @@ def send_multiple(messages) def send(message, recipient) msg = Message.new(message, recipient) self.send_message(msg) - end + end + + #Get a message report + def get_report(batch_id) + payload = [@account.to_http_query, batch_id.to_http_query].join('&') + Net::HTTP.start(Service.bulksms_gateway(@country), MESSAGE_SERVICE_PORT) do |http| + resp = http.get(REPORT_SERVICE_PATH, payload) + Response.parse(resp.body) + end + end # Returns the gateway URL for the chosen country def self.bulksms_gateway(country) diff --git a/ruby-bulksms-0.4.4.gem b/ruby-bulksms-0.4.4.gem index f60d3f971223f1159360b57913fec92df7fb5243..4ac5be378526685de0839fd838933143069ac9f8 100644 GIT binary patch delta 5164 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 N|JQa-P!gz7{|8z^(Ln$J delta 4614 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 From 083b70d235c310343022ef8c32ce0210eabccc85 Mon Sep 17 00:00:00 2001 From: nuno Date: Mon, 13 Jul 2015 17:10:34 +0100 Subject: [PATCH 09/13] + Changed to port 80 --- lib/net/sms/bulksms.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/net/sms/bulksms.rb b/lib/net/sms/bulksms.rb index 1d61fdb..01634d1 100644 --- a/lib/net/sms/bulksms.rb +++ b/lib/net/sms/bulksms.rb @@ -76,7 +76,7 @@ def send(message, recipient) #Get a message report def get_report(batch_id) - payload = [@account.to_http_query, batch_id.to_http_query].join('&') + payload = [@account.to_http_query, batch_id.to_query].join('&') Net::HTTP.start(Service.bulksms_gateway(@country), MESSAGE_SERVICE_PORT) do |http| resp = http.get(REPORT_SERVICE_PATH, payload) Response.parse(resp.body) From 335f0b33cbf95bfc9440c9f300d46164b7d2411c Mon Sep 17 00:00:00 2001 From: nuno Date: Mon, 13 Jul 2015 17:11:55 +0100 Subject: [PATCH 10/13] + Changed to port 80 --- lib/net/sms/bulksms.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/net/sms/bulksms.rb b/lib/net/sms/bulksms.rb index 01634d1..0448298 100644 --- a/lib/net/sms/bulksms.rb +++ b/lib/net/sms/bulksms.rb @@ -76,7 +76,7 @@ def send(message, recipient) #Get a message report def get_report(batch_id) - payload = [@account.to_http_query, batch_id.to_query].join('&') + payload = [@account.to_http_query, {:batch_id => batch_id}.to_query].join('&') Net::HTTP.start(Service.bulksms_gateway(@country), MESSAGE_SERVICE_PORT) do |http| resp = http.get(REPORT_SERVICE_PATH, payload) Response.parse(resp.body) From 9c418f508542586f898f59b1b8d78fb58908717d Mon Sep 17 00:00:00 2001 From: nuno Date: Mon, 13 Jul 2015 17:20:43 +0100 Subject: [PATCH 11/13] + Changed to port 80 --- lib/net/sms/bulksms.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/net/sms/bulksms.rb b/lib/net/sms/bulksms.rb index 0448298..a7002d9 100644 --- a/lib/net/sms/bulksms.rb +++ b/lib/net/sms/bulksms.rb @@ -77,10 +77,10 @@ def send(message, recipient) #Get a message report def get_report(batch_id) payload = [@account.to_http_query, {:batch_id => batch_id}.to_query].join('&') - Net::HTTP.start(Service.bulksms_gateway(@country), MESSAGE_SERVICE_PORT) do |http| - resp = http.get(REPORT_SERVICE_PATH, payload) - Response.parse(resp.body) - end + http = Net::HTTP.new(Service.bulksms_gateway(@country)) + request = Net::HTTP::Get.new('/eapi/status_reports/get_report/2/2.0?' + payload) + response = http.request(request) + Response.parse(response.body) end # Returns the gateway URL for the chosen country From 8ca7b20a1a2329a8f382575733d4a46e244cf7e2 Mon Sep 17 00:00:00 2001 From: nuno Date: Mon, 13 Jul 2015 19:02:21 +0100 Subject: [PATCH 12/13] + Changed to port 80 --- lib/net/sms/bulksms.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/net/sms/bulksms.rb b/lib/net/sms/bulksms.rb index a7002d9..13c67d9 100644 --- a/lib/net/sms/bulksms.rb +++ b/lib/net/sms/bulksms.rb @@ -80,7 +80,8 @@ def get_report(batch_id) http = Net::HTTP.new(Service.bulksms_gateway(@country)) request = Net::HTTP::Get.new('/eapi/status_reports/get_report/2/2.0?' + payload) response = http.request(request) - Response.parse(response.body) + tokens = response.body.split('|') + Response.new(tokens[2].to_i, tokens[1], batch_id) end # Returns the gateway URL for the chosen country From b9f0de318390bb71aff22cc19910a834fbf05126 Mon Sep 17 00:00:00 2001 From: nuno Date: Fri, 4 Dec 2015 09:33:49 +0000 Subject: [PATCH 13/13] + Changed to port 80 --- ruby-bulksms.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby-bulksms.gemspec b/ruby-bulksms.gemspec index 96d4487..7c691be 100644 --- a/ruby-bulksms.gemspec +++ b/ruby-bulksms.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = "ruby-bulksms" - s.version = "0.4.4" + s.version = "0.4.5" s.date = "2015-07-02" s.summary = "Sending SMS using bulksms services" s.email = "eng.basayel.said@gmail.com"