Skip to content

Commit a938a6c

Browse files
authored
Adding Messages API SMS Basic Auth snippet (#121)
1 parent 9d4ad0e commit a938a6c

3 files changed

Lines changed: 41 additions & 88 deletions

File tree

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
source 'https://rubygems.org'
22

3-
gem 'dotenv', '2.7.6'
3+
gem 'vonage'
4+
gem 'dotenv'
45
gem 'faye-websocket', '0.11.0'
5-
gem 'vonage', '~> 7.28'
66
gem 'sinatra', '2.1.0'
77
gem 'sinatra-contrib', '2.1.0'
88
gem 'rack-contrib', '2.3.0'

Gemfile.lock

Lines changed: 16 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,35 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
ast (2.4.2)
5-
base64 (0.2.0)
6-
byebug (11.1.3)
7-
connection_pool (2.5.0)
8-
daemons (1.4.1)
9-
dotenv (2.7.6)
10-
eventmachine (1.2.7)
11-
faye-websocket (0.11.0)
12-
eventmachine (>= 0.12.0)
13-
websocket-driver (>= 0.5.1)
14-
json (2.10.1)
15-
jwt (2.10.1)
4+
base64 (0.3.0)
5+
connection_pool (3.0.2)
6+
dotenv (3.2.0)
7+
jwt (3.1.2)
168
base64
17-
language_server-protocol (3.17.0.4)
18-
lint_roller (1.1.0)
19-
multi_json (1.15.0)
209
multipart-post (2.4.1)
21-
mustermann (1.1.2)
22-
ruby2_keywords (~> 0.0.1)
23-
net-http-persistent (4.0.5)
24-
connection_pool (~> 2.2)
25-
parallel (1.26.3)
26-
parser (3.3.7.1)
27-
ast (~> 2.4.1)
28-
racc
29-
phonelib (0.10.4)
30-
racc (1.8.1)
31-
rack (2.2.11)
32-
rack-contrib (2.3.0)
33-
rack (~> 2.0)
34-
rack-protection (2.1.0)
35-
rack
36-
rainbow (3.1.1)
37-
regexp_parser (2.10.0)
38-
rexml (3.4.1)
39-
rubocop (1.72.2)
40-
json (~> 2.3)
41-
language_server-protocol (~> 3.17.0.2)
42-
lint_roller (~> 1.1.0)
43-
parallel (~> 1.10)
44-
parser (>= 3.3.0.2)
45-
rainbow (>= 2.2.2, < 4.0)
46-
regexp_parser (>= 2.9.3, < 3.0)
47-
rubocop-ast (>= 1.38.0, < 2.0)
48-
ruby-progressbar (~> 1.7)
49-
unicode-display_width (>= 2.4.0, < 4.0)
50-
rubocop-ast (1.38.0)
51-
parser (>= 3.3.1.0)
52-
ruby-progressbar (1.13.0)
53-
ruby2_keywords (0.0.5)
54-
sinatra (2.1.0)
55-
mustermann (~> 1.0)
56-
rack (~> 2.2)
57-
rack-protection (= 2.1.0)
58-
tilt (~> 2.0)
59-
sinatra-contrib (2.1.0)
60-
multi_json
61-
mustermann (~> 1.0)
62-
rack-protection (= 2.1.0)
63-
sinatra (= 2.1.0)
64-
tilt (~> 2.0)
65-
sorbet-runtime (0.5.11834)
66-
thin (1.8.0)
67-
daemons (~> 1.0, >= 1.0.9)
68-
eventmachine (~> 1.0, >= 1.0.4)
69-
rack (>= 1, < 3)
70-
tilt (2.6.0)
71-
unicode-display_width (3.1.4)
72-
unicode-emoji (~> 4.0, >= 4.0.4)
73-
unicode-emoji (4.0.4)
74-
vonage (7.29.1)
10+
net-http-persistent (4.0.8)
11+
connection_pool (>= 2.2.4, < 4)
12+
phonelib (0.10.16)
13+
rexml (3.4.4)
14+
sorbet-runtime (0.6.12914)
15+
vonage (7.34.0)
7516
multipart-post (~> 2.0)
7617
net-http-persistent (~> 4.0, >= 4.0.2)
7718
phonelib
7819
rexml
7920
sorbet-runtime (~> 0.5)
8021
vonage-jwt (~> 0.2.0)
8122
zeitwerk (~> 2, >= 2.2)
82-
vonage-jwt (0.2.0)
83-
jwt (~> 2)
84-
websocket-driver (0.7.7)
85-
base64
86-
websocket-extensions (>= 0.1.0)
87-
websocket-extensions (0.1.5)
88-
zeitwerk (2.7.2)
23+
vonage-jwt (0.2.1)
24+
jwt (>= 2.0, < 4.0)
25+
zeitwerk (2.7.4)
8926

9027
PLATFORMS
9128
ruby
9229

9330
DEPENDENCIES
94-
byebug (~> 11.0)
95-
dotenv (= 2.7.6)
96-
faye-websocket (= 0.11.0)
97-
rack-contrib (= 2.3.0)
98-
rubocop
99-
sinatra (= 2.1.0)
100-
sinatra-contrib (= 2.1.0)
101-
thin (= 1.8.0)
102-
vonage (~> 7.28)
31+
dotenv
32+
vonage
10333

10434
BUNDLED WITH
105-
2.2.3
35+
2.6.2
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
require 'dotenv/load'
2+
require 'vonage'
3+
4+
VONAGE_API_KEY = ENV['VONAGE_API_KEY']
5+
VONAGE_API_SECRET = ENV['VONAGE_API_SECRET']
6+
SMS_SENDER_ID = ENV['SMS_SENDER_ID']
7+
MESSAGES_TO_NUMBER = ENV['MESSAGES_TO_NUMBER']
8+
9+
client = Vonage::Client.new(
10+
api_key: VONAGE_API_KEY,
11+
api_secret: VONAGE_API_SECRET,
12+
authentication_preference: :basic
13+
)
14+
15+
message = client.messaging.sms(
16+
message: "A SMS message sent using the Vonage Messages API"
17+
)
18+
19+
client.messaging.send(
20+
from: SMS_SENDER_ID,
21+
to: MESSAGES_TO_NUMBER,
22+
**message
23+
)

0 commit comments

Comments
 (0)