messente-ruby 0.0.1

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/messente.rb +82 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 15bccdcab0abbb6eae056fc0c79a459fda2a52c9
4
+ data.tar.gz: ccaaa5ffb5669bbf338f7a7ab66abb0e47b42294
5
+ SHA512:
6
+ metadata.gz: b7ce6dc021ca777481027a98d80e33703303cd446241b97473072d5ba82e8cfa67734eaf7815f6ce3f11893fcbc23c2d4c765e75c0d72ed4e36c3b7355c6239b
7
+ data.tar.gz: 155bd512434204da62a72476dc5785456bc6d0599b3d347980dc1d3d36a2afa4f6db9a3297dff66717bba16cc128acf8c2fc159562d59194435ca6f9678b6e88
data/lib/messente.rb ADDED
@@ -0,0 +1,82 @@
1
+ require "rubygems"
2
+ require "httparty"
3
+
4
+ class Messente
5
+
6
+ include HTTParty
7
+
8
+ base_uri "https://api2.messente.com"
9
+
10
+ def initialize(options)
11
+ @defaults = options
12
+ end
13
+
14
+ def verify_start(options)
15
+ query = @defaults.merge(options)
16
+
17
+ response = self.class.get("/verify/start/", :query => query)
18
+ items = response.split(" ")
19
+ error_message = errors[response]
20
+ if items[0] != "ERROR" && error_message.nil?
21
+ return { :id => items[1] }
22
+ else
23
+ return { :error => error_message, :code => response }
24
+ end
25
+ end
26
+
27
+ def verify_pin(options)
28
+ query = @defaults.merge(options)
29
+
30
+ response = self.class.get("/verify/pin/", :query => query)
31
+ items = response.split(" ")
32
+ error_message = errors[response]
33
+ if items[0] != "ERROR" && error_message.nil?
34
+ return {}
35
+ else
36
+ return { :error => error_message, :code => response }
37
+ end
38
+ end
39
+
40
+ def send(options)
41
+ query = @defaults.merge(options)
42
+
43
+ response = self.class.get("/send_sms", :query => query)
44
+ items = response.split(" ")
45
+ error_message = errors[response.to_s]
46
+ if items[0] != "ERROR" && error_message.nil?
47
+ return true
48
+ else
49
+ return { :error => error_message, :code => response }
50
+ end
51
+ end
52
+
53
+ # def balance
54
+ # response = self.class.get("/get_balance/#{@defaults[:user]}/#{@defaults[:api_key]}")
55
+ # items = response.split(" ")
56
+ # return false if ("ERROR" == items[0])
57
+
58
+ # items[1].to_f
59
+ # end
60
+
61
+ # def report(options)
62
+ # response = self.class.get("/get_dlr_response/#{@defaults[:user]}/#{@defaults[:api_key]}/#{options[:id]}")
63
+ # pp items = response.split(" ")
64
+ # return false if ("ERROR" == items[0])
65
+
66
+ # items[1]
67
+ # end
68
+
69
+ private
70
+ def errors
71
+ {
72
+ 'VERIFIED' => 'User is logging in from already verified computer, no PIN code verification is required.',
73
+ 'ERROR 101' => 'Access is restricted, wrong credentials. Check the username and password values.',
74
+ 'ERROR 102' => 'Parameters are wrong or missing. Check that all the required parameters are present.',
75
+ 'ERROR 103' => 'Invalid IP address. The IP address you made the request from, is not in the API settings whitelist.',
76
+ 'ERROR 111' => 'Sender parameter "from" is invalid. You have not activated this sender name from Messente.com',
77
+ 'ERROR 109' => 'PIN code field is missing in the template value.',
78
+ 'FAILED 209' => 'Server failure, try again after a few seconds or try the api3.messente.com backup server.'
79
+ }
80
+ end
81
+
82
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: messente-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Minh Duc Ta (Daniel)
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-02-02 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Ruby gem for Messente
14
+ email: daniel.md.ta@outlook.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/messente.rb
20
+ homepage: http://rubygems.org/gems/messente-ruby
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.6.13
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Ruby gem for Messente
44
+ test_files: []