iletimerkezisms 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e6ca34154ad2c88f2f87b1625ff520ca07452d9
4
- data.tar.gz: 7f676c72179a23c7571def3d2e363fae50bb6aca
3
+ metadata.gz: 896b36243ef7d407b3ac0a384f1717e09f34afaa
4
+ data.tar.gz: 7a8d6e41b888cf44ac578df72876fe9d0499c9ed
5
5
  SHA512:
6
- metadata.gz: 0a9b261ddc626e80d9ca99282f6b0527f0078c1341c3b35c58b6c13728891cd0591764fc3ce221507cda6dec865819b8a850f7d595991677a64674890233ceee
7
- data.tar.gz: bc25ed597531267b0ff1818b4b365b22e96f3998645905735877e53f610540aa570bbdaf5e024c7ddf20eb16b510ed982af8e902d15ff1f00a118841a1d67f55
6
+ metadata.gz: 19007b1ccc4f0f7d8b82f31a236ce805abb776315b0df380514103f1e3ded8615752f0b62c2114b70765811fceda243db7de3107f43fbe37ea60996fabb0e7ce
7
+ data.tar.gz: 0cab9438c038e41f4b3499e5aa517f9961ebe6a9ef1da63d7f3f3258402a306872866b3cbae58127ea39d6c77fe44c4752dd3b0bb287cdd134fcfee395b8e81c
@@ -5,12 +5,23 @@ require File.expand_path('../iletimerkezisms/report', __FILE__)
5
5
  require File.expand_path('../iletimerkezisms/request', __FILE__)
6
6
 
7
7
  module IletimerkeziSMS
8
- # argv: {sender: "ILETI MRKZI", message: "Lorem Ipsum ...",
8
+ # argv: {api_gateway: true, sender: "ILETI MRKZI", message: "Lorem Ipsum ...",
9
9
  # numbers: ["905xxxxxxxxx"," +90 5xx xxx xx xx", "5xxxxxxxxx"]
10
10
  # }
11
- def self.send(username, password, argv)
11
+ # Varsayılan api_gateway false.
12
+ # ap_gateway true ise kpublic, ksecret ile authentication; false ise username, password
13
+ def self.send(username, password, argv = {})
14
+ argv = {
15
+ api_gateway: false
16
+ }.merge(argv)
17
+
12
18
  sms = SMS.new(username, password)
13
- sms.send(argv)
19
+
20
+ if argv[:api_gateway]
21
+ sms.send_via_gateway(argv)
22
+ else
23
+ sms.send_via_http(argv)
24
+ end
14
25
  end
15
26
 
16
27
  # argv: {sender: "ILETI MRKZI",
@@ -21,23 +32,47 @@ module IletimerkeziSMS
21
32
  # ]
22
33
  # }
23
34
  def self.multi_send(username, password, argv)
35
+ argv = {
36
+ api_gateway: false
37
+ }.merge(argv)
38
+
24
39
  sms = SMS.new(username, password)
25
- sms.multi_send(argv)
40
+
41
+ if argv[:api_gateway]
42
+ sms.multi_send_via_gateway(argv)
43
+ else
44
+ sms.multi_send_via_http(argv)
45
+ end
26
46
  end
27
47
 
28
- def self.cancel(username, password, order_id)
48
+ def self.cancel(username, password, order_id, api_gateway = false)
29
49
  sms = SMS.new(username, password)
30
- sms.cancel(order_id)
50
+ if api_gateway
51
+ sms.cancel_via_gateway(order_id)
52
+ else
53
+ sms.cancel_via_http(order_id)
54
+ end
31
55
  end
32
56
 
33
- def self.balance(username, password)
57
+ def self.balance(username, password, api_gateway = false)
34
58
  sms = REPORT.new(username, password)
35
- sms.balance
59
+ if api_gateway
60
+ sms.balance_via_gateway
61
+ else
62
+ sms.balance_via_http
63
+ end
36
64
  end
37
65
 
38
66
  # argv:
39
67
  def self.report(username, password, argv)
68
+ argv = {
69
+ api_gateway: false
70
+ }.merge(argv)
40
71
  sms = REPORT.new(username, password)
41
- sms.report(argv)
72
+ if argv[:api_gateway]
73
+ sms.report_via_gateway(argv)
74
+ else
75
+ sms.report_via_http(argv)
76
+ end
42
77
  end
