Skip to content

Commit 72ae098

Browse files
committed
Merge pull request #5 from messagebird/lookup
Adding the new Lookup API endpoints
2 parents 9181be0 + ffe5746 commit 72ae098

6 files changed

Lines changed: 200 additions & 1 deletion

File tree

examples/lookup.rb

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/usr/bin/env ruby
2+
3+
$:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib/')
4+
require 'messagebird'
5+
6+
# ACCESS_KEY = 'YOUR KEY HERE'
7+
# PHONE_NUMBER = '+31612345678'
8+
9+
unless defined?(ACCESS_KEY)
10+
puts 'You need to set an ACCESS_KEY constant in this file'
11+
exit 1
12+
end
13+
14+
unless defined?(PHONE_NUMBER)
15+
puts 'You need to set an PHONE_NUMBER constant in this file'
16+
end
17+
18+
begin
19+
# Create a MessageBird client with the specified ACCESS_KEY.
20+
client = MessageBird::Client.new(ACCESS_KEY)
21+
22+
# Fetch the HLR object for the specified HLR_ID.
23+
lookup = client.lookup(PHONE_NUMBER)
24+
25+
# Print the object information.
26+
puts
27+
puts "The following information was returned as an HLR object:"
28+
puts
29+
puts " href : #{lookup.href}"
30+
puts " countryCode : #{lookup.countryCode}"
31+
puts " countryPrefix : #{lookup.countryPrefix}"
32+
puts " phoneNumber : #{lookup.phoneNumber}"
33+
puts " type : #{lookup.type}"
34+
35+
puts " formats :"
36+
puts " e164 : #{lookup.formats.e164}"
37+
puts " international : #{lookup.formats.international}"
38+
puts " national : #{lookup.formats.national}"
39+
puts " rfc3966 : #{lookup.formats.rfc3966}"
40+
41+
unless lookup.hlr.nil?
42+
puts " hlr :"
43+
puts " id : #{lookup.hlr.id}"
44+
puts " href : #{lookup.hlr.href}"
45+
puts " msisdn : #{lookup.hlr.msisdn}"
46+
puts " reference : #{lookup.hlr.reference}"
47+
puts " status : #{lookup.hlr.status}"
48+
puts " createdDatetime : #{lookup.hlr.createdDatetime}"
49+
puts " statusDatetime : #{lookup.hlr.statusDatetime}"
50+
end
51+
52+
rescue MessageBird::ErrorException => ex
53+
puts
54+
puts 'An error occured while requesting the lookup:'
55+
puts
56+
57+
ex.errors.each do |error|
58+
puts " code : #{error.code}"
59+
puts " description : #{error.description}"
60+
puts " parameter : #{error.parameter}"
61+
puts
62+
end
63+
end

examples/lookup_hlr.rb

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#!/usr/bin/env ruby
2+
3+
$:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib/')
4+
require 'messagebird'
5+
6+
# ACCESS_KEY = 'YOUR KEY HERE'
7+
# PHONE_NUMBER = '+31612345678'
8+
9+
unless defined?(ACCESS_KEY)
10+
puts 'You need to set an ACCESS_KEY constant in this file'
11+
exit 1
12+
end
13+
14+
unless defined?(PHONE_NUMBER)
15+
puts 'You need to set an PHONE_NUMBER constant in this file'
16+
exit 1
17+
end
18+
19+
begin
20+
# Create a MessageBird client with the specified ACCESS_KEY.
21+
client = MessageBird::Client.new(ACCESS_KEY)
22+
23+
# Do a new HLR lookup.
24+
hlr = client.lookup_hlr(PHONE_NUMBER)
25+
26+
# Print the object information.
27+
puts
28+
puts "The following information was returned as an HLR object:"
29+
puts
30+
puts " id : #{hlr.id}"
31+
puts " href : #{hlr.href}"
32+
puts " msisdn : #{hlr.msisdn}"
33+
puts " reference : #{hlr.reference}"
34+
puts " status : #{hlr.status}"
35+
puts " createdDatetime : #{hlr.createdDatetime}"
36+
puts " statusDatetime : #{hlr.statusDatetime}"
37+
puts
38+
39+
rescue MessageBird::ErrorException => ex
40+
puts
41+
puts 'An error occured while requesting an HLR object:'
42+
puts
43+
44+
ex.errors.each do |error|
45+
puts " code : #{error.code}"
46+
puts " description : #{error.description}"
47+
puts " parameter : #{error.parameter}"
48+
puts
49+
end
50+
end

