messagebird-rest 1.1.0 → 1.2.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 +4 -4
- data/README.md +25 -1
- data/lib/messagebird/client.rb +26 -2
- data/lib/messagebird/otp.rb +18 -0
- data/lib/messagebird.rb +2 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b53bdc58624f5473f812a02642ac6b74bb83dd4
|
4
|
+
data.tar.gz: be218bdcb5e9cdbe47fb58021cbfc0f7805ad0bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9889deb627a5ae4a4bca6d7d5d46b7b345c51f8a8e90a26432d219b36b4e885e957305fd68e1590e4d242fa8cd66e7ab5a4fb5a35aa43031d64365c25eb72280
|
7
|
+
data.tar.gz: 9b3e70e9894d055929b76762c556257af34cb98f48371663dd6f32255e9e280de37cd72cd7cefe698e3b6e8611baddb8440ecb39581de52e9ad373c9872f2b25
|
data/README.md
CHANGED
@@ -32,7 +32,7 @@ require 'messagebird'
|
|
32
32
|
client = MessageBird::Client.new(YOUR_ACCESS_KEY)
|
33
33
|
```
|
34
34
|
|
35
|
-
That's easy enough. Now we can query the server for information.
|
35
|
+
That's easy enough. Now we can query the server for information.
|
36
36
|
|
37
37
|
##### Balance
|
38
38
|
Lets start with out with an overview of our balance.
|
@@ -111,6 +111,30 @@ Similar to the **message_create** and **message** methods, the **hlr_create** me
|
|
111
111
|
client.hlr('4933bed0453ba7455031712h16830892')
|
112
112
|
```
|
113
113
|
|
114
|
+
##### OTP (One-Time Password)
|
115
|
+
You can send and verify One-Time Passwords through the MessageBird API using the **otp_generate** and **otp_verify** methods.
|
116
|
+
|
117
|
+
```ruby
|
118
|
+
# otp_generate requires a recipient as a required parameter, and other optional paramaters
|
119
|
+
client.otp_generate(31612345678, {:reference => "YourReference"})
|
120
|
+
|
121
|
+
#<MessageBird::OTP:0x007fb3c18c8148
|
122
|
+
@id="080b7f804555213678f14f6o24607735",
|
123
|
+
@recipient="31612345678",
|
124
|
+
@reference="YourReference",
|
125
|
+
@status="sent",
|
126
|
+
@href={"message"=>"https://rest.messagebird.com/messages/67d42f004555213679416f0b13254392"},
|
127
|
+
@createdDatetime=2015-05-12 16:51:19 +0200,
|
128
|
+
@validUntilDatetime=2015-05-12 16:51:49 +0200>
|
129
|
+
```
|
130
|
+
|
131
|
+
This sends a token to the recipient, which can be verified with the **otp_verify** method.
|
132
|
+
|
133
|
+
```ruby
|
134
|
+
# otp_verify requires a recipient, a token as required parameters, and other optional paramaters
|
135
|
+
client.otp_verify(31612345678, 123456, {:reference => "YourReference"})
|
136
|
+
```
|
137
|
+
|
114
138
|
##### Voice Message
|
115
139
|
MessageBird also offers the ability to send out a text message as a voice message, or text-to-speech. For that purpose we have created the **voice_message_create** method, which takes one or more required *recipients* and a *body* text for parameters.
|
116
140
|
|
data/lib/messagebird/client.rb
CHANGED
@@ -5,6 +5,7 @@ require 'uri'
|
|
5
5
|
require 'messagebird/balance'
|
6
6
|
require 'messagebird/error'
|
7
7
|
require 'messagebird/hlr'
|
8
|
+
require 'messagebird/otp'
|
8
9
|
require 'messagebird/message'
|
9
10
|
require 'messagebird/voicemessage'
|
10
11
|
|
@@ -20,8 +21,8 @@ module MessageBird
|
|
20
21
|
class Client
|
21
22
|
attr_reader :access_key
|
22
23
|
|
23
|
-
def initialize(access_key)
|
24
|
-
@access_key = access_key
|
24
|
+
def initialize(access_key = nil)
|
25
|
+
@access_key = access_key || ENV['MESSAGEBIRD_ACCESS_KEY']
|
25
26
|
end
|
26
27
|
|
27
28
|
def request(method, path, params={})
|
@@ -79,6 +80,29 @@ module MessageBird
|
|
79
80
|
:reference => reference))
|
80
81
|
end
|
81
82
|
|
83
|
+
# Generate a new One-Time-Password message
|
84
|
+
def otp_generate(recipient, params={})
|
85
|
+
OTP.new(request(
|
86
|
+
:post,
|
87
|
+
'otp/generate',
|
88
|
+
params.merge({
|
89
|
+
:recipient => recipient
|
90
|
+
})
|
91
|
+
))
|
92
|
+
end
|
93
|
+
|
94
|
+
# Verify the One-Time-Password
|
95
|
+
def otp_verify(recipient, token, params={})
|
96
|
+
# Set the path to include all the parameters
|
97
|
+
# Blame Sam Wierema for not adhering to REST principles...
|
98
|
+
path = 'otp/verify?' + URI.encode_www_form(params.merge({
|
99
|
+
:recipient => recipient,
|
100
|
+
:token => token
|
101
|
+
}))
|
102
|
+
|
103
|
+
OTP.new(request(:get, path))
|
104
|
+
end
|
105
|
+
|
82
106
|
# Retrieve the information of specific message.
|
83
107
|
def message(id)
|
84
108
|
Message.new(request(:get, "messages/#{id.to_s}"))
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'time'
|
2
|
+
|
3
|
+
require 'messagebird/base'
|
4
|
+
|
5
|
+
module MessageBird
|
6
|
+
class OTP < MessageBird::Base
|
7
|
+
attr_accessor :id, :recipient, :reference, :status, :href,
|
8
|
+
:createdDatetime, :validUntilDatetime
|
9
|
+
|
10
|
+
def createdDatetime=(value)
|
11
|
+
@createdDatetime = value_to_time(value)
|
12
|
+
end
|
13
|
+
|
14
|
+
def validUntilDatetime=(value)
|
15
|
+
@validUntilDatetime = value_to_time(value)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/messagebird.rb
CHANGED
@@ -2,7 +2,7 @@ libdir = File.dirname(__FILE__)
|
|
2
2
|
$:.unshift(libdir) unless $:.include?(libdir)
|
3
3
|
|
4
4
|
module MessageBird
|
5
|
-
CLIENT_VERSION = '1.
|
5
|
+
CLIENT_VERSION = '1.2.0'
|
6
6
|
ENDPOINT = 'https://rest.messagebird.com'
|
7
7
|
end
|
8
8
|
|
@@ -10,5 +10,6 @@ require 'messagebird/balance'
|
|
10
10
|
require 'messagebird/client'
|
11
11
|
require 'messagebird/error'
|
12
12
|
require 'messagebird/hlr'
|
13
|
+
require 'messagebird/otp'
|
13
14
|
require 'messagebird/message'
|
14
15
|
require 'messagebird/voicemessage'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: messagebird-rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maurice Nonnekes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A simple REST API for MessageBird in Ruby
|
14
14
|
email: maurice@messagebird.com
|
@@ -16,17 +16,18 @@ executables: []
|
|
16
16
|
extensions: []
|
17
17
|
extra_rdoc_files: []
|
18
18
|
files:
|
19
|
-
- LICENSE
|
20
|
-
- README.md
|
21
|
-
- lib/messagebird.rb
|
22
19
|
- lib/messagebird/balance.rb
|
23
20
|
- lib/messagebird/base.rb
|
24
21
|
- lib/messagebird/client.rb
|
25
22
|
- lib/messagebird/error.rb
|
26
23
|
- lib/messagebird/hlr.rb
|
27
24
|
- lib/messagebird/message.rb
|
25
|
+
- lib/messagebird/otp.rb
|
28
26
|
- lib/messagebird/recipient.rb
|
29
27
|
- lib/messagebird/voicemessage.rb
|
28
|
+
- lib/messagebird.rb
|
29
|
+
- LICENSE
|
30
|
+
- README.md
|
30
31
|
homepage: https://github.com/messagebird/ruby-rest-api
|
31
32
|
licenses:
|
32
33
|
- BSD-2-Clause
|
@@ -37,17 +38,17 @@ require_paths:
|
|
37
38
|
- lib
|
38
39
|
required_ruby_version: !ruby/object:Gem::Requirement
|
39
40
|
requirements:
|
40
|
-
- -
|
41
|
+
- - '>='
|
41
42
|
- !ruby/object:Gem::Version
|
42
43
|
version: '0'
|
43
44
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- -
|
46
|
+
- - '>='
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: '0'
|
48
49
|
requirements: []
|
49
50
|
rubyforge_project:
|
50
|
-
rubygems_version: 2.
|
51
|
+
rubygems_version: 2.0.14
|
51
52
|
signing_key:
|
52
53
|
specification_version: 4
|
53
54
|
summary: MessageBird's REST API
|