43
78
  end
@@ -10,7 +10,7 @@ module IletimerkeziSMS
10
10
  @password = password
11
11
  end
12
12
 
13
- def report(argv)
13
+ def report_via_http(argv)
14
14
  argv = {
15
15
  page: 1,
16
16
  rowCount: 1000
@@ -35,7 +35,35 @@ module IletimerkeziSMS
35
35
  return r.request
36
36
  end
37
37
 
38
- def balance
38
+ def report_via_gateway(argv)
39
+ argv = {
40
+ page: 1,
41
+ rowCount: 1000
42
+ }.merge(argv)
43
+
44
+ path = "get-report"
45
+
46
+ digest = OpenSSL::Digest.new('sha256')
47
+ hcmac = OpenSSL::HMAC.hexdigest(digest, @password, @username)
48
+
49
+ xml_build = Nokogiri::XML::Builder.new do |xml|
50
+ xml.request {
51
+ xml.authentication {
52
+ xlm.key @username
53
+ xlm.hash_ hcmac
54
+ }
55
+ xml.order{
56
+ xml.id_ argv[:id]
57
+ xml.page argv[:page]
58
+ xml.rowCount argv[:rowCount]
59
+ }
60
+ }
61
+ end
62
+ r = REQUEST.new(path,xml_build.to_xml)
63
+ return r.request
64
+ end
65
+
66
+ def balance_via_http
39
67
  path = "get-balance"
40
68
  xml_build = Nokogiri::XML::Builder.new do |xml|
41
69
  xml.request {
@@ -48,5 +76,21 @@ module IletimerkeziSMS
48
76
  r = REQUEST.new(path,xml_build.to_xml)
49
77
  return r.request
50
78
  end
79
+
80
+ def balance_via_gateway
81
+ digest = OpenSSL::Digest.new('sha256')
82
+ hcmac = OpenSSL::HMAC.hexdigest(digest, @password, @username)
83
+ path = "get-balance"
84
+ xml_build = Nokogiri::XML::Builder.new do |xlm|
85
+ xlm.request {
86
+ xlm.authentication {
87
+ xlm.key @username
88
+ xlm.hash_ hcmac
89
+ }
90
+ }
91
+ end
92
+ r = REQUEST.new(path,xml_build.to_xml)
93
+ return r.request
94
+ end
51
95
  end
52
96
  end
@@ -14,7 +14,7 @@ module IletimerkeziSMS
14
14
  # sms.send({sender: "ILETI MRKZI", message: "Lorem Ipsum ...",
15
15
  # numbers: ["905xxxxxxxxx"," +90 5xx xxx xx xx", "5xxxxxxxxx"]})
16
16
  # Description: Single Message => Multi Number
17
- def send(argv)
17
+ def send_via_http(argv)
18
18
  path = "send-sms"
19
19
  argv = {sendDateTime: Time.now.strftime("%d/%m/%Y %H:%M")}.merge(argv)
20
20
  xml_build = Nokogiri::XML::Builder.new do |xlm|
@@ -41,6 +41,39 @@ module IletimerkeziSMS
41
41
  return r.request
42
42
  end
43
43
 
44
+ # Usage: sms = IletimerkeziSMS::SMS.new("keypublic","keysecret")
45
+ # sms.send({sender: "ILETI MRKZI", message: "Lorem Ipsum ...",
46
+ # numbers: ["905xxxxxxxxx"," +90 5xx xxx xx xx", "5xxxxxxxxx"]})
47
+ # Description: Single Message => Multi Number
48
+
49
+ def send_via_gateway(argv)
50
+ digest = OpenSSL::Digest.new('sha256')
51
+ hcmac = OpenSSL::HMAC.hexdigest(digest, @password, @username)
52
+ path = "send-sms"
53
+ xml_build = Nokogiri::XML::Builder.new do |xlm|
54
+ xlm.request {
55
+ xlm.authentication {
56
+ xlm.key @username
57
+ xlm.hash_ hcmac
58
+ }
59
+ xlm.order {
60
+ xlm.sender argv[:sender]
61
+ xlm.sendDateTime Time.now.strftime("%d/%m/%Y %H:%M")
62
+ xlm.message {
63
+ xlm.text_ argv[:message]
64
+ xlm.receipents{
65
+ argv[:numbers].each do |n|
66
+ xlm.number n
67
+ end
68
+ }
69
+ }
70
+ }
71
+ }
72
+ end
73
+ r = REQUEST.new(path,xml_build.to_xml)
74
+ return r.request
75
+ end
76
+
44
77
  # Usage: sms = IletimerkeziSMS::SMS.new("5545967632","5173539")
45
78
  # sms.send({sender: "ILETI MRKZI",
46
79
  # messages: [
@@ -50,7 +83,7 @@ module IletimerkeziSMS
50
83
  # ]
51
84
  # })
52
85
  # Description: Multi Message => Multi Number (Birden fazla farklı mesajı birden fazla farklı kişiye göndermeye yarar.)
53
- def multi_send(argv)
86
+ def multi_send_via_http(argv)
54
87
  path = "send-sms"
55
88
  argv = {sendDateTime: Time.now.strftime("%d/%m/%Y %H:%M")}.merge(argv)
56
89
  xml_build = Nokogiri::XML::Builder.new do |xlm|
@@ -78,11 +111,41 @@ module IletimerkeziSMS
78
111
  r = REQUEST.new(path,xml_build.to_xml)
79
112
  return r.request
80
113
  end
114
+
115
+ def multi_send_via_gateway(argv)
116
+ digest = OpenSSL::Digest.new('sha256')
117
+ hcmac = OpenSSL::HMAC.hexdigest(digest, @password, @username)
118
+ path = "send-sms"
119
+ xml_build = Nokogiri::XML::Builder.new do |xlm|
120
+ xlm.request {
121
+ xlm.authentication {
122
+ xlm.key @username
123
+ xlm.hash_ hcmac
124
+ }
125
+ xlm.order {
126
+ xlm.sender argv[:sender]
127
+ xlm.sendDateTime argv[:sendDateTime]
128
+ argv[:messages].each do |message|
129
+ xlm.message {
130
+ xlm.text_ message[:text]
131
+ xlm.receipents{
132
+ message[:numbers].each do |n|
133
+ xlm.number n
134
+ end
135
+ }
136
+ }
137
+ end
138
+ }
139
+ }
140
+ end
141
+ r = REQUEST.new(path,xml_build.to_xml)
142
+ return r.request
143
+ end
81
144
 
82
145
  # Usage: sms = IletimerkeziSMS::SMS.new("5545967632","5173539")
83
146
  # sms.cancel("4152")
84
147
  # Description: Gönderilen sms paketini iptal etmeye yarar.
85
- def cancel(order_id)
148
+ def cancel_via_http(order_id)
86
149
  path = "cancel-order"
87
150
  xml_build = Nokogiri::XML::Builder.new do |xlm|
88
151
  xlm.request {
@@ -98,5 +161,24 @@ module IletimerkeziSMS
98
161
  r = REQUEST.new(path,xml_build.to_xml)
99
162
  return r.request
100
163
  end
164
+
165
+ def cancel_via_gateway(order_id)
166
+ digest = OpenSSL::Digest.new('sha256')
167
+ hcmac = OpenSSL::HMAC.hexdigest(digest, @password, @username)
168
+ path = "send-sms"
169
+ xml_build = Nokogiri::XML::Builder.new do |xlm|
170
+ xlm.request {
171
+ xlm.authentication {
172
+ xlm.key @username
173
+ xlm.hash_ hcmac
174
+ }
175
+ xlm.order {
176
+ xlm.id_ order_id.to_s
177
+ }
178
+ }
179
+ end
180
+ r = REQUEST.new(path,xml_build.to_xml)
181
+ return r.request
182
+ end
101
183
  end
102
184
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iletimerkezisms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Irfan SUBAS
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-11 00:00:00.000000000 Z
11
+ date: 2018-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.6.6
19
+ version: 1.8.1
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.6.6.3
22
+ version: 1.8.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 1.6.6
29
+ version: 1.8.1
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.6.6.3
32
+ version: 1.8.1
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rest-client
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  requirements: []
103
103
  rubyforge_project:
104
- rubygems_version: 2.2.2
104
+ rubygems_version: 2.5.2.1
105
105
  signing_key:
106
106
  specification_version: 4
107
107
  summary: api.iletimerkezi.com API Ruby SMS GEM