nileshtrivedi-gupshup 0.0.5 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -0
- data/lib/gupshup.rb +38 -22
- metadata +1 -1
data/README.rdoc
CHANGED
data/lib/gupshup.rb
CHANGED
@@ -6,7 +6,7 @@ require 'uri'
|
|
6
6
|
require 'cgi'
|
7
7
|
|
8
8
|
module Gupshup
|
9
|
-
VERSION = '0.0
|
9
|
+
VERSION = '0.1.0'
|
10
10
|
class Enterprise
|
11
11
|
def initialize(login,password)
|
12
12
|
@api_url = 'http://enterprise.smsgupshup.com/GatewayAPI/rest'
|
@@ -17,38 +17,54 @@ module Gupshup
|
|
17
17
|
@api_params[:auth_scheme] = 'PLAIN'
|
18
18
|
end
|
19
19
|
|
20
|
-
def send_message(msg,number,msg_type = 'TEXT')
|
20
|
+
def send_message(msg,number,msg_type = 'TEXT',opts = {})
|
21
|
+
raise 'Phone Number is too short' if number.to_s.length < 12
|
22
|
+
raise 'Phone Number is too long' if number.to_s.length > 12
|
23
|
+
#raise 'Phone Number should start with "91"' if number.to_s.start_with? "91"
|
24
|
+
raise 'Phone Number should be numerical value' unless number.to_i.to_s == number.to_s
|
25
|
+
raise 'Message should be less than 725 characters long' if msg.to_s.length > 724
|
21
26
|
msg_params = {}
|
22
27
|
msg_params[:method] = 'sendMessage'
|
23
|
-
msg_params[:msg_type] = msg_type
|
28
|
+
msg_params[:msg_type] = msg_type.to_s
|
24
29
|
msg_params[:msg] = msg.to_s
|
25
|
-
msg_params[:send_to] =
|
26
|
-
url = URI.parse(@api_url)
|
27
|
-
req = Net::HTTP::Post.new(url.path)
|
28
|
-
puts "--- #{msg_params.merge(@api_params).inspect}"
|
29
|
-
req.set_form_data(msg_params.merge(@api_params))
|
30
|
-
res = Net::HTTP.new(url.host, url.port).start {|http|http.request(req) }
|
31
|
-
|
30
|
+
msg_params[:send_to] = number.to_s
|
31
|
+
#url = URI.parse(@api_url)
|
32
|
+
#req = Net::HTTP::Post.new(url.path)
|
33
|
+
#puts "--- #{msg_params.merge(@api_params).inspect}"
|
34
|
+
#req.set_form_data(msg_params.merge(@api_params))
|
35
|
+
#res = Net::HTTP.new(url.host, url.port).start {|http|http.request(req) }
|
36
|
+
res = Net::HTTP.post_form(
|
37
|
+
URI.parse(@api_url),
|
38
|
+
msg_params.merge(@api_params).merge(opts)
|
39
|
+
)
|
40
|
+
resp = res.body
|
41
|
+
puts "GupShup Response: #{resp}"
|
42
|
+
|
32
43
|
case res
|
33
44
|
when Net::HTTPSuccess, Net::HTTPRedirection
|
34
|
-
resp
|
35
|
-
|
45
|
+
if resp.nil? || resp.include?("success") == false
|
46
|
+
raise "SMS Sending failed: #{resp}"
|
47
|
+
end
|
48
|
+
return true
|
36
49
|
else
|
37
|
-
|
38
|
-
end
|
39
|
-
if resp.nil? || resp.include?("success") == false
|
40
|
-
puts "############## SMS Sending failed - #{resp}"
|
41
|
-
success = false
|
50
|
+
raise 'GupShup returned HTTP Error'
|
42
51
|
end
|
43
|
-
return success
|
44
52
|
end
|
45
53
|
|
46
|
-
def send_flash_message(msg,number)
|
47
|
-
send_message(msg,number,
|
54
|
+
def send_flash_message(msg,number,opts = {})
|
55
|
+
send_message(msg,number,:FLASH,opts)
|
56
|
+
end
|
57
|
+
|
58
|
+
def send_text_message(msg,number,opts = {})
|
59
|
+
send_message(msg,number,:TEXT,opts)
|
60
|
+
end
|
61
|
+
|
62
|
+
def send_vcard(card,number,opts = {})
|
63
|
+
send_message(card,number,:VCARD,opts)
|
48
64
|
end
|
49
65
|
|
50
|
-
def
|
51
|
-
send_message(msg,number,
|
66
|
+
def send_unicode_message(msg,number,opts = {})
|
67
|
+
send_message(msg,number,:UNICODE_TEXT,opts)
|
52
68
|
end
|
53
69
|
end
|
54
70
|
end
|