examples/lookup_hlr_create.rb

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#!/usr/bin/env ruby
2+
3+
$:.unshift File.expand_path(File.dirname(__FILE__) + '/../lib/')
4+
require 'messagebird'
5+
6+
# ACCESS_KEY = 'YOUR KEY HERE'
7+
# PHONE_NUMBER = '+31612345678'
8+
9+
unless defined?(ACCESS_KEY)
10+
puts 'You need to set an ACCESS_KEY constant in this file'
11+
exit 1
12+
end
13+
14+
unless defined?(PHONE_NUMBER)
15+
puts 'You need to set an PHONE_NUMBER constant in this file'
16+
exit 1
17+
end
18+
19+
begin
20+
# Create a MessageBird client with the specified ACCESS_KEY.
21+
client = MessageBird::Client.new(ACCESS_KEY)
22+
23+
# Create a new HLR object.
24+
hlr = client.lookup_hlr_create(PHONE_NUMBER, :reference => 'Reference')
25+
26+
# Print the object information.
27+
puts
28+
puts "The following information was returned as an HLR object:"
29+
puts
30+
puts " id : #{hlr.id}"
31+
puts " href : #{hlr.href}"
32+
puts " msisdn : #{hlr.msisdn}"
33+
puts " reference : #{hlr.reference}"
34+
puts " status : #{hlr.status}"
35+
puts " createdDatetime : #{hlr.createdDatetime}"
36+
puts " statusDatetime : #{hlr.statusDatetime}"
37+
puts
38+
39+
rescue MessageBird::ErrorException => ex
40+
puts
41+
puts 'An error occured while requesting an HLR object:'
42+
puts
43+
44+
ex.errors.each do |error|
45+
puts " code : #{error.code}"
46+
puts " description : #{error.description}"
47+
puts " parameter : #{error.parameter}"
48+
puts
49+
end
50+
end

lib/messagebird.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
$:.unshift(libdir) unless $:.include?(libdir)
33

44
module MessageBird
5-
CLIENT_VERSION = '1.2.2'
5+
CLIENT_VERSION = '1.3.0'
66
ENDPOINT = 'https://rest.messagebird.com'
77
end
88

lib/messagebird/client.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
require 'messagebird/otp'
99
require 'messagebird/message'
1010
require 'messagebird/voicemessage'
11+
require 'messagebird/lookup'
1112

1213
module MessageBird
1314
class ErrorException < StandardError
@@ -137,5 +138,18 @@ def voice_message_create(recipients, body, params={})
137138
'voicemessages',
138139
params.merge({ :recipients => recipients, :body => body.to_s })))
139140
end
141+
142+
def lookup(phoneNumber, params={})
143+
Lookup.new(request(:get, "lookup/#{phoneNumber}", params))
144+
end
145+
146+
def lookup_hlr_create(phoneNumber, params={})
147+
HLR.new(request(:post, "lookup/#{phoneNumber}/hlr", params))
148+
end
149+
150+
def lookup_hlr(phoneNumber, params={})
151+
HLR.new(request(:get, "lookup/#{phoneNumber}/hlr", params))
152+
end
153+
140154
end
141155
end

lib/messagebird/lookup.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
require 'time'
2+
3+
require 'messagebird/base'
4+
5+
module MessageBird
6+
class Lookup < MessageBird::Base
7+
attr_accessor :href, :countryCode, :countryPrefix, :phoneNumber, :type
8+
attr_reader :formats, :hlr
9+
10+
def formats=(newFormats)
11+
@formats = Formats.new(newFormats)
12+
end
13+
14+
def hlr=(newHLR)
15+
@hlr = HLR.new(newHLR)
16+
end
17+
end
18+
19+
class Formats < MessageBird::Base
20+
attr_accessor :e164, :international, :national, :rfc3966
21+
end
22+
end

0 commit comments

Comments
 (0)