33require 'uri'
44
55require 'messagebird/balance'
6+ require 'messagebird/contact'
67require 'messagebird/error'
78require 'messagebird/hlr'
89require 'messagebird/http_client'
9- require 'messagebird/verify'
10+ require 'messagebird/list'
11+ require 'messagebird/lookup'
1012require 'messagebird/message'
13+ require 'messagebird/verify'
1114require 'messagebird/voicemessage'
12- require 'messagebird/lookup'
1315
1416module MessageBird
1517 class ErrorException < StandardError
@@ -32,6 +34,8 @@ def initialize(access_key = nil, http_client = nil)
3234
3335 def request ( method , path , params = { } )
3436 response_body = @http_client . request ( method , path , params )
37+ return if response_body . empty?
38+
3539 json = JSON . parse ( response_body )
3640
3741 # If the request returned errors, create Error objects and raise.
@@ -134,5 +138,28 @@ def lookup_hlr(phoneNumber, params={})
134138 HLR . new ( request ( :get , "lookup/#{ phoneNumber } /hlr" , params ) )
135139 end
136140
141+ def contact_create ( phoneNumber , params = { } )
142+ Contact . new ( request (
143+ :post ,
144+ 'contacts' ,
145+ params . merge ( { :msisdn => phoneNumber . to_s } ) ) )
146+ end
147+
148+ def contact ( id )
149+ Contact . new ( request ( :get , "contacts/#{ id } " ) )
150+ end
151+
152+ def contact_delete ( id )
153+ request ( :delete , "contacts/#{ id } " )
154+ end
155+
156+ def contact_update ( id , params = { } )
157+ request ( :patch , "contacts/#{ id } " , params )
158+ end
159+
160+ def contact_list ( limit = 0 , offset = 0 )
161+ List . new ( Contact , request ( :get , "contacts?limit=#{ limit } &offset=#{ offset } " ) )
162+ end
163+
137164 end
138165end
0 commit